WordPress Multisite là một tính năng của WordPress cho phép thiết lập và quản lý mạng lưới (Network) nhiều website trên 1 mã nguồn gốc WP duy nhất. Thông qua tính năng này, việc tạo lập và quản lý hệ thống site trên cùng Hosting/VPS trở nên đơn giản và dễ dàng hơn bao giờ hết.
Ví dụ, với hocvps.com ban đầu, bạn hoàn toàn có thể thiết lập và quản lý hệ thống subdomain bao gồm nginx.hocvps.com – chuyên về Nginx webserver, apache.hocvps.com – chuyên về Apache… với nội dung hoàn toàn khác biệt trên cùng 1 mã nguồn WP ban đầu.
Hoặc, bạn có thể thiết lập Landing page công ty cùng hệ thống subsite về những nhóm hàng lớn.
– Các lưu ý về hệ thống WordPress Multisite:
- Quản lý hệ thống dễ dàng và tập trung. Việc quản lý cũng như cập nhật phiên bản WP, Plugin, Theme của toàn bộ hệ thống trở nên đơn giản và thuận tiện hơn. Bên cạnh đó, WP Multisite giúp tiết kiệm tài nguyên, rõ ràng việc cài đặt 1 WP cho nhiều site sẽ nhẹ hơn là cài đặt mỗi site một bản WP.
- Về data: Toàn bộ hệ thống chung 1 thư mục WP. Dữ liệu upload của site chính lưu tại
wp-content/uploads
còn subsite tạiwp-content/uploads/sites/id/
(mỗi subsite 1 ID – 1 thư mục) - Về database: Toàn bộ hệ thống chung 1 database. Các subsite được sao chép thêm các table cho riêng mình, bao gồm wp_2_commentmeta, wp_2_comments, wp_2_links, wp_2_options, wp_2_postmeta, wp_2_posts, wp_2_termmeta, wp_2_terms, wp_2_term_relationships, wp_2_term_taxonomy (tương tự với subsite thứ 3, 4…). Vì vậy, cùng database nhưng mỗi subsite sẽ có nội dung riêng, theme riêng.
- Về domain, bạn hoàn toàn có thể map domain riêng cho từng subsite, ví dụ script-vps.com tương đương script.hocvps.com.
- WP Multisite chỉ kích hoạt trên WP được cài đặt tại thư mục gốc
root
của web(ví dụ/public_html/
), không phải trong thư mục con. Đồng thời WordPress address (URL) phải là domain (không phải localhost/IP).
Có thể thấy, ưu điểm lớn nhất của WP Multisite chính là quản lý tập trung. Nếu quản lý hệ thống nhiều site riêng biệt trên mã nguồn WP, bạn hoàn toàn có thể thiết lập 1 Network Multisite rồi tiến hành MapDomain. Khi đó, chỉ cần quản lý tập trung tại một mã nguồn WP duy nhất. Ở phương diện người dùng, đây vẫn là các site riêng biệt.
Tuy vậy, hạn chế của WP Multisite chính là sự riêng rẽ, tách biệt. Bạn không nên sử dụng WP Multisite trong các trường hợp sau:
- Chạy nhiều site trên nhiều Hosting/VPS khác nhau.
- Bạn cần database riêng (lý do bảo mật…). Tất cả các site trong Network Multisite sẽ chung 1 database, chỉ khác biệt các table trong đó.
- Bạn có ý định sau này chuyển riêng vài subsite sang 1 hosting/VPS khác
Như vậy, các bạn đã hiểu phần nào hệ thống WP Multisite cùng ưu, nhược điểm của nó. Giờ mình sẽ tiến hành cài đặt trên VPS sử dụng HocVPS Script (các hệ thống khác hoàn toàn tương tự, chỉ cần chú ý phần cấu hình cho websever Nginx). Trước khi thao tác nhớ backup site nhé.
1. Cài đặt WordPress Multisite.
_ Để kích hoạt Multisite Network, bạn chỉnh sửa tập tin wp-config.php
(nằm trong thư mục gốc của site) bằng cách chèn đoạn sau vào bên dưới hàm PHP < ?php
define( 'WP_ALLOW_MULTISITE', true );
_ Sau đó, restart PHP-FPM để xóa Opcache: # service php-fpm restart
_ Truy cập trang quản trị /wp-admin/
mục Tools – Network Setup để bắt đầu cài đặt:
Trong đó, các tùy chọn về đường dẫn của hệ thống sites trong Network:
- Sub-domain: Các subsite có địa chỉ dạng subdomain của site chính, ví dụ
xxx.hocvps.com
Đây là kiểu thiết lập thường thấy và là mục đích chính khi sử dụng Multisite của đa số người dùng. Bạn cần thiết lập Subdomain Record trỏ về IP VPS trong quản lý DNS. Wildcard record*
có thể thay cho toàn bộ các subdomain.
- Sub-directory: Các subsite có địa chỉ dạng thư mục con của site chính, ví dụ
hocvps.com/xxx
Nếu bạn thực sự cần thiết lập dạng này, hãy cài đặt trên 1 hệ thống WP mới để tránh xung đột với các URL có sẵn.
_ Thông báo Create a Network of WordPress Sites hiện ra. Đối với hệ thống sử dụng Nginx webserver (HocVPS, CentminMod…) các bạn chỉ cần thực hiện bước 1 theo yêu cầu.
Cụ thể, chỉnh sửa wp-config.php
bằng cách thêm đoạn yêu cầu vào phía trên dòng /* That’s all, stop editing! Happy blogging. */ rồi lưu lại.
define('MULTISITE', true); define('SUBDOMAIN_INSTALL', true); define('DOMAIN_CURRENT_SITE', 'hocvps.com'); define('PATH_CURRENT_SITE', '/'); define('SITE_ID_CURRENT_SITE', 1); define('BLOG_ID_CURRENT_SITE', 1);
Lưu ý: Nếu thông báo Warning! Wildcard DNS may not be configured correctly thì các bạn kiểm tra lại Wildcard Record *
đã được trỏ đúng đến IP VPS chưa.
_ Thiết lập thành công, truy cập lại hệ thống qua /wp-admin/
.
2. Tạo Subsite trong hệ thống Multisite.
_ Để tạo subsite trong hệ thống WP Multisite, các bạn truy cập trang quản lý /wp-admin/
phần My Sites – Network Admin – Sites – Add new đồng thời điền đầy đủ thông tin theo yêu cầu
3. Cấu hình Nginx Webserver cho domain.
_ Sau khi tạo subsite thành công, bạn cần cấu hình Nginx Webserver để toàn bộ site chính và subsite hiển thị cùng 1 thư mục root
web trên VPS. Ví dụ, site chính hocvps.com
và các subsite *.hocvps.com
cùng thư mục root web là /home/hocvps.com/public_html
:
server_name hocvps.com *.hocvps.com; root /home/hocvps.com/public_html;
Để thực hiện, bạn có thể làm theo 1 trong 2 cách dưới. Với kinh nghiệm cá nhân, các bạn nên cấu hình Nginx riêng cho từng subsite (cách 2) để tiện quản lý và thiết lập.
- Cách 1: Thiết lập 1 cấu hình Nginx duy nhất cho toàn bộ hệ thống WP Multisite.
- Cách 2: Thiết lập từng cấu hình Nginx riêng cho mỗi site chính và các subsite.
3.1. Cấu hình Nginx duy nhất cho toàn bộ hệ thống WP Multisite.
Bạn cần chỉnh sửa tại block server quy định thư mục root
của site để nhận toàn bộ các server_name
(bao gồm site chính và các subsite).
- Ưu điểm: Dễ thao tác, chỉnh sửa 1 lần đáp ứng cho toàn bộ site trong hệ thống Multisite Network. Cấu hình nhanh HTTPS với Wildcard SSL.
- Nhược điểm: Không có cấu hình riêng của từng subsite, khó quản lý việc Rewrite URL hay cài đặt SSL riêng (mỗi subsite 1 SSL).
Hệ thống HocVPS lưu Nginx Conf tại /etc/nginx/conf.d/
. Cụ thể:
server server css)$
3.2. Cấu hình Nginx riêng cho từng Subsite.
Với phương pháp này, mỗi subsite sẽ có 1 cấu hình Nginx riêng biệt, giúp cho việc thiết lập RewriteURL hay cài đặt SSL sẽ trở nên dễ dàng hơn. Trên kinh nghiệm cá nhân, các bạn nên sử dụng cách này để cấu hình Nginx webserver cho WP Multisite.
Cụ thể, bạn cần sao chép cấu hình Nginx của site chính ra file cấu hình riêng cho subsite, đồng thời chỉnh sửa server_name
và rule rewrite
từng subsite cho phù hợp.
server server docx
server server js
server server pdf
3.3. Cấu hình Webserver cho SSL.
Thông thường, chứng chỉ SSL các bạn mua là Domain Validation SSL – chỉ áp dụng cho domain được đăng kí, không bao gồm các tên miền cấp dưới, ví dụ chỉ áp dụng cho hocvps.com
.
Bên cạnh đó còn có chứng chỉ Wildcard SSL hỗ trợ bảo mật cho toàn bộ các tên miền cấp dưới, ví dụ áp dụng cho hocvps.com
và toàn bộ các subdomain dạng *.hocvps.com
Như vậy, để bảo mật cho toàn bộ hệ thống, bạn cần sử dụng chứng chỉ Wildcard SSL hoặc mỗi subsite 1 Domain Validation SSL để cấu hình SSL.
hocvps.com www.hocvps.com site1.hocvps.com site2.hocvps.com
Hoặc, bạn có thể issue cert riêng cho từng subsite sử dụng cấu hình Nginx riêng (cách 3.2)
Về cấu hình cụ thể phần SSL, các bạn tham khảo hướng dẫn cài đặt chứng chỉ SSL hoặc Let’s Encrypt
Trong bài viết này, mình sẽ chỉ đề cập cách cấu hình Redirect về HTTPS cho cả hệ thống.
– Nếu bạn sử dụng 1 cấu hình Nginx duy nhất cho cả hệ thống WP Multisite (cách 3.1)
server
server
server {
listen 443 ssl http2;
# access_log off;
access_log /home/hocvps.com/logs/access.log;
# error_log off;
error_log /home/hocvps.com/logs/error.log;
root /home/hocvps.com/public_html;
index index.php index.html index.htm;
server_name hocvps.com *.hocvps.com;
#Paste đoạn SSL xuống dưới
– Nếu bạn thiết lập cấu hình Nginx riêng cho từng Subsite (cách 3.2), bạn cần có chứng chỉ SSL cho riêng subsite đó và thiết lập SSL trong từng file cấu hình Nginx riêng như bài hướng dẫn. Ví dụ cấu hình Nginx của site1.hocvps.com
server
server
server {
listen 443 ssl http2;
# access_log off;
access_log /home/hocvps.com/logs/access.log;
# error_log off;
error_log /home/hocvps.com/logs/error.log;
root /home/hocvps.com/public_html;
index index.php index.html index.htm;
server_name site1.hocvps.com;
#Paste đoạn SSL xuống dưới
Như vậy, về cơ bản các bạn đã hiểu cách thiết lập và cấu hình hệ thống website sử dụng WordPress Multisite. Hi vọng các bạn có thể áp dụng thành thạo cho hệ thống của mình. Nếu có vấn đề gì, hãy comment hỏi bên dưới nhé.
Nguồn: https://hocvps.com/kich-hoat-wordpress-multisite/
Viet Hung
Cái này tài nguyên của bạn này yếu thì không nên dùng.