Drupal

Drupal là gì? Cài đặt Drupal trên Ubuntu 20.04 LTS

Drupal là gì?

Drupal là một hệ quản trị nội dung (Content Management System – CMS) mã nguồn mở, được viết chủ yếu bằng ngôn ngữ PHP. Nó cho phép người dùng xây dựng và quản lý website cũng như các ứng dụng web một cách dễ dàng và linh hoạt. Dưới đây là một số điểm nổi bật của Drupal:

  • Mã nguồn mở: Bạn có thể sử dụng, chỉnh sửa và phân phối Drupal miễn phí. Cộng đồng phát triển mạnh mẽ luôn cung cấp các module, theme và hỗ trợ kỹ thuật.

  • Tính mở rộng: Với hàng nghìn module và theme có sẵn, Drupal cho phép bạn tùy chỉnh và mở rộng chức năng của website theo nhu cầu cụ thể, từ blog cá nhân đến các trang web doanh nghiệp lớn.

  • Bảo mật cao: Drupal được thiết kế với nhiều tính năng bảo mật, phù hợp cho các dự án cần sự tin cậy và bảo mật thông tin cao.

  • Quản lý nội dung linh hoạt: Drupal hỗ trợ tạo và quản lý nội dung với cấu trúc dữ liệu phức tạp, cho phép bạn xây dựng các trang web có nội dung phong phú và đa dạng.

  • Hỗ trợ đa ngôn ngữ: Drupal có khả năng quản lý nội dung đa ngôn ngữ, rất hữu ích cho các trang web quốc tế.

Dưới đây là hướng dẫn từng bước để cài đặt Drupal với Nginx và Let’s Encrypt SSL trên Ubuntu 20.04 LTS. Bạn hãy đảm bảo rằng tên miền của bạn đã được trỏ đúng tới máy chủ trước khi bắt đầu.

1. Cập nhật hệ thống

Cập nhật danh sách gói và nâng cấp hệ thống:

sudo apt update
sudo apt upgrade -y

2. Cài đặt Nginx

Cài đặt máy chủ web Nginx:

sudo apt install nginx -y

Kiểm tra trạng thái của Nginx:

sudo systemctl status nginx

3. Cài đặt PHP và các extension cần thiết

Drupal yêu cầu PHP và một số extension. Cài đặt PHP-FPM cùng với các module cần thiết:

sudo apt install php-fpm php-mysql php-xml php-gd php-curl php-zip -y

Lưu ý: Nếu bạn cần phiên bản PHP khác (ví dụ: PHP 8.0), hãy cài đặt phiên bản tương ứng và chỉnh sửa cấu hình cho phù hợp.

4. Cài đặt cơ sở dữ liệu (MariaDB hoặc MySQL)

Ví dụ dưới đây hướng dẫn cài đặt MariaDB:

sudo apt install mariadb-server -y
sudo mysql_secure_installation

Tạo database và người dùng cho Drupal:

sudo mysql -u root -p

Trong MySQL shell, chạy các lệnh sau:

CREATE DATABASE drupal;
CREATE USER 'drupaluser'@'localhost' IDENTIFIED BY 'your_password';
GRANT ALL PRIVILEGES ON drupal.* TO 'drupaluser'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Thay your_password bằng mật khẩu an toàn bạn chọn.

5. Tải và cài đặt Drupal

Chuyển đến thư mục chứa website:

cd /var/www/

Tải phiên bản Drupal mới nhất:

sudo wget https://www.drupal.org/download-latest/tar.gz -O drupal.tar.gz
sudo tar -xzvf drupal.tar.gz
sudo mv drupal-* drupal

Đặt quyền sở hữu và cấp quyền cho thư mục Drupal:

sudo chown -R www-data:www-data /var/www/drupal
sudo chmod -R 755 /var/www/drupal

6. Cấu hình Nginx cho Drupal

Tạo file cấu hình cho site Drupal:

sudo nano /etc/nginx/sites-available/drupal

Sao chép nội dung sau (thay đổi yourdomain.com thành tên miền thật của bạn):

server {
    listen 80;
    server_name yourdomain.com www.yourdomain.com;
    root /var/www/drupal;
    index index.php index.html index.htm;

    location / {
        try_files $uri /index.php?$query_string;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php7.4-fpm.sock;  # Điều chỉnh nếu bạn dùng phiên bản PHP khác
    }

    location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
        expires max;
        log_not_found off;
    }
}

Lưu file và kích hoạt cấu hình:

sudo ln -s /etc/nginx/sites-available/drupal /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx

7. Cài đặt SSL với Let’s Encrypt (Certbot)

Cài đặt Certbot và plugin Nginx:

sudo apt install certbot python3-certbot-nginx -y

Chạy Certbot để lấy chứng chỉ SSL cho tên miền của bạn:

sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com

Làm theo hướng dẫn trên màn hình để hoàn tất quá trình. Certbot sẽ tự động cấu hình Nginx cho SSL và thiết lập tự động gia hạn.

8. Hoàn tất cài đặt Drupal qua giao diện web

Mở trình duyệt và truy cập vào:

  • Nếu chưa cài SSL: http://yourdomain.com
  • Sau khi cài SSL: https://yourdomain.com

Tiến hành cấu hình Drupal qua giao diện web:

  • Nhập thông tin cơ sở dữ liệu (tên database, người dùng, mật khẩu) đã tạo ở bước 4.
  • Thiết lập các cấu hình ban đầu của Drupal theo hướng dẫn.

9. (Tùy chọn) Thiết lập Cron cho Drupal

Drupal sử dụng cron để tự động thực hiện các tác vụ bảo trì. Bạn có thể thiết lập cron bằng cách thêm dòng lệnh sau vào crontab:

sudo crontab -e

Thêm dòng sau (mỗi 15 phút chạy một lần, thay YOUR_CRON_KEY bằng giá trị cron key từ cấu hình Drupal):

*/15 * * * * wget -O - -q -t 1 http://yourdomain.com/cron.php?cron_key=YOUR_CRON_KEY

Kết luận

Sau khi hoàn thành các bước trên, bạn đã cài đặt thành công Drupal chạy trên Nginx với chứng chỉ SSL từ Let’s Encrypt trên Ubuntu 20.04 LTS. Bạn có thể tiếp tục cấu hình và tuỳ chỉnh Drupal theo nhu cầu của mình.

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *