Cài đặt nhiều phiên bản Drupal với Nginx trên Ubuntu 20.04

theanh

Administrator
Nhân viên
Drupal là một nền tảng mở, có khả năng mở rộng và miễn phí được sử dụng để tạo và quản lý nội dung trang web. Nền tảng này có một cộng đồng lớn và được hàng triệu người và tổ chức trên toàn thế giới sử dụng. Drupal cung cấp một giao diện web đơn giản và thân thiện với người dùng giúp bạn tạo nhiều trang web khác nhau, từ trang web cá nhân đến các trang web lớn do cộng đồng điều hành.

Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách triển khai nhiều phiên bản Drupal với Nginx trên Ubuntu 20.04.

Điều kiện tiên quyết​

  • Một máy chủ chạy Ubuntu 20.04.
  • Hai tên miền hợp lệ được trỏ bằng IP máy chủ của bạn.
  • Một mật khẩu gốc được cấu hình trên máy chủ.

Bước 1: Cài đặt các phụ thuộc bắt buộc​

Trước tiên, bạn sẽ cần cập nhật các gói hệ thống của mình lên phiên bản đã cập nhật và cài đặt các phụ thuộc bắt buộc vào hệ thống của mình. Bạn có thể thực hiện bằng lệnh sau:
Mã:
apt-get update -y
apt-get install gnupg2 software-properties-common unzip git wget -y
Sau khi cài đặt xong tất cả các dependency, bạn có thể tiến hành bước tiếp theo.

Bước 2: Cài đặt Nginx và MariaDB​

Ở đây, chúng ta sẽ lưu trữ Drupal bằng Nginx. Vì vậy, Nginx phải được cài đặt trên máy chủ của bạn. Nếu chưa cài đặt, bạn có thể cài đặt bằng lệnh sau:
Mã:
apt-get install nginx -y
Sau khi cài đặt Nginx, bạn sẽ cần cài đặt phiên bản MariaDB mới nhất vào máy chủ của mình. Theo mặc định, phiên bản MariaDB mới nhất không có trong kho lưu trữ mặc định của Ubuntu 20.04. Vì vậy, bạn sẽ cần thêm kho lưu trữ MariaDB vào APT.

Đầu tiên, thêm khóa GPG bằng lệnh sau:
Mã:
apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8
Tiếp theo, thêm kho lưu trữ MariaDB bằng lệnh sau:
Mã:
add-apt-repository "deb [arch=amd64,arm64,ppc64el] http://mariadb.mirror.liquidtelecom.com/repo/10.4/ubuntu $(lsb_release -cs) main"
Sau khi kho lưu trữ được thêm vào, hãy cập nhật kho lưu trữ và cài đặt phiên bản MariaDB mới nhất bằng lệnh sau:
Mã:
apt-get update -y
apt-get install mariadb-server -y
Sau khi máy chủ MariaDB được cài đặt, bạn có thể tiến hành bước tiếp theo.

Bước 3: Cài đặt PHP 7.4​

Drupal không hỗ trợ PHP 8.0. Vì vậy, bạn sẽ cần cài đặt PHP 7.4 trong hệ thống của mình. Bạn có thể cài đặt PHP phiên bản 7.4 với các tiện ích mở rộng bắt buộc khác bằng lệnh sau:
Mã:
apt-get install php7.4 php7.4-fpm php7.4-gd php7.4-common php7.4-mysql php7.4-apcu php7.4-gmp php7.4-curl php7.4-intl php7.4-mbstring php7.4-xmlrpc php7.4-gd php7.4-xml php7.4-cli php7.4-zip -y
Sau khi tất cả các gói được cài đặt, hãy chỉnh sửa tệp php.ini và điều chỉnh một số thay đổi:
Mã:
nano /etc/php/7.4/fpm/php.ini
Thay đổi các dòng sau:
Mã:
date.timezone = Asia/Kolkatamemory_limit = 256Mupload_max_filesize = 64Mmax_execution_time = 600cgi.fix_pathinfo = 0
Lưu và đóng tệp, sau đó khởi động lại PHP-FPM để áp dụng các thay đổi:
Mã:
systemctl restart php7.4-fpm

