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.
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.
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.
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)'.
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 và đang chạy.
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.3 và Composer 2.7.1 đã được cài đặt trên hệ thống Ubuntu của bạn.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22693%22%20height=%22329%22%3E%3C/svg%3E
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'.
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.
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
Mở cấu hình PHP mặc định 'php.ini' bằng lệnh trình chỉnh sửa nano sau.
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_limit và date.timezone.
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.
Để 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.
Dưới đây là cấu hình bạn sẽ được yêu cầu:
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.
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'.
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
Đầ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'.
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.
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.
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
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'.
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.
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.
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.
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.
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.
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.
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'.
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
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
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 và đ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.3 và Composer 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ả HTTP và HTTPS.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'
Mã:
sudo ufw status
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_limit và upload_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
Mã:
memory_limit = 512M
upload_max_filesize = 150M
max_execution_time = 600
date.timezone = Europe/Paris
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
- 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.
Mã:
sudo mariadb -u root -p
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â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}
Mã:
cd /var/www/flarum/
sudo -u www-data composer create-project flarum/flarum .
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
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
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]
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
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
Mã:
sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email [emailprotected] -d forum.howtoforge.local
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