WordPress Installation on Azure

ไม่ได้แตะ wordpress มานาน พอต้องย้ายมา Azure ก็ทำเอาวุ่นวายไปหลายวันเลย แต่รวมๆ แล้วก็ต้องถือว่า Azure ใช้ง่ายกว่า Google Cloud และ AWS อยู่พอสมควร เพราะมี UI ที่ user friendly กว่า และ instance ต่างๆ ก็ pre-config มาได้ดี ทำให้ทำงานแล้วมีปัญหาน้อย

.htaccess 

แต่กว่าจะติดตั้งเสร็จจนแก้ปัญหาทุกอย่างได้จริงๆ ก็ใช้เวลานานอยู่ เลยต้องขอบันทึกเคล็ดลับทั้งหมดเอาไว้สักหน่อย เผื่อต้องใช้อีก

Firewall ที่ควรเซ็ต

    • Inbound เปิดพอร์ต TCP/UDP 80, 443, 20-22
    • Outbound เปิด TCP 80,443,465,587,110,995,143,993
    • เวลาเซ็ต ต้องเซ็ตฝั่ง destination ส่วน source port เป็น any เสมอ

Permalinks

ควรเซ็ต Permalinks เป็น numeric เพื่อให้ page ต่างๆ มีชื่อสั้นๆ ได้ 

File permission 

chown www-data:www-data  -R *  find . -type d -exec chmod 755 {} \;   
find . -type f -exec chmod 644 {} \;
chmod 444 .htaccess
chmod 444 wp-config.php
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

 

wp-config.php 

define ('WP_HOME', 'https://coziplace.com');
define ('WP_SITEURL', 'https://coziplace.com');
define('FORCE_SSL_ADMIN', true);
if (strpos($_SERVER['HTTP_X_FORWARDED_PROTO'], 'https') !== false)
       $_SERVER['HTTPS']='on';

(ต้องอยู่ก่อนบรรทัด ABSPATH ทั้งหลาย)

คำสั่งที่อาจมีประโยชน์ก็คือ

define('FS_METHOD', 'direct');

แต่ถ้าต้องการเขียนข้อมูลด้วย FTP ก็ต้องใช้คำสั่งนี้แทน

define('FS_METHOD','ftpext');
define('WP_DEBUG', false);
define('FTP_USER', 'XXXXXX');
define('FTP_PASS','XXXXXX');
define('FTP_HOST','localhost:21');
define('FTP_SSL', false);

อย่าลืมติดตั้ง vsftp และสร้าง ftpuser

sudo adduser ftpuser

ปลั้กอินที่มีประโยชน์คือ

  • better find&replace ใช้แทนที่พวก missing links ต่างๆ หรือพวกที่ยังไม่เป็น htttps แบบเรียลไทม์ 
  • Anti-spam bee แทน Akimet ได้และฟรีด้วย 

(ควรสร้าง swapfile ให้ VM ด้วย สัก 2 เท่าของหน่วยความจำด้วยคำสั่ง swapon)

 

Leave a Reply

Your email address will not be published. Required fields are marked *