Cách cài đặt Flarum Next Generation Forum trên Ubuntu 24.04

theanh

Administrator
Nhân viên
Flarum là phần mềm diễn đàn mã nguồn mở và miễn phí bằng PHP, JavaScript và TypeScript. Đây là phần mềm diễn đàn thế hệ tiếp theo được thiết kế để tối giản với khả năng mở rộng cao thông qua các tiện ích mở rộng. Flarum là giải pháp hiện đại cho phần mềm diễn đàn, nhanh chóng, đơn giản và dễ sử dụng và cài đặt.

Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách cài đặt Flarum trên Ubuntu 24.04. Bạn sẽ cài đặt Flarum với LAMP Stack (Linux, Apache, MySQL/MariaDB và PHP), sau đó bảo mật nó qua HTTPS bằng Certbot và letsencrypt.

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

Để thực hiện theo hướng dẫn này, hãy đảm bảo bạn có các yêu cầu sau:
  • Ubuntu 24.04 'Noble Numbat'.
  • Người dùng không phải root có quyền quản trị viên.
  • Tường lửa UFW (Uncomplicated Firewall) đang chạy.
  • Tên miền trỏ đến địa chỉ IP của máy chủ.

Cài đặt Dependencies​

Flarum là phần mềm diễn đàn nguồn mở được viết bằng PHP. Để cài đặt, bạn cần cài đặt các dependency vào máy chủ Ubuntu của mình. Phần này bao gồm LAMP Stack (Linux, Apache, MySQL/MariaDB), Git và Composer.

Trong phần này, bạn sẽ cài đặt các phần phụ thuộc cho Flarum thông qua kho lưu trữ Ubuntu.

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

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


Bây giờ hãy chạy các lệnh sau để cài đặt các phần phụ thuộc như LAMP Stack (Linux, Apache, MySQL/MariaDB và PHP), Composer và Git vào hệ thống Ubuntu của bạn.
Mã:
sudo apt install apache2 mariadb-server php php-common php-mysql libapache2-mod-php php-gd php-curl php-json php-xmlrpc php-intl php-bcmath php-zip php-apcu php-mbstring php-fileinfo php-xml php-soap php-tokenizer composer git
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=%22227%22%3E%3C/svg%3E


Sau khi cài đặt, hãy kiểm tra trạng thái dịch vụ Apache bằng lệnh sau. Bạn sẽ thấy máy chủ web Apache được bật với trạng thái 'hoạt động (đang chạy)'.
Mã:
sudo systemctl is-enabled apache2
sudo systemctl status apache2

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


Bây giờ hãy xác minh máy chủ MariaDB bằng lệnh sau. Bạn sẽ thấy một đầu ra tương tự, trong đó MariaDB được bậtđang chạy.
Mã:
sudo systemctl is-enabled mariadb
sudo systemctl status mariadb

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22226%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 sau. Bạn sẽ thấy rằng PHP 8.3Composer 2.7.1 đã được cài đặt trên hệ thống Ubuntu của bạn.
Mã:
php -v
sudo -u www-data composer -v

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

Thiết lập UFW (Uncomplicated Firewall)​

Sau khi cài đặt các phần phụ thuộc, bạn cần cho phép truy cập vào máy chủ web Apache thông qua UFW (Uncomplicated Firewall). Máy chủ web Apache cung cấp cấu hình ứng dụng UFW 'Apache Full' để cho phép truy cập cả HTTPHTTPS.

Chạy lệnh bên dưới để mở cả quyền truy cập HTTP và HTTPS thông qua cấu hình 'Apache Full'. Khi được thêm vào, bạn sẽ thấy đầu ra 'Đã thêm quy tắc'.
Mã:
sudo ufw allow 'Apache Full'
Bây giờ hãy xác minh danh sách các quy tắc trên UFW của bạn bằng lệnh sau.
Mã:
sudo ufw status
Bạn sẽ kích hoạt được cấu hình 'Apache Full' trên tường lửa của mình. Với điều này, cả quyền truy cập HTTP và HTTPS vào máy chủ web Apache của bạn đều được phép.


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

Cấu hình PHP​

