Hướng dẫn cách chạy WordPress Multisite trên CentMinMod

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 http://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

http://websitecuaban.com/

4.Tiến hành cài đặt như thông thường

wordpress_multisite

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

site

 

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

http://websitecuaban.com/wp-admin/network/

Quản trị Wp-admin từng site

http://websitecuaban.com/wp-admin/
http://site1.com/wp-admin/
http://site2.com/wp-admin/
http://siteN.com/wp-admin/

done!

Leave a Reply

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