Day: November 26, 2012

  • วิธีย้ายบล็อก wordpress ไปเครื่องใหม่ชื่อโดเมนเนมใหม่

    บันทึกขั้นตอน (ตัวอย่าง) ในการย้ายบล็อก wordpress จากเครื่องเดิม sysadmin.in.psu.ac.th ไปยังเครื่องใหม่ โดเมนเนมใหม่ sysadmin.psu.ac.th เนื่องจากเครื่องเดิมจะมี resources ไม่เพียงพอ และต้องการเปลี่ยนชื่อโดเมนเนมอันใหม่ที่หลายคนว่าดูเหมาะสมและชื่อสั้นกว่า งานนี้บอกได้เลยว่าเล่นเอาเหงื่อตกเลย เพราะคิดว่าย้ายแบบ Joomla! ก็น่าจะได้ ซึ่งเป็นวิธีที่ใช้ไม่ได้ครับ สุดท้ายสำเร็จกับการติดตั้ง Duplicator Plugin ไว้ที่เครื่องเดิมก่อน แล้วสร้าง backup ไว้นำมา restore ลงในเครื่องใหม่

    เนื้อหาค่อนข้างยาวสักนิด ผมมีเจตนาอยากให้เห็นว่าการทำเว็บไซต์ขึ้นมาหนึ่งอัน เราต้องใช้ความรู้พอสมควร และที่ทำส่วนใหญ่ก็อ่านจากเว็บไซต์ของพี่วิภัทร นั่นคือ opensource.psu.ac.th นี่แหล่ะครับ

    1. เริ่มต้นจากกำหนดจำนวน resources ที่จำเป็นใช้ เพราะว่าจะไปขอใช้ Virtual Machine ของศูนย์คอมพิวเตอร์ ที่ขอไว้คือ RAM 2 GB, Hard disk 40 GB, OS Ubuntu 12.04.1, TCP Port 80,443
      แล้วกรอกในแบบฟอร์ม
    2. งานบริการเซิร์ฟเวอร์ก็สร้าง VM ให้ที่ทำการอัปเดต OS ให้แล้ว แจ้ง username ให้เข้าใช้งานผ่าน ssh
    3. เมื่อ ssh เข้าได้แล้ว เข้าทำงานในสิทธิ root ด้วยคำสั่ง
      sudo su –
    4. ทำการติดตั้ง Apps ที่จำเป็น ผมเลือก LAMP คือชุดรวมของ Linux, Apache, MySQL และ PHP ที่จำเป็นต้องใช้กับ wordpress ด้วยคำสั่ง
      tasksel
      เลือก LAMP
      จะมีคำถาม รหัสผ่านของ MySQL root ให้ตั้งที่จะจำได้
    5. ติดตั้งส่วนเพิ่มเติมของ php เพิ่มด้วยคำสั่ง
      apt-get install php5-gd php5-imap php5-ldap php5-radius
    6. ติดตั้ง unzip เพิ่มด้วยคำสั่ง
      apt-get install unzip
    7. ปรับแต่ง apache2 ให้ใช้งานแบบ module rewrite
      sudo a2enmod rewrite
    8. ต่อไปก็มาถึงเรื่องการปรับแต่ง apache2 ให้มี Virtual host แบบเปิด port สำหรับ http และ redirect http โดยแก้ไขไฟล์ /etc/apache2/sites-available/default
      <VirtualHost *:80>
      ServerAdmin webmaster@localhost
      ServerName sysadmin.psu.ac.th           <==== เพิ่มบรรทัดนี้
      DocumentRoot /var/www/wordpress

      <Directory /var/www/wordpress>
      Options Indexes FollowSymLinks MultiViews
      AllowOverride All             <==== แก้ไขบรรทัดนี้จาก None เป็น All
      Order allow,deny
      allow from all
      </Directory>
      …     ที่เหลือเหมือนเดิม
      </VirtualHost>
      เพิ่มบรรทัดข้างล่างนี้ เพื่อให้ยังคงมีการ redirect ไปยังที่ใหม่หากใช้ชื่อเก่า
      <VirtualHost *:80>
      ServerName sysadmin.in.psu.ac.th
      Redirect / http://sysadmin.psu.ac.th/
      </VirtualHost>
    9. ต่อไปมาถึงเรื่องการปรับแต่ง apache2 ให้มี Virtual host แบบเปิด port สำหรับ https
      สั่งเปิด module ssl ด้วยคำสั่ง
      a2enmod ssl
      คัดลอกแฟ้ม PSU SSL certificates (file_a.crt, file_b.key และ file_c.ca-bundle) มาเก็บไว้ในไดเรกทอรีที่สร้างนี้
      mkdir -p /etc/apache2/ssl
      mv /home/username/file_* /etc/apache2/ssl/
      แล้วปรับเปลี่ยนสิทธิของแฟ้มด้วยคำสั่ง
      chown -R root:root /etc/apache2/ssl/file_*.*
      chmod 600 /etc/apache2/ssl/file_*.*
      แล้วแก้ไขไฟล์ /etc/apache2/sites-available/default เพื่อจัดการเกี่ยวกับ https และ Certificates
      เพิ่มบรรทัดต่อท้ายไฟล์
      NameVirtualHost *:443
      <VirtualHost *:443>
      DocumentRoot /var/www/wordpress
      ServerName sysadmin.psu.ac.th
      SSLEngine on
      SSLCertificateFile /etc/apache2/ssl/file_a.crt
      SSLCertificateKeyFile /etc/apache2/ssl/file_b.key
      SSLCertificateChainFile /etc/apache2/ssl/file_c.ca-bundle
      </VirtualHost>
    10. ต้องสั่งรีสตาร์ท apache2 ดังนี้
      service apache2 restart
      (more…)