Bước 4: Tạo cơ sở dữ liệu Drupal​

Tiếp theo, bạn sẽ cần tạo cơ sở dữ liệu và người dùng cho cả hai phiên bản Drupal.

Đầu tiên, hãy kết nối với MySQL bằng lệnh sau:
Mã:
mysql
Sau khi kết nối, hãy tạo cơ sở dữ liệu cho cả hai phiên bản Drupal bằng lệnh sau:
Mã:
MariaDB [(none)]> create database drupal1db;
MariaDB [(none)]> tạo cơ sở dữ liệu drupal2db;
Tiếp theo, tạo người dùng cơ sở dữ liệu cho cả hai phiên bản Drupal bằng lệnh sau:
Mã:
MariaDB [(none)]> tạo người dùng drupal1user@localhost được xác định bởi 'password';
MariaDB [(none)]> tạo người dùng drupal2user@localhost được xác định bởi 'password';
Tiếp theo, cấp tất cả các quyền cho cả hai cơ sở dữ liệu Drupal bằng lệnh sau:
Mã:
MariaDB [(none)]> cấp tất cả các quyền trên drupal1db.* cho drupal1user@localhost được xác định bởi 'password';
MariaDB [(none)]> cấp tất cả các quyền trên drupal2db.* cho drupal2user@localhost được xác định bằng 'password';
Tiếp theo, xóa các quyền và thoát khỏi MySQL bằng lệnh sau:
Mã:
MariaDB [(none)]> xóa các quyền;
MariaDB [(none)]> thoát;
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.

Bước 5: Tải xuống Drupal​

Tiếp theo, bạn sẽ cần tải xuống phiên bản Drupal mới nhất từ trang web chính thức của nó.

Đầu tiên, hãy thay đổi thư mục thành gốc web Nginx bằng lệnh sau:
Mã:
cd /var/www/html
Tiếp theo, tải xuống phiên bản Drupal mới nhất bằng lệnh sau:
Mã:
wget -q https://www.drupal.org/download-latest/tar.gz -O drupal-latest.tar.gz
Tiếp theo, giải nén tệp đã tải xuống bằng lệnh sau:
Mã:
tar -xf drupal-latest.tar.gz
Tiếp theo, sao chép thư mục đã trích xuất vào drupal1 và drupal2:
Mã:
cp -r drupal-9.1.5 drupal1
cp -r drupal-9.1.5 drupal2
Tiếp theo, thiết lập quyền sở hữu phù hợp bằng lệnh sau:
Mã:
chown -R www-data:www-data /var/www/html/drupal*
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.

Bước 6: Cấu hình Nginx​

Tiếp theo, bạn sẽ cần tạo hai tệp cấu hình máy chủ ảo Nginx cho mỗi phiên bản Drupal.

