Cách lưu trữ nhiều trang web trong một cài đặt Wordpress duy nhất trên CentOS 7

theanh

Administrator
Nhân viên
Tài liệu này mô tả cách cài đặt và cấu hình nhiều site WordPress với phiên bản WordPress mới nhất trên CentOS 7 trong một phiên bản WordPress duy nhất. WordPress bắt đầu vào năm 2003 với một đoạn mã duy nhất để cải thiện kiểu chữ của bài viết hàng ngày và với số lượng người dùng ít hơn bạn có thể đếm trên đầu ngón tay và ngón chân. Kể từ đó, nó đã phát triển thành công cụ viết blog tự lưu trữ lớn nhất thế giới, được sử dụng trên hàng triệu site và được hàng chục triệu người xem mỗi ngày. Hướng dẫn này giải thích quy trình cài đặt WordPress 4.0 trên CentOS 7.0 dưới dạng hướng dẫn dễ làm theo.

1 Lưu ý sơ bộ​

Hướng dẫn này dựa trên máy chủ CentOS 7.0, vì vậy bạn nên thiết lập cài đặt máy chủ CentOS 7.0 cơ bản trước khi tiếp tục hướng dẫn này. Hệ thống phải có địa chỉ IP tĩnh. Trong hướng dẫn này, tôi sử dụng 192.168.0.100 làm địa chỉ IP và server1.example.com làm tên máy chủ. Bạn phải cài đặt máy chủ LAMP trong CentOS 7.0 như đã đề cập trong hướng dẫn để tiếp tục.

2 Khởi tạo cơ sở dữ liệu​

Tôi sẽ tạo cơ sở dữ liệu cho WordPress 4.0 như sau:
Mã:
mysql -u root -p
Ở đây chúng tôi thêm database=wordpressdb user=wordpressuser và password=wordpresspassword:
Mã:
TẠO CƠ SỞ DỮ LIỆU wordpressdb;
 TẠO NGƯỜI DÙNG wordpressuser@localhost ĐƯỢC XÁC ĐỊNH BỞI 'wordpresspassword';
 CẤP TẤT CẢ CÁC QUYỀN TRÊN wordpressdb.* CHO wordpressuser@localhost;


Tiến hành tiếp theo:
Mã:
XẢ QUYỀN;
 thoát
Khởi động lại dịch vụ
Mã:
service httpd restart
 service mariadb restart
Ngoài ra, bạn cần cho phép Firewall-cmd http và https như sau:
Mã:
firewall-cmd --permanent --zone=public --add-service=http 
 firewall-cmd --permanent --zone=public --add-service=https
 firewall-cmd --reload

3 Cài đặt WordPress 4.0​

Đầu tiên, chúng ta sẽ tạo một thư mục temp trong đó tôi sẽ tải xuống phiên bản mới nhất của WordPress như sau:


Mã:
mkdir temp
 cd temp
 yum install wget unzip net-tools
Mã:
wget http://wordpress.org/latest.zip


Tiếp tục nếu bạn muốn làm việc với hình ảnh, cài đặt plugin và cập nhật trang web bằng thông tin xác thực SSH, chúng ta sẽ cài đặt:
Mã:
yum install php-gd 
 service httpd restart
giải nén Wordpress 4.0 tệp zip trong thư mục:
Mã:
unzip -q latest.zip -d /var/www/html/
Bây giờ hãy cấp quyền thích hợp cho thư mục
Mã:
chown -R apache:apache /var/www/html/wordpress
 chmod -R 755 /var/www/html/wordpress
Ngoài ra, chúng ta cần tạo thủ công thư mục uploads bên dưới thư mục wp-content tại gốc tài liệu của mình. Đây sẽ là thư mục cha của nội dung của chúng ta:
Mã:
mkdir -p /var/www/html/wordpress/wp-content/uploads
Chúng ta cần cho phép chính máy chủ web ghi vào thư mục này. Chúng ta có thể thực hiện việc này bằng cách chỉ định quyền sở hữu nhóm của thư mục này cho máy chủ web của mình. Điều này sẽ cho phép máy chủ web tạo các tệp và thư mục bên dưới thư mục này, cho phép chúng ta tải nội dung lên máy chủ. Tiến hành như sau:
Mã:
chown -R :apache /var/www/html/wordpress/wp-content/uploads

