Config Mullti Host Wordpress
1 min read

Config Mullti Host Wordpress

ตั้งค่าให้เว็บ wordpress สามารถมีหลาย domain name ได้แต่ยังอยู่ใน server เดียวกัน และเป็นเว็บเดียวกัน

เริ่มจากเข้าไปสร้างไฟล์ config nginx ของตัวเว็บโดเมนเนมนั้น

nano /etc/nginx/sites-available/ply01.unddev.net

คัดลอก file config ใส่ลงไปในไฟล์ และเปลี่ยน server name เป็น domain name ที่ต้องการ

server {
listen 80;
root /var/www/html/wordpress;
index index.php index.html index.htm;
server_name ply-01.unddev.net;

access_log /var/log/nginx/wordpress_access.log;
error_log /var/log/nginx/wordpress_error.log;

client_max_body_size 64M;

location / {
try_files $uri $uri/ /index.php?$args;
}

location ~ .php$ {
try_files $uri =404;
include /etc/nginx/fastcgi_params;
fastcgi_read_timeout 3600s;
fastcgi_buffer_size 128k;
fastcgi_buffers 4 128k;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_pass unix:/run/php/php7.4-fpm.sock;
fastcgi_index index.php;
}

}

หลังจากนั้นจะใช้คำสั่ง ln เพื่อสร้าง soft link ไฟล์จากโฟลเดอร์ site-available ไปยัง site-enable เพื่อที่จะใช้งานหน้าเว็บได้

ln -s /etc/nginx/site-available/ply01.unddev.net /etc/nginx/site-enabled/

หลังจากนั้น restart nginx

systemctl restart nginx.service

ตรวจสอบการทำงานของ nginx ว่าระบบมีอะไร error หรือไม่

systemctl status nginx.service

domain name ที่2 ก็ทำเหมือนวิธีแรกแค่เปลี่ยนชื่อไฟล์ และ server name

ตั้งค่า  url ให้กับเว็บ wordpress

ไปที่ตั้งค่า และ ทั่วไป หลังจากนั้นใส่ url ลงไปในที่อยู่

เสร็จแล้วมันก็จะให้ login ใหม่ ซึ่งตรงนี้จะมีปัญหาคือ ล็อกอินเข้าไปไม่ได้ พาสเวิร์ดไม่ถูกต้อง จะแก้ปัญหาโดยเข้าลิงค์

http://ply-01.unddev.net/login

แล้ว login เข้าไปใหม่ก็จะเข้าได้แล้ว

และถ้าหากว่าเข้าผ่าน domain name แล้วหน้าเว็บไม่ขึ้นและดูใน error log ขึ้น http status code เป็น 302 (Redirect) ก็จะต้องแก้ไข host file ในเครื่องของตนเอง

C:\Windows\System32\drivers\etc\hosts