Trong phần này, bạn sẽ cấu hình PHP cho Flarum bằng cách chỉnh sửa tệp 'php.ini'. Bạn sẽ cần điều chỉnh một số cấu hình PHP như memory_limitupload_max_filesize cho cài đặt Flarum của bạn.

Mở cấu hình PHP mặc định 'php.ini' bằng lệnh trình chỉnh sửa nano sau.
Mã:
sudo nano /etc/php/8.3/apache2/php.ini
Thay đổi cấu hình PHP mặc định bằng lệnh sau. Đảm bảo điều chỉnh giá trị cho các tùy chọn memory_limitdate.timezone.
Mã:
memory_limit = 512M
upload_max_filesize = 150M
max_execution_time = 600
date.timezone = Europe/Paris
Khi hoàn tất, hãy lưu tệp và thoát.

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

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

Sau khi cấu hình PHP, bạn sẽ bảo mật máy chủ MariaDB và tạo một cơ sở dữ liệu và người dùng mới sẽ được Flarum sử dụng. Bạn có thể bảo mật MariaDB thông qua lệnh 'mariadb-secure-installation', sau đó tạo một cơ sở dữ liệu và người dùng mới thông qua máy khách 'mariadb'.

Để bảo mật máy chủ MariaDB, hãy thực hiện lệnh 'mariadb-secure-installation' bên dưới. Sau đó, bạn sẽ được hỏi về một số cấu hình của MariaDB.
Mã:
sudo mariadb-secure-installation
Dưới đây là cấu hình bạn sẽ được yêu cầu:
  • 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 của 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, nhập Y để tải lại các đặc quyền bảng và áp dụng các thay đổi mới.
Sau khi MariaDB được bảo mật, hãy đă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
Bây giờ hãy chạy các truy vấn sau để tạo cơ sở dữ liệu và người dùng mới cho Flarum. Trong ví dụ này, bạn sẽ tạo một cơ sở dữ liệu mới 'flarum', một người dùng 'flarum', với mật khẩu 'password'. Bạn có thể thay thế những thông tin đó bằng thông tin của bạn.
Mã:
CREATE DATABASE flarum;
CREATE USER flarum@localhost IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON flarum.* TO flarum@localhost;
FLUSH PRIVILEGES;

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


Tiếp theo, chạy truy vấn bên dưới để xác minh quyền của người dùng 'flarum'. Điều này sẽ đảm bảo rằng người dùng 'flarum' có thể truy cập cơ sở dữ liệu 'flarum'.
Mã:
SHOW GRANTS FOR flarum@localhost;
Bạn có thể thấy bên dưới người dùng 'flarum' có thể truy cập cơ sở dữ liệu 'flarum'.

Bây giờ hãy nhập quit để thoát khỏi máy chủ MariaDB.


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

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

Với tất cả các phụ thuộc đã được cấu hình, bạn đã sẵn sàng tải xuống mã nguồn Flarum. Trong phần này, bạn sẽ tạo một thư mục gốc tài liệu mới cho Flarum, sau đó tải xuống mã nguồn Flarum thông qua Composer.

Đầu tiên, hãy chạy lệnh bên dưới để tạo một thư mục cài đặt Flarum mới '/var/www/flarum/' và các thư mục cho Composer '/var/www/.cache' và '/var/www/.config'. Sau đó, thay đổi quyền sở hữu các thư mục đó thành người dùng 'www-data'.
Mã:
mkdir -p /var/www/{.cache,.config,flarum}
chown -R www-data:www-data /var/www/{.cache,.config,flarum}
Bây giờ hãy di chuyển đến thư mục '/var/www/flarum/' và tải xuống mã nguồn Flarum thông qua lệnh Composer bên dưới.
Mã:
cd /var/www/flarum/
sudo -u www-data composer create-project flarum/flarum .
Bạn có thể xem bên dưới quá trình tải xuống mã nguồn Flarum code.


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


Sau khi quá trình tải xuống hoàn tất, hãy chạy lệnh 'ls' sau để kiểm tra mã nguồn Flarum.
Mã:
ls -ah
Bạn sẽ thấy mã nguồn Flarum đã tải xuống như sau:


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

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

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

Trước khi tạo máy chủ ảo, hãy chạy lệnh sau để kích hoạt các mô-đun Apache 'ssl', 'rewrite' và 'headers'.
Mã:
sudo a2enmod ssl rewrite headers

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