Bây giờ chúng ta cần tệp cấu hình mẫu, sao chép tệp đó vào tệp cấu hình mặc định để WordPress nhận dạng tệp đó. Tệp cấu hình mẫu có tại /var/www/html/wordpress:
Mã:
cd /var/www/html/wordpress/
Mã:
cp wp-config-sample.php wp-config.php
Mã:
nano wp-config.php
Mã:
[...]

// ** Cài đặt MySQL - Bạn có thể lấy thông tin này từ máy chủ web của mình ** ///** Tên cơ sở dữ liệu cho WordPress */define('DB_NAME', 'wordpressdb');/** Tên người dùng cơ sở dữ liệu MySQL */define('DB_USER', 'wordpressuser');/** Mật khẩu cơ sở dữ liệu MySQL */define('DB_PASSWORD', 'wordpresspassword');

[...]
Thay đổi các giá trị như bạn đã cung cấp tại thời điểm khởi tạo cơ sở dữ liệu.

3.1 Cấu hình nhiều site​

Bây giờ chúng ta sẽ tiến hành cấu hình nhiều site, để thực hiện, chúng ta cần thêm những dòng này vào tệp wp-config.php ngay phía trên /* Vậy là xong, dừng chỉnh sửa! Chúc bạn viết blog vui vẻ. */ dòng.
Mã:
nano /var/www/html/wordpress/wp-config.php
Mã:
[...]/* Nhiều site */define('WP_ALLOW_MULTISITE', true);/* Vậy là xong, dừng chỉnh sửa! Chúc bạn viết blog vui vẻ. */
[...]

3.2 Apache Rewrite​

Chúng tôi sẽ sửa đổi tệp máy chủ ảo apache cho WordPress để cho phép ghi đè .htaccess. Đối với điều này, chúng tôi sẽ chỉnh sửa tệp máy chủ ảo và thêm các mục nhập như sau:
Mã:
nano /etc/httpd/conf/httpd.conf
Mã:
[...]
 # Tiếp tục nới lỏng quyền truy cập vào thư mục gốc tài liệu mặc định: # # Các giá trị có thể có cho chỉ thị Options là "None", "All", # hoặc bất kỳ tổ hợp nào sau đây: # Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews # # Lưu ý rằng "MultiViews" phải được đặt tên *rõ ràng* --- "Options All" # không cung cấp cho bạn. # # Chỉ thị Options vừa phức tạp vừa quan trọng. Vui lòng xem # http://httpd.apache.org/docs/2.4/mod/core.html#options # để biết thêm thông tin. # Chỉ mục Options FollowSymLinks # # AllowOverride kiểm soát những chỉ thị nào có thể được đặt trong các tệp .htaccess. # Có thể là "All", "None" hoặc bất kỳ tổ hợp từ khóa nào: # Options FileInfo AuthConfig Limit # AllowOverride All
[...]
Thay đổi giá trị từ AllowOverride None thành AllowOverride All, sau đó khởi động lại dịch vụ:
Mã:
service httpd restart

3.3 Tạo tệp .htaccess​

Bây giờ chúng ta sẽ tạo tệp .htaccess trong thư mục gốc của tài liệu, tệp này sẽ cho phép Apache ghi lại:
Mã:
touch /var/www/html/wordpress/.htaccess
Tuy nhiên, chúng ta cần máy chủ web là chủ sở hữu nhóm, vì vậy chúng ta nên điều chỉnh quyền sở hữu như sau:
Mã:
chown apache /var/www/html/wordpress/.htaccess
Nếu bạn muốn WordPress tự động cập nhật tệp này với các quy tắc ghi đè, bạn có thể đảm bảo rằng tệp có đúng quyền để thực hiện việc này bằng cách sử dụng:
Mã:
chmod 664 /var/www/html/wordpress/.htaccess
Nếu bạn muốn cập nhật tệp này theo cách thủ công vì mục đích tăng cường bảo mật, bạn có thể chỉ cho phép máy chủ web đọc các đặc quyền bằng cách nhập:
Mã:
chmod 644 /var/www/html/wordpress/.htaccess
Trong trường hợp của tôi, tôi đang sử dụng quyền 644.

3.4 Cài đặt web​