Đầu tiên, hãy tạo một tệp cấu hình máy chủ ảo Nginx cho phiên bản Drupal đầu tiên:
Mã:
nano /etc/nginx/conf.d/drupal1.conf
Thêm các dòng sau:
Mã:
server { listen 80; root /var/www/html/drupal1; index index.php index.html index.htm; server_name drupal1.example.com; location / { try_files $uri /index.php?$query_string; } location @rewrite { rewrite ^/(.*)$ /index.php?q=$1; } vị trí ~ [^/]\.php(/|$) { bao gồm đoạn trích/fastcgi-php.conf; fastcgi_pass unix:/var/run/php/php7.4-fpm.sock; fastcgi_param TỆP_KẾ_PHẦN $document_root$fastcgi_script_name; bao gồm fastcgi_params; } vị trí ~ ^/sites/.*/files/styles/ { # Đối với Drupal >= 7 tệp_thử $uri @rewrite; } vị trí ~ ^(/[a-z\-]+)?/system/files/ { # Đối với Drupal >= 7 tệp_thử $uri /index.php?$query_string; }}
Lưu và đóng tệp khi bạn hoàn tất.

Tiếp theo, tạo tệp cấu hình máy chủ ảo Nginx cho phiên bản Drupal thứ hai:
Mã:
nano /etc/nginx/conf.d/drupal2.conf
Thêm các dòng sau:
Mã:
server { listen 80; root /var/www/html/drupal2; index index.php index.html index.htm; server_name drupal2.example.com; location / { try_files $uri /index.php?$query_string; } location @rewrite { rewrite ^/(.*)$ /index.php?q=$1; } location ~ [^/]\.php(/|$) { include snippets/fastcgi-php.conf; fastcgi_pass unix:/var/run/php/php7.4-fpm.sock; fastcgi_param TỆP_TẬP_TIN_SCRIPT $document_root$fastcgi_script_name; include fastcgi_params; } vị trí ~ ^/sites/.*/files/styles/ { # Đối với Drupal >= 7 tệp_thử $uri @rewrite; } vị trí ~ ^(/[a-z\-]+)?/system/files/ { # Đối với Drupal >= 7 tệp_thử $uri /index.php?$query_string; }}
Lưu và đóng tệp khi bạn hoàn tất, sau đó xác minh Nginx xem có lỗi cú pháp nào không bằng lệnh sau:
Mã:
nginx -t
Bạn sẽ thấy đầu ra sau:
Mã:
nginx: cú pháp tệp cấu hình /etc/nginx/nginx.conf là oknginx: thử nghiệm tệp cấu hình /etc/nginx/nginx.conf thành công
Tiếp theo, khởi động lại dịch vụ Nginx để áp dụng các thay đổi:
Mã:
systemctl restart nginx
Bạn cũng có thể kiểm tra trạng thái của Nginx bằng lệnh sau:
Mã:
systemctl status nginx
Bạn sẽ nhận được đầu ra sau:
Mã:
? nginx.service - Máy chủ web hiệu suất cao và máy chủ proxy ngược Đã tải: đã tải (/lib/systemd/system/nginx.service; đã bật; cài đặt trước của nhà cung cấp: đã bật) Đang hoạt động: hoạt động (đang chạy) từ Tue 2021-03-23 08:50:47 UTC; 6 giây trước Tài liệu: man:nginx(8) Quy trình: 19946 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS) Quy trình: 19959 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS) PID chính: 19964 (nginx) Nhiệm vụ: 2 (giới hạn: 2353) Bộ nhớ: 2,7M CGroup: /system.slice/nginx.service ??19964 nginx: tiến trình chính /usr/sbin/nginx -g daemon on; master_process on; ??19965 nginx: tiến trình công nhân23/03 08:50:47 ubuntu2004 systemd[1]: Đang khởi động Một máy chủ web hiệu suất cao và một máy chủ proxy ngược...23/03 08:50:47 ubuntu2004 systemd[1]: Đã khởi động Một máy chủ web hiệu suất cao và một máy chủ proxy ngược.

Bước 7: Truy cập Drupal​

Bây giờ, hãy mở trình duyệt web của bạn và nhập URL hoặc . Bạn sẽ được chuyển hướng đến trình hướng dẫn cài đặt web Drupal như hiển thị bên dưới:



Chọn ngôn ngữ của bạn và nhấp vào nút Lưu và tiếp tục. Bạn sẽ thấy trang sau:



Chọn loại cài đặt chuẩn và nhấp vào nút Lưu và tiếp tục. Bạn sẽ thấy trang sau:



Cung cấp thông tin chi tiết về cơ sở dữ liệu của bạn và nhấp vào nút Lưu và tiếp tục. Bạn sẽ thấy trang sau:





Cung cấp thông tin trang web của bạn và nhấp vào nút Lưu và tiếp tục. Bạn sẽ thấy bảng điều khiển Drupal trong trang sau:


Kết luận​

Trong bài đăng ở trên, bạn đã học cách triển khai nhiều phiên bản Drupal với Nginx trên máy chủ Ubuntu 20.04. Bây giờ bạn có thể triển khai bất kỳ số lượng phiên bản Drupal nào trên máy chủ của mình. Bạn chỉ cần xác định tên miền và đường dẫn cài đặt Drupal cho mỗi phiên bản Drupal mới. Hãy thoải mái hỏi tôi nếu bạn có bất kỳ câu hỏi nào.
 
Back
Bên trên