Drupal là một hệ thống quản lý nội dung mã nguồn mở nổi tiếng dựa trên PHP. Nó được cung cấp miễn phí và được phát hành theo Giấy phép Công cộng GNU. Drupal có thể được sử dụng cho mọi quy mô trang web, từ các trang web quốc tế lớn đến các blog cá nhân và các trang web của công ty hoặc chính phủ.
Phần cốt lõi của drupal được gọi là "Drupal Core", nó chứa hệ thống quản lý nội dung cơ bản, quản lý người dùng, quản lý menu, tùy chỉnh bố cục và quản trị hệ thống. Drupal Core có thể được mở rộng bằng các plugin, cho đến nay, cộng đồng drupal đã được cung cấp hơn 31.000 module cho Drupal.
Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách cài đặt Drupal 9 trên Debian Buster 10. Chúng tôi sẽ chạy Drupal dưới LEMP Stack (Linux, Nginx, MySQL/MariaDB và PHP-FPM) và bảo mật cài đặt bằng SSL Letsencrypt.
Điều kiện tiên quyết
Đối với hướng dẫn này, chúng tôi sẽ kiểm tra cài đặt Drupal của mình trên phiên bản Debian Buster 10 mới nhất với 2GB RAM, 50GB dung lượng đĩa trống và 2 CPU. Ngoài ra, chúng ta cần quyền root sudo để cài đặt các gói mới và chỉnh sửa một số cấu hình phần mềm hệ thống.
Chúng ta sẽ làm gì?
Cập nhật các kho lưu trữ khả dụng trên hệ thống của bạn và nâng cấp tất cả các gói lên phiên bản mới nhất bằng lệnh apt bên dưới.
Tiếp theo, cài đặt các gói máy chủ web Nginx bằng lệnh sau.
Sau khi hoàn tất quá trình cài đặt, hãy khởi động dịch vụ Nginx và thêm dịch vụ này vào hệ thống khởi động.
Dịch vụ Nginx đã hoạt động, hãy kiểm tra dịch vụ này bằng lệnh sau.
Dưới đây là kết quả bạn sẽ nhận được.
Kết quả là dịch vụ Nginx đã hoạt động trên Debian Buster 10.
Cài đặt PHP và các gói PHP-FPM 7.3 bằng lệnh apt bên dưới.
Sau khi hoàn tất quá trình cài đặt, hãy vào thư mục '/etc/php/7.3' và chỉnh sửa cấu hình 'php.ini' bằng trình soạn thảo vim.
Bỏ chú thích và thay đổi cấu hình chi tiết như bên dưới.
Lưu và đóng.
Tiếp theo, khởi động lại dịch vụ PHP-FPM và thêm nó vào hệ thống khởi động.
Dịch vụ PHP-FPM đã hoạt động và theo mặc định, nó đang chạy dưới tệp sock
Kiểm tra dịch vụ PHP-FPM bằng lệnh sau.
Dưới đây là kết quả bạn sẽ nhận được.
Kết quả là quá trình cài đặt và cấu hình PHP-FPM cho Drupal 9 trên Debian Buster 10 đã hoàn tất.
Cài đặt các gói MariaDB bằng lệnh apt bên dưới.
Sau đó, hãy khởi động dịch vụ MariaDB và thêm nó vào hệ thống khởi động.
Kết quả là cơ sở dữ liệu MariaDB đã được cài đặt trên Debian máy chủ.
Tiếp theo, chúng ta sẽ thiết lập mật khẩu cho người dùng root MariaDB mặc định bằng lệnh 'mysql_secure_installation' như bên dưới.
Nhập mật khẩu cho root mặc định và nhập 'Y' cho tất cả các tùy chọn.
Và mật khẩu gốc MariaDB đã được cấu hình.
Tiếp theo, chúng ta cần truy cập vào shell MySQL và tạo một cơ sở dữ liệu và người dùng mới cho cài đặt Drupal của chúng ta.
Đăng nhập vào shell MySQL bằng người dùng gốc mặc định và mật khẩu của bạn như bên dưới.
Tạo một cơ sở dữ liệu mới có tên là 'drupaldb' và người dùng 'drupaluser' với mật khẩu 'drupaluser@' bằng cách sử dụng các truy vấn MySQL bên dưới.
Gõ 'exit' hoặc nhấn nút 'Ctrl+d' để thoát khỏi MySQL shell.
Kết quả là cơ sở dữ liệu và người dùng mới để cài đặt Drupal đã được tạo.
Để sử dụng SSL Letsencrypt, chúng ta cần tạo chứng chỉ SSL bằng công cụ certbot.
Cài đặt công cụ certbot bằng lệnh apt bên dưới.
Sau đó, dừng dịch vụ Nginx và tạo SSL Letsencrypt cho tên miền Drupal của bạn bằng lệnh sau.
Hãy đảm bảo thay đổi địa chỉ email bằng địa chỉ email của riêng bạn. Sau khi hoàn tất, chứng chỉ SSL của bạn sẽ có tại thư mục '/etc/letsencrypt/live/yourdomain.com'.
Truy cập thư mục etc/nginx/sites-available và tạo cấu hình máy chủ ảo mới 'drupal9' bằng trình soạn thảo vim.
Thay đổi tên miền và đường dẫn của chứng chỉ SSL Letsencrypt bằng tên miền và đường dẫn của riêng bạn, sau đó dán vào đó.
Phần cốt lõi của drupal được gọi là "Drupal Core", nó chứa hệ thống quản lý nội dung cơ bản, quản lý người dùng, quản lý menu, tùy chỉnh bố cục và quản trị hệ thống. Drupal Core có thể được mở rộng bằng các plugin, cho đến nay, cộng đồng drupal đã được cung cấp hơn 31.000 module cho Drupal.
Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách cài đặt Drupal 9 trên Debian Buster 10. Chúng tôi sẽ chạy Drupal dưới LEMP Stack (Linux, Nginx, MySQL/MariaDB và PHP-FPM) và bảo mật cài đặt bằng SSL Letsencrypt.
Điều kiện tiên quyết
Đối với hướng dẫn này, chúng tôi sẽ kiểm tra cài đặt Drupal của mình trên phiên bản Debian Buster 10 mới nhất với 2GB RAM, 50GB dung lượng đĩa trống và 2 CPU. Ngoài ra, chúng ta cần quyền root sudo để cài đặt các gói mới và chỉnh sửa một số cấu hình phần mềm hệ thống.
Chúng ta sẽ làm gì?
- Cài đặt Nginx Webserver
- Cài đặt và cấu hình PHP-FPM
- Cài đặt và cấu hình MariaDB
- Tạo SSL Letsencrypt
- Thiết lập Nginx Virtualhost cho Drupal 9
- Tải xuống mã nguồn Drupal 9
- Drupal 9 sau khi cài đặt
Bước 1 - Cài đặt Nginx Máy chủ web
Đầu tiên, chúng ta sẽ cài đặt máy chủ web Nginx trên máy chủ Debian của mình.Cập nhật các kho lưu trữ khả dụng trên hệ thống của bạn và nâng cấp tất cả các gói lên phiên bản mới nhất bằng lệnh apt bên dưới.
Mã:
sudo apt update
sudo apt upgrade
Mã:
sudo apt install nginx -y
Mã:
systemctl start nginx
systemctl enable nginx
Mã:
systemctl status nginx
Kết quả là dịch vụ Nginx đã hoạt động trên Debian Buster 10.
Bước 2 - Cài đặt và cấu hình PHP-FPM
Trong bước này, chúng ta sẽ cài đặt và cấu hình PHP-FPM 7.3 trên Debian 10 cho cài đặt Drupal của chúng ta.Cài đặt PHP và các gói PHP-FPM 7.3 bằng lệnh apt bên dưới.
Mã:
sudo apt install php php-fpm php-gd php-common php-mysql php-apcu php-gmp php-curl php-intl php-mbstring php-xmlrpc php-gd php-xml php-cli php-zip -y
Mã:
cd /etc/php/7.3/fpm/
vim php.ini
Mã:
date.timezone = Châu Á/Singapore
memory_limit = 256M
upload_max_filesize = 64M
max_execution_time = 600
cgi.fix_pathinfo = 0
Tiếp theo, khởi động lại dịch vụ PHP-FPM và thêm nó vào hệ thống khởi động.
Mã:
systemctl restart php7.3-fpm
systemctl enable php7.3-fpm
Kiểm tra dịch vụ PHP-FPM bằng lệnh sau.
Mã:
ss -plnt | grep php
systemctl status php7.3-fpm
Kết quả là quá trình cài đặt và cấu hình PHP-FPM cho Drupal 9 trên Debian Buster 10 đã hoàn tất.
Bước 3 - Cài đặt và cấu hình MariaDB Server
Sau khi cài đặt các gói PHP và PHP-FPM, chúng ta sẽ cài đặt cơ sở dữ liệu MariaDB và tạo một cơ sở dữ liệu mới cho Drupal 9.Cài đặt các gói MariaDB bằng lệnh apt bên dưới.
Mã:
sudo apt install mariadb-server mariadb-client
Mã:
systemctl start mysql
systemctl enable mysql
Tiếp theo, chúng ta sẽ thiết lập mật khẩu cho người dùng root MariaDB mặc định bằng lệnh 'mysql_secure_installation' như bên dưới.
Mã:
mysql_secure_installation
Mã:
Nhập mật khẩu hiện tại cho root (nhập nếu không có):
OK, mật khẩu đã sử dụng thành công, tiếp tục...
Đặt mật khẩu cho root? [Y/n] Y
Xóa người dùng ẩn danh? [Y/n] Y
Không cho phép root đăng nhập từ xa? [Y/n] Y
Xóa cơ sở dữ liệu thử nghiệm và truy cập vào cơ sở dữ liệu đó? [Y/n] Y
Tải lại bảng đặc quyền ngay bây giờ? [Y/n] Y
Tiếp theo, chúng ta cần truy cập vào shell MySQL và tạo một cơ sở dữ liệu và người dùng mới cho cài đặt Drupal của chúng ta.
Đăng nhập vào shell MySQL bằng người dùng gốc mặc định và mật khẩu của bạn như bên dưới.
Mã:
mysql -u root -p
Mã:
create database drupaldb;
create user drupaluser@localhost được xác định bởi 'drupaluser@';
cấp tất cả các đặc quyền trên drupaldb.* cho drupaluser@localhost được xác định bởi 'drupaluser@';
flush privileges;
Kết quả là cơ sở dữ liệu và người dùng mới để cài đặt Drupal đã được tạo.
Bước 4 - Tạo SSL Letsencrypt
Trong hướng dẫn này, chúng tôi sẽ bảo mật cài đặt Drupal 9 bằng SSL Letsencrypt. Vì vậy, hãy đảm bảo rằng tên miền của bạn được phân giải thành địa chỉ IP máy chủ của bạn.Để sử dụng SSL Letsencrypt, chúng ta cần tạo chứng chỉ SSL bằng công cụ certbot.
Cài đặt công cụ certbot bằng lệnh apt bên dưới.
Mã:
sudo apt install certbot -y
Mã:
systemctl stop nginx
certbot certonly --rsa-key-size 2048 --standalone --agree-tos --no-eff-email --email [emailprotected] -d drupal.hakase-labs.io
Bước 6 - Thiết lập Nginx Virtualhost cho Drupal 9
Trong bước này, chúng ta sẽ tạo cấu hình máy chủ ảo Nginx mới cho Drupal.Truy cập thư mục etc/nginx/sites-available và tạo cấu hình máy chủ ảo mới 'drupal9' bằng trình soạn thảo vim.
Mã:
cd /etc/nginx/sites-available/
vim drupal9
Mã:
máy chủ {
tên máy chủ drupal.hakase-labs.io;
gốc /var/www/drupal9; ##