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.
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.
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:
Tiếp theo, thêm kho lưu trữ MariaDB bằng lệnh sau:
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:
Sau khi máy chủ MariaDB được cài đặt, bạn có thể tiến hành bước tiếp theo.
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:
Thay đổi các dòng sau:
Lưu và đóng tệp, sau đó khởi động lại PHP-FPM để áp dụng các thay đổi:
Đầu tiên, hãy kết nối với MySQL bằng lệnh sau:
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:
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:
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:
Tiếp theo, xóa các quyền và thoát khỏi MySQL bằng lệnh sau:
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.
Đầu tiên, hãy thay đổi thư mục thành gốc web Nginx bằng lệnh sau:
Tiếp theo, tải xuống phiên bản Drupal mới nhất bằng lệnh sau:
Tiếp theo, giải nén tệp đã tải xuống bằng lệnh sau:
Tiếp theo, sao chép thư mục đã trích xuất vào drupal1 và drupal2:
Tiếp theo, thiết lập quyền sở hữu phù hợp bằng lệnh sau:
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.
Đầ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:
Thêm các dòng sau:
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:
Thêm các dòng sau:
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:
Bạn sẽ thấy đầu ra sau:
Tiếp theo, khởi động lại dịch vụ Nginx để áp dụng các thay đổi:
Bạn cũng có thể kiểm tra trạng thái của Nginx bằng lệnh sau:
Bạn sẽ nhận được đầu ra sau:
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:
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
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
Đầ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
Mã:
add-apt-repository "deb [arch=amd64,arm64,ppc64el] http://mariadb.mirror.liquidtelecom.com/repo/10.4/ubuntu $(lsb_release -cs) main"
Mã:
apt-get update -y
apt-get install mariadb-server -y
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
Mã:
nano /etc/php/7.4/fpm/php.ini
Mã:
date.timezone = Asia/Kolkatamemory_limit = 256Mupload_max_filesize = 64Mmax_execution_time = 600cgi.fix_pathinfo = 0
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
Mã:
MariaDB [(none)]> create database drupal1db;
MariaDB [(none)]> tạo cơ sở dữ liệu drupal2db;
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';
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';
Mã:
MariaDB [(none)]> xóa các quyền;
MariaDB [(none)]> thoát;
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
Mã:
wget -q https://www.drupal.org/download-latest/tar.gz -O drupal-latest.tar.gz
Mã:
tar -xf drupal-latest.tar.gz
Mã:
cp -r drupal-9.1.5 drupal1
cp -r drupal-9.1.5 drupal2
Mã:
chown -R www-data:www-data /var/www/html/drupal*
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
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; }}
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
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; }}
Mã:
nginx -t
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
Mã:
systemctl restart nginx
Mã:
systemctl status nginx
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: