Cách cài đặt Drupal CMS với Apache và Free Let's Encrypt SSL trên Ubuntu 24.04

theanh

Administrator
Nhân viên
Drupal là một hệ thống quản lý nội dung phổ biến được viết bằng PHP. Nó được sử dụng bởi ít nhất 14% trong số 10.000 trang web hàng đầu trên internet, từ các ngành công nghiệp doanh nghiệp toàn cầu, chính phủ, giáo dục và các trang web của tổ chức. Drupal cung cấp một hệ thống có khả năng mở rộng cao được tích hợp với các ứng dụng kỹ thuật số và có thể được sử dụng để tạo nhiều trang web cho các tổ chức khác nhau với hỗ trợ đa ngôn ngữ.

Hướng dẫn này sẽ chỉ cho bạn cách cài đặt Drupal trên máy chủ Ubuntu 24.04. Chúng tôi sẽ cài đặt Drupal với LAMP Stack (Linux, Apache, MariaDB và PHP) và bảo mật Drupal bằng HTTPS từ Letsencrypt.

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

Trước khi bắt đầu, hãy đảm bảo bạn có:
  • Máy chủ Ubuntu 24.04
  • Người dùng không phải root có quyền quản trị viên
  • Tên miền trỏ đến địa chỉ IP của máy chủ

Cài đặt Dependencies​

Drupal là CMS dựa trên MySQL/MariaDB và PHP. Để cài đặt, bạn phải đảm bảo cả MySQL/MariaDB và PHP đều được cài đặt trên hệ thống của mình. Đối với máy chủ web, bạn có thể sử dụng Apache hoặc Nginx.

Trong phần này, bạn sẽ cài đặt các dependency cho Drupal. Điều này bao gồm LAMP Stack (Linux, Apache, MariaDB và PHP) và Composer.

Trước tiên, hãy cập nhật chỉ mục gói Ubuntu của bạn bằng lệnh sau.
Mã:
sudo apt update

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22706%22%20height=%22190%22%3E%3C/svg%3E


Bây giờ hãy cài đặt LAMP Stack (Linux, Apache, MariaDB và PHP) và các phụ thuộc Composer vào hệ thống Ubuntu của bạn bằng lệnh sau:
Mã:
sudo apt install apache2 mariadb-server composer php php-apcu php-dev libapache2-mod-php libcurl4-openssl-dev php-cli php-mysql php-zip php-gd php-fpm php-json php-common php-intl php-mbstring php-curl php-xml php-pear php-tidy php-uploadprogress php-soap php-bcmath php-xmlrpc
Nhập Y để xác nhận cài đặt.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22128%22%3E%3C/svg%3E


Sau khi cài đặt, hãy kiểm tra trạng thái của cả Apache và MariaDB, sau đó kiểm tra phiên bản PHP và Composer.

Kiểm tra dịch vụ Apache bằng lệnh bên dưới. Điều này sẽ đảm bảo rằng Apache đang chạy và được bật trên máy chủ của bạn.
Mã:
sudo systemctl is-enabled apache2
sudo systemctl status apache2
Out enabled cho biết máy chủ web Apache sẽ khởi động khi khởi động. Và active(running) cho thấy Apache đang chạy.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22216%22%3E%3C/svg%3E


Bây giờ hãy kiểm tra trạng thái dịch vụ MariaDB bằng lệnh sau:
Mã:
sudo systemctl is-enabled mariadb
sudo systemctl status mariadb
Giống như Apache, bạn sẽ thấy đầu ra được bật và trạng thái 'active(running)', xác nhận rằng MariaDB sẽ khởi động khi khởi động và trạng thái là đang chạy.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22215%22%3E%3C/svg%3E


Cuối cùng, hãy kiểm tra phiên bản PHP và Composer bằng lệnh bên dưới. Vào thời điểm này, kho lưu trữ Ubuntu 24.04 mặc định cung cấp PHP 8.3 và Composer 2.7.1.
Mã:
sudo php -v
sudo -u www-data composer -v

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22690%22%20height=%22385%22%3E%3C/svg%3E

Cấu hình PHP​

Sau khi cài đặt các phụ thuộc, bạn cần thiết lập PHP cho Drupal. Bạn cần chỉnh sửa tệp 'php.ini' mặc định và thay đổi một số cấu hình mặc định khi cần cho Drupal.

Mở cấu hình php.ini bằng lệnh nano editor sau.
Mã:
sudo nano /etc/php/8.3/apache2/php.ini
Thay đổi cấu hình mặc định bằng lệnh sau và đảm bảo điều chỉnh các tùy chọn memory_limit và date.timezone với máy chủ của bạn môi trường.
Mã:
memory_limit = 512M
upload_max_filesize = 60M
max_execution_time = 300
date.timezone = Europe/Amsterdam
Khi hoàn tất, hãy lưu và thoát tệp.

Bây giờ hãy khởi động lại máy chủ web Apache để áp dụng cấu hình PHP mới.
Mã:
sudo systemctl restart apache2

Cấu hình máy chủ MariaDB​

Bây giờ bạn đã cấu hình PHP, hãy cấu hình máy chủ MariaDB bằng cách bảo mật máy chủ này bằng Tiện ích 'mariadb-secure-installation' và tạo một cơ sở dữ liệu và người dùng mới cho Drupal.

Bảo mật cài đặt máy chủ MariaDB của bạn bằng lệnh sau. Lệnh này sẽ được nhắc về cấu hình máy chủ MariaDB.
Mã:
sudo mariadb-secure-installation
Bây giờ hãy nhập Y để áp dụng các thay đổi cho MariaDB hoặc nhập n để từ chối:
  • Cài đặt MariaDB mặc định không có mật khẩu, hãy nhấn ENTER khi được nhắc nhập mật khẩu.
    Bây giờ hãy nhập Y để thiết lập mật khẩu gốc MariaDB. Sau đó, nhập mật khẩu mới cho MariaDB và lặp lại mật khẩu.
    Nhập Y để xóa người dùng ẩn danh khỏi cài đặt MariaDB của bạn.
    Nhập Y một lần nữa khi được nhắc tắt đăng nhập từ xa cho người dùng gốc MariaDB.
    Nhập Y để xóa kiểm tra cơ sở dữ liệu mặc định khỏi MariaDB của bạn.
    Cuối cùng, hãy nhập Y để tải lại các đặc quyền bảng và áp dụng các thay đổi mới.
Khi máy chủ MariaDB được bảo mật, bạn cần tạo cơ sở dữ liệu và người dùng mới cho Drupal. Bạn có thể thực hiện việc này bằng lệnh máy khách 'mariadb'.

Đăng nhập vào máy chủ MariaDB bằng lệnh sau - Nhập mật khẩu gốc MariaDB của bạn khi được nhắc.
Mã:
sudo mariadb -u root -p
Chạy các truy vấn sau để tạo cơ sở dữ liệu và người dùng mới cho Drupal. Trong ví dụ này, bạn sẽ tạo người dùng mới 'drupal', cơ sở dữ liệu 'drupaldb', với mật khẩu 'DrupalSecurePassword'. Hãy đảm bảo thay đổi thông tin bằng thông tin chi tiết của bạn.
Mã:
CREATE DATABASE drupaldb;
CREATE USER drupal@localhost IDENTIFIED BY 'DrupalSecurePassword';
GRANT ALL ON drupaldb.* TO drupal@localhost WITH GRANT OPTION;
FLUSH PRIVILEGES;

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22218%22%3E%3C/svg%3E


Bây giờ hãy chạy truy vấn bên dưới để xác minh người dùng 'drupal'. Đảm bảo rằng người dùng 'drupal' có thể truy cập cơ sở dữ liệu 'drupaldb'.
Mã:
SHOW GRANTS FOR drupal@localhost;
Đầu ra sau đây cho biết rằng người dùng 'drupal' có thể truy cập cơ sở dữ liệu 'drupaldb'.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22138%22%3E%3C/svg%3E


Cuối cùng, nhập quit để thoát khỏi máy chủ MariaDB.

Tải xuống mã nguồn Drupal​

Trong bước này, bạn sẽ tải xuống mã nguồn Drupal và thiết lập thư mục gốc web với quyền sở hữu và quyền cấp phép phù hợp. Trong ví dụ này, bạn sẽ tải xuống và cài đặt phiên bản mới nhất của Drupal.

Đi đến thư mục /var/www và tải xuống mã nguồn Drupal bằng lệnh wget bên dưới.
Mã:
cd /var/www/
wget https://www.drupal.org/download-latest/tar.gz -O drupal.tar.gz
Khi quá trình tải xuống hoàn tất, hãy giải nén mã nguồn Drupal và đổi tên thư mục đã giải nén thành 'drupal'. Với lệnh này, /var/www/drupal sẽ trở thành thư mục gốc trang web hoặc thư mục gốc tài liệu để cài đặt Drupal.
Mã:
tar -xvf drupal.tar.gz
mv drupal-* /var/www/drupal
Bây giờ hãy chạy lệnh bên dưới để thay đổi quyền sở hữu /var/www/drupal thành người dùng www-data và quyền 755.
Mã:
sudo chown -R www-data:www-data /var/www/drupal/
sudo chmod -R 755 /var/www/drupal/

Thiết lập máy chủ ảo Apache​

Sau khi tải xuống Drupal, bạn phải tạo máy chủ ảo Apache để cài đặt. Vì vậy, hãy đảm bảo bạn đã chuẩn bị tên miền của mình để cài đặt Drupal.

Đầu tiên, hãy chạy lệnh bên dưới để kích hoạt các mô-đun Apache 'ssl' và 'rewrite'.
Mã:
sudo a2enmod ssl rewrite

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22604%22%20height=%22257%22%3E%3C/svg%3E


Bây giờ hãy tạo một Cấu hình máy chủ ảo Apache bằng lệnh sau.
Mã:
sudo nano /etc/apache2/sites-available/drupal.conf
Sao chép và dán cấu hình bên dưới và đảm bảo thay đổi tùy chọn ServerName bằng tên miền cài đặt Drupal của bạn.
Mã:
 ServerName howtoforge.local
 ServerAdmin [emailprotected]
 DocumentRoot /var/www/drupal

 # Add security
 php_flag register_globals off

 ErrorLog ${APACHE_LOG_DIR}/howtoforge.local.error.log
 CustomLog ${APACHE_LOG_DIR}/howtoforge.local.access.log combined

 
 SSLOptions +StdEnvVars
 

 
 Options FollowSymlinks
 #Allow .htaccess
 AllowOverride All
 Require all granted
 
 SecRuleEngine Off
 # or disable only problematic rules
 
 

 
 RewriteEngine on
 RewriteBase /
 RewriteCond %{REQUEST_FILENAME} !-f
 RewriteCond %{REQUEST_FILENAME} !-d
 RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
Khi hoàn tất, hãy lưu và thoát tệp.

Bây giờ hãy chạy lệnh bên dưới để kích hoạt tệp máy chủ ảo 'drupal.conf', sau đó xác minh cú pháp Apache của bạn. Nếu bạn có cú pháp Apache phù hợp, bạn sẽ nhận được đầu ra 'Cú pháp OK'.
Mã:
sudo a2ensite drupal.conf
sudo apachectl configtest
Cuối cùng, hãy khởi động lại Apache bằng lệnh sau để áp dụng cấu hình máy chủ ảo mới của bạn. Với điều này, Drupal của bạn sẽ có thể truy cập được.
Mã:
sudo systemctl restart apache2

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22715%22%20height=%22398%22%3E%3C/svg%3E

Bảo mật Drupal bằng HTTPS​

