- Trang chủ
- ›
- Multisite là gì và cách cài đặt WordPress Multisite trên Server
Multisite là gì và cách cài đặt WordPress Multisite trên Server
Cài đặt WordPress Multisite trên Server cho phép người dùng tạo một mạng lưới các trang web trên một bản cài đặt WordPress.
Tính năng của WordPress Multisite
- Bạn có thể chạy một mạng gồm nhiều blog và trang web WordPress từ một cài đặt WordPress.
- Có thể mở Mạng WordPress Multisite của bạn cho những người dùng khác để tạo tài khoản và nhận blog WordPress của riêng họ.
- Bạn có thể cài đặt các chủ đề và plugin và cung cấp chúng cho tất cả các trang web khác trên mạng. Tuy nhiên, các quản trị viên trang web khác trên mạng sẽ không có khả năng cài đặt các chủ đề hoặc plugin
- Bạn có thể thay đổi thay đổi chủ đề cho tất cả các trang web. Quản trị viên trang web không thể thay đổi chủ đề của họ.
Yêu cầu hệ thống khi kích hoạt WordPress Multisite trên Server
- 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.
- 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ại wp-content/uploads/sites/id/
- 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.
- 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).
Tuy nhiên WP Multisite cũng có những hạn chế, đó chính là sự riêng rẽ, tách biệt. Vì vậy một lời khuyên là bạn không nên sử dụng WP Multisite khi:
- 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
Cài đặt WordPress Multisite trên Server
_ Để 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. 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 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
>>> Toàn bộ quy trình cài đặt Windows trên HostHatch
>>> Dịch vụ cho thuê chỗ đặt máy chủ
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.
Để thực hiện, bạn có thể làm theo 1 trong 2 cách sau
- 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).
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.
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. 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.
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.
Hoặc, bạn có thể issue chứng chỉ 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
Bài viết này 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)
+ Cấu hình Nginx duy nhất cho cả hệ thống WP Multisite
– 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.
Như vậy, về cơ bản chúng ta đã biết cách cài đặt WordPress Multisite trên Server và áp dụng thành thạo cho hệ thống của mình. Chúc các bạn thành công