Bây giờ hãy tiến hành cài đặt web WordPress 4.0. Truy cập URL http://192.168.0.100/wordpress/wp-admin/install.php:

Chọn ngôn ngữ và nhấn Tiếp tục:



Tiếp theo



Bây giờ hãy nhập các giá trị như tôi đã nhập trong trường hợp của mình
Mã:
Tiêu đề trang web = Wordpress-testsiteEmail của quản trị viên = [emailprotected]Tên người dùng = adminMật khẩu của quản trị viên = howtoforgeXác nhận mật khẩu của quản trị viên = howtoforge
Các giá trị trên sẽ khác nhau trong trường hợp của bạn, bạn có thể nhập bất kỳ giá trị nào bạn chọn. Sau khi nhập các giá trị, nhấn Cài đặtWordpress:




Bây giờ chúng ta sẽ tiến tới trang đăng nhập bằng cách nhấn Đăng nhập:



Cung cấp thông tin đăng nhập mà bạn đã chọn khi cài đặt WordPress trên web:



Đây sẽ là cửa sổ chào mừng mặc định của WordPress. Chúng ta có thể kiểm tra phiên bản WordPress trong trình duyệt như sau:


3.5 Cấu hình nhiều trang web​

Bây giờ hãy vào Công cụ-->Thiết lập mạng





Cung cấp các mục nhập như sau

Tiêu đề mạng = Wordpress-testsite multisite
Email quản trị mạng = [emailprotected]

và nhấn Cài đặt

Nó sẽ tạo ra cửa sổ sau:



Thêm nội dung sau vào tệp wp-config.php của bạn trong /var/www/html/wordpress/ phía trên dòng có nội dung /* Vậy là xong, dừng chỉnh sửa! Chúc bạn viết blog vui vẻ. */:
Mã:
nano /var/www/html/wordpress/wp-config.php
Đưa các mục nhập theo đầu ra của bạn sau khi cài đặt multisite. Trong trường hợp của tôi, đó là:
Mã:
[...]
/* Multisite */define('WP_ALLOW_MULTISITE', true);define('MULTISITE', true);define('SUBDOMAIN_INSTALL', false);define('DOMAIN_CURRENT_SITE', '[B]192.168.0.100[/b]');define('PATH_CURRENT_SITE', '/wordpress/');define('SITE_ID_CURRENT_SITE', 1);define('BLOG_ID_CURRENT_SITE', 1);
/* Vậy là xong, dừng chỉnh sửa! Chúc bạn viết blog vui vẻ. */
[...]
Lưu ý: Trong trường hợp của tôi, tôi đang sử dụng 192.168.0.100, trường hợp của bạn sẽ khác

Thêm các mục sau vào tệp .htaccess của bạn trong /var/www/html/wordpress/, thay thế các quy tắc WordPress khác:




Mã:
nano /var/www/html/wordpress/.htaccess
Mã:
RewriteEngine OnRewriteBase /wordpress/RewriteRule ^index\.php$ - [L]# thêm dấu gạch chéo theo sau vào /wp-adminRewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]RewriteCond %{REQUEST_FILENAME} -f [OR]RewriteCond %{REQUEST_FILENAME} -dRewriteRule ^ - [L]RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]RewriteRule . index.php [L]
Sau khi Apache khởi động lại
Mã:
systemctl restart httpd.service
Bây giờ hãy đăng nhập lại vào WordPress. Sau khi thiết lập thành công Mạng Multisite, bạn cần chuyển sang Bảng điều khiển mạng để cấu hình cài đặt mạng, thêm các site mới và thực hiện nhiều việc khác. Di chuyển chuột đến menu My Sites trên thanh công cụ quản trị, một cửa sổ bật lên thả xuống sẽ xuất hiện. Nhấp vào Quản trị mạng-->Bảng điều khiển.



Nó sẽ chuyển hướng bạn đến Bảng điều khiển của multisite WordPress.




Bây giờ bạn có thể tạo site mới bằng cách nhấp vào Sites-->Thêm mới



Chỉ cần thêm các giá trị theo yêu cầu của bạn.




Xin chúc mừng! Bây giờ bạn có một phiên bản WordPress 4.0 đầy đủ chức năng với mạng lưới nhiều trang web trên CentOS 7.0 của mình :)

5 Liên kết​

 
Back
Bên trên