Để bảo mật Drupal bằng HTTPS, bạn có thể sử dụng chứng chỉ SSL miễn phí từ Letsencrypt. Nếu bạn đang cài đặt trên tên miền công cộng, hãy làm theo bước này để bật HTTPS trên cài đặt Drupal của bạn. Nếu bạn đang sử dụng tên miền cục bộ, bạn có thể sử dụng chứng chỉ SSL tự ký.

Cài đặt Certbot và plugin Certbot Apache bằng lệnh sau - Nhập Y để xác nhận cài đặt.
Mã:
sudo apt install certbot python3-certbot-apache
Sau khi cài đặt hoàn tất, hãy chạy lệnh certbot bên dưới để tạo chứng chỉ SSL/TLS cho cài đặt Drupal của bạn. Hãy đảm bảo thay đổi địa chỉ email và tên miền bằng thông tin của bạn.
Mã:
sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email [emailprotected] -d howtoforge.local
Khi hoàn tất, chứng chỉ SSL/TLS của bạn sẽ được tạo theo gen tại thư mục /etc/letsencrypt/live/example.com và cài đặt Drupal của bạn sẽ tự động được bảo mật bằng HTTPS.

Cài đặt Drupal​

Truy cập tên miền Drupal của bạn, chẳng hạn nhưhttps://howtoforge.local từ trình duyệt web ưa thích của bạn. Nếu cài đặt thành công, bạn sẽ nhận được trình hướng dẫn cài đặt Drupal.

Chọn ngôn ngữ mặc định cho Drupal, sau đó nhấp vào Lưu và tiếp tục.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22397%22%3E%3C/svg%3E


Chọn cấu hình cài đặt Drupal ưa thích của bạn, nhấp vào Lưu và tiếp tục. Đối với người mới bắt đầu, hãy sử dụng cấu hình Chuẩn hoặc Bản demo. Nếu bạn có kinh nghiệm với Drupal, bạn có thể chọn cấu hình Tối thiểu.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22392%22%3E%3C/svg%3E


Bây giờ, hãy đảm bảo rằng bạn đã vượt qua kiểm tra môi trường Drupal, đảm bảo rằng máy chủ của bạn đã sẵn sàng để cài đặt Drupal.

Nếu đã sẵn sàng, bạn sẽ được chuyển hướng đến cấu hình cơ sở dữ liệu cho Drupal. Nhập thông tin chi tiết về máy chủ MariaDB, tên cơ sở dữ liệu, tên người dùng và mật khẩu của bạn, sau đó nhấp vào Lưu và tiếp tục.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22523%22%3E%3C/svg%3E


Quá trình cài đặt Drupal sẽ bắt đầu:


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22399%22%3E%3C/svg%3E


Sau Quá trình cài đặt Drupal đã hoàn tất, bạn phải cấu hình trang Drupal của mình. Nhập Tên trang, địa chỉ email, tên người dùng quản trị, mật khẩu, quốc gia mặc định và múi giờ.

Nhấp vào Lưu và tiếp tục để xác nhận.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22492%22%3E%3C/svg%3E


Bây giờ nếu quá trình cài đặt thành công, bạn sẽ nhận được thông báo "Xin chúc mừng, bạn đã cài đặt Drupal!".


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22430%22%3E%3C/svg%3E


Tại đây, hãy nhấp vào menu Quản lý > Cấu hình để truy cập bảng điều khiển quản trị Drupal. Bạn sẽ thấy nội dung sau:


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22427%22%3E%3C/svg%3E

Kết luận​

Xin chúc mừng! Bạn đã hoàn tất cài đặt Drupal CMS trên máy chủ Ubuntu 24.04. Bạn đã chạy Drupal với LAMP Stack (Linux, Apache, MariaDB và PHP) và được bảo mật bằng HTTPS từ Letsencrypt. Bây giờ bạn có thể quản lý trang web Drupal của mình bằng cách cài đặt chủ đề hoặc thêm tiện ích mở rộng.
 
Back
Bên trên