WordPress Multisite là chức năng có sẵn của WP giúp chúng ta có thể chạy nhiều website, trên duy nhất 1 Source và Database rất thuận tiện để quản lý.
Trước giờ thấy chỉ có hướng dẫn cài đặt WordPress Multisite trên Apache chứ không thấy hướng dẫn WordPress Multisite trên Nginx mà cụ thể là CentMinMod.
Cách làm thì cũng giống như trên các server bình thường như có cấu hình lại xíu.
Bước I. DNS Wildcard cho tên miền.
Add record là A – Hostname là * or @ – Value là IP của VPS
Bước II. Cài đặt CentMinMod
Xem hướng dẫn: Cách cài đặt Centminmod.
Đăng nhập MYSQL băng root.
mysql -u root -p
Tạo database.
CREATE DATABASE wordpress;
Tạo user và grant permissions đến database:
CREATE USER 'wordpress_user'@'localhost' IDENTIFIED BY 'password'; GRANT ALL PRIVILEGES ON wordpress.* TO 'wordpress_user'@'localhost';
Nhớ đổi mấy cái thông tin màu đỏ thành của riêng bạn
FLUSH PRIVILEGES; exit
Các thông tin cần nhớ
Database Name: wordpress Database User: wordpress_user Database Password: password
Bước III. Cài đặt WordPress Multisite
1.Download và cài đặt WP
wget https://wordpress.org/latest.tar.gz tar -xf latest.tar.gz mv wordpress/* /home/nginx/domains/websitecuaban.com/public/
2.Chmod để sau này cài đặt và update plugin.
chown -R www-data:www-data /home/nginx/domains/websitecuaban.com/public/
3.Truy cập vào website
https://websitecuaban.com/
4.Tiến hành cài đặt như thông thường
5.Edit file wp-config.php thêm đoạn code sau để kích hoạt tính năng Multisite
/* Multisite settings */ define( 'WP_ALLOW_MULTISITE', true );
Nhớ thêm trước dòng
/* That's all, stop editing! Happy blogging. */
6.Đăng nhập vào wp-admin
Tools > Network Setup chọn Sub-domains, Tùy chỉnh Network Title và click Install.
7.Thêm đoạn code sau vào wp-config.php
define('MULTISITE', true); define('SUBDOMAIN_INSTALL', true); define('DOMAIN_CURRENT_SITE', 'examplewp.com'); define('PATH_CURRENT_SITE', '/'); define('SITE_ID_CURRENT_SITE', 1); define('BLOG_ID_CURRENT_SITE', 1);
Vì trong nginx không sử dụng .htaccess nên bạn có thể bỏ qua bước add code vô .htaccess.
8. Đăng xuất wp-admin và đăng nhập lại
Từ bên trái của thanh admin toolbar click My Sites > Network Admin > Sites
9.Click Add New để thêm site mới.
Ví dụ mình thêm cái site là: site1.com, site2.com, siteN.com
khi thêm vào các site mới sẽ có dạng:
site1.websitecuaban.com site2.websitecuaban.com siteN.websitecuaban.com
10. Cài đặt plugin Domain Mapping -> cài đặt như bình thường.
Nhiệm vụ của plugin này là chuyển subdomain có dạng:
site1.websitecuaban.com -> site1.com site2.websitecuaban.com -> site2.com siteN.websitecuaban.com -> siteN.com
11. Sau khi cài đặt xong copy file sunrise.php từ trong plugin đến thư mục wp-content.
cp /home/nginx/domains/websitecuaban.com/public/wp-content/plugins/wordpress-mu-domain-mapping/sunrise.php /home/nginx/domains/websitecuaban.com/public/wp-content/
12. Sửa file wp-config.php và thêm dòng code sau trước /* That’s all, stop editing! Happy blogging. */.
define('SUNRISE', 'on');
lưu lại và làm mới trình duyệt
13. Settings > Domain Mapping thay đổi một số thông tin sau:
Uncheck Remote Login Check Permanent Redirect Uncheck Redirect administration pages to site's original domain
14. vào Settings > Domains
Nhập ID của các site đã add lúc trước.
Nhập Domain
Check vào Primary
Save
15. Tuy nhiên để cho WordPress Multisite hoạt động tốt với Plugin Domain Mapping bạn cần chỉnh sửa file sau:
nano /usr/local/nginx/conf/conf.d/wesitecuaban.com.conf
16.Tìm
server_name websitecuaban.com www.websitecuaban.com
17.Thêm vào sau:
server_name websitecuaban.com www.websitecuaban.com *.websitecuaban.com site1.com site2.com siteN.com;
18.Lưu lại và restart lại nginx
service nginx restart
Quản trị Network
https://websitecuaban.com/wp-admin/network/
Quản trị Wp-admin từng site
https://websitecuaban.com/wp-admin/ https://site1.com/wp-admin/ https://site2.com/wp-admin/ https://siteN.com/wp-admin/
done!