Bây giờ hãy tạo một máy chủ ảo mới cấu hình '/etc/apache2/sites-available/flarum.conf' bằng lệnh nano editor sau.
Mã:
sudo nano /etc/apache2/sites-available/flarum.conf
Chè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ủa bạn và đường dẫn đến thư mục Document-Root cho Flarum của bạn cài đặt.
Mã:
 ServerAdmin [emailprotected]
 DocumentRoot /var/www/flarum/public
 ServerName forum.howtoforge.local

 
 Options FollowSymlinks
 AllowOverride All
 Require all granted
 

 ErrorLog ${APACHE_LOG_DIR}/error.log
 CustomLog ${APACHE_LOG_DIR}/access.log combined
 
 
 RewriteEngine on
 RewriteBase /
 RewriteCond %{REQUEST_FILENAME} !-f
 RewriteRule ^(.*) index.php [PT,L]
Khi hoàn tất, hãy lưu tệp và thoát khỏi trình chỉnh sửa.

Tiếp theo, chạy lệnh bên dưới để kích hoạt tệp máy chủ ảo 'flarum.conf' và xác minh cú pháp Apache của bạn.
Mã:
sudo a2ensite flarum.conf
sudo apachectl configtest
Bạn sẽ có đầu ra 'Cú pháp OK' khi bạn cấu hình Apache đúng.


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


Cuối cùng, hãy chạy lệnh sau để khởi động lại máy chủ web Apache và áp dụng cấu hình máy chủ ảo Flarum mới. Với điều này, Flarum của bạn sẽ có thể truy cập được.
Mã:
sudo systemctl restart apache2

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

Nếu bạn đang chạy Flarum trên miền công cộng, bạn có thể bảo mật bằng HTTPS bằng chứng chỉ Certbot và Letsencrypt. Nếu bạn đang sử dụng miền cục bộ, bạn có thể sử dụng chứng chỉ Tự ký.

Cài đặt Certbot và plugin Certbot Apache bằng lệnh bên dưới. Nhập Y để xác nhận cài đặt.
Mã:
sudo apt install certbot python3-certbot-apache
Bây giờ hãy thực hiện lệnh 'certbot' sau để tạo chứng chỉ SSL/TLS cho cài đặt Flarum của bạn. Hãy đảm bảo thay đổi thông tin chi tiết của tên miền và địa chỉ email bằng thông tin của bạn.
Mã:
sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email [emailprotected] -d forum.howtoforge.local
Sau khi quá trình hoàn tất, cài đặt Flarum của bạn sẽ được bảo mật bằng HTTPS. Và chứng chỉ SSL/TLS của bạn sẽ có trong thư mục '/etc/letsencrypt/live/domain.com'.

Cài đặt Flarum​

Mở trình duyệt web và truy cập tên miền của bạn như https://forum.howtoforge.local/. Nếu cấu hình thành công, bạn sẽ nhận được trình hướng dẫn cài đặt Flarum.

Nhập tiêu đề diễn đàn, thông tin chi tiết về cơ sở dữ liệu MariaDB, người dùng và mật khẩu. Sau đó, nhập thông tin người dùng quản trị, email và mật khẩu cho cài đặt Flarum mới của bạn.

Nhấp vào nút 'Cài đặt Flarum' để tiếp tục cài đặt.


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


Sau khi cài đặt hoàn tất, bạn sẽ thấy bảng điều khiển quản trị Flarum như sau:


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


Bây giờ hãy nhấp vào biểu tượng người dùng của bạn và chọn Quản trị. Điều này sẽ hiển thị cho bạn thông tin chi tiết về cài đặt Flarum của bạn.

Như bạn có thể thấy bên dưới, Flarum 1.8.5 được cài đặt với PHP 8.3 và máy chủ MariaDB 10.11.


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

Kết luận​

Xin chúc mừng! Bây giờ bạn đã hoàn tất cài đặt Flarum trên Ubuntu 24.04. Bạn đã chạy Flarum với LAMP Stack (Linux, Apache, MySQL/MariaDB và PHP), bạn cũng đã bảo mật Flarum bằng HTTPS thông qua Certbot và Letsencrypt.
 
Back
Bên trên