Flarum là phần mềm diễn đàn miễn phí, mã nguồn mở và thế hệ tiếp theo giúp bạn dễ dàng bắt đầu và phát triển một cộng đồng trực tuyến thành công. Đây là phần mềm đơn giản, nhẹ, nhanh và thân thiện với thiết bị di động dựa trên PHP. Nó đi kèm với một bộ tính năng phong phú bao gồm Giao diện người dùng thanh lịch, Giao diện hai ngăn, Cuộn vô hạn, Trình soạn thảo nổi, Hoàn toàn đáp ứng và nhiều tính năng khác.
Trong hướng dẫn này, chúng tôi sẽ giải thích cách cài đặt diễn đàn Flarum trên máy chủ CentOS 8.
Tiếp theo, hãy tải xuống và cài đặt kho lưu trữ Remi bằng lệnh sau:
Sau khi cả hai gói được cài đặt, bạn sẽ cần kích hoạt mô-đun php:remi-7.3 để cài đặt PHP 7.3. Bạn có thể bật nó bằng lệnh sau:
Tiếp theo, cài đặt PHP với các phụ thuộc bắt buộc khác bằng lệnh sau:
Sau khi tất cả các gói được cài đặt, hãy khởi động dịch vụ Nginx, MariaDB và PHP-FPM và cho phép chúng khởi động sau khi khởi động lại hệ thống bằng lệnh sau:
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.
Trả lời tất cả các câu hỏi như hiển thị bên dưới:
Sau khi hoàn tất, hãy đăng nhập vào shell MariaDB bằng lệnh sau:
Cung cấp mật khẩu root của bạn khi được nhắc, sau đó tạo cơ sở dữ liệu và người dùng cho Flarum bằng lệnh sau:
Tiếp theo, xóa các đặc quyền và thoát khỏi shell MariaDB bằng lệnh sau:
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.
Thay đổi tên người dùng và nhóm từ apache thành nginx như hiển thị bên dưới:
Tiếp theo, tìm dòng sau:
Và thay thế bằng dòng sau:
Lưu và đóng tệp khi bạn hoàn tất. Sau đó, khởi động lại dịch vụ PHP-FPM để áp dụng các thay đổi:
Bạn có thể cài đặt bằng lệnh sau:
Sau khi cài đặt, bạn sẽ nhận được kết quả sau:
Tiếp theo, di chuyển tệp nhị phân Composer vào thư mục /usr/local/bin và cấp quyền thích hợp:
Tiếp theo, hãy thay đổi thư mục thành thư mục gốc của tài liệu Nginx và tạo một dự án Flarum bằng lệnh sau:
Tiếp theo, cấp quyền thích hợp cho thư mục gốc web Nginx bằng lệnh sau:
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.
Thêm các dòng sau:
Lưu và đóng tệp khi bạn hoàn tất. Tiếp theo, bạn sẽ cần tăng kích thước hash_bucket trong tệp nginx.conf.
Bạn có thể thực hiện bằng cách chỉnh sửa tệp /etc/nginx/nginx.conf:
Thêm dòng sau ngay phía trên dòng cuối cùng:
Lưu và đóng tệp. Sau đó, hãy kiểm tra Nginx xem có lỗi cú pháp nào không bằng lệnh sau:
Bạn sẽ thấy kết quả sau:
Cuối cùng, hãy khởi động lại dịch vụ Nginx và PHP-FPM để áp dụng các thay đổi:
Theo mặc định, SELinux được bật trong CentOS 8. Vì vậy, bạn sẽ cần cấu hình SELinux để Flarum hoạt động chính xác. Bạn có thể cấu hình SELinux bằng lệnh sau:
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.
Cung cấp tên diễn đàn, thông tin chi tiết về cơ sở dữ liệu, tên người dùng quản trị, mật khẩu và nhấp vào nút Cài đặt Flarum. Sau khi quá trình cài đặt hoàn tất thành công, bạn sẽ thấy bảng điều khiển Flarum ở trang sau:
Để thực hiện, bạn sẽ cần tải xuống máy khách certbot trên máy chủ của mình. Bạn có thể tải xuống và thiết lập quyền chính xác bằng cách chạy lệnh sau:
Bây giờ, hãy chạy lệnh sau để lấy và cài đặt chứng chỉ SSL cho trang web flarum của bạn.
Lệnh trên sẽ cài đặt tất cả các phụ thuộc cần thiết trên máy chủ của bạn trước. Sau khi cài đặt, bạn sẽ được yêu cầu cung cấp địa chỉ email và chấp nhận điều khoản dịch vụ như hiển thị bên dưới:
Tiếp theo, bạn sẽ cần chọn có chuyển hướng lưu lượng HTTP sang HTTPS hay không như hiển thị bên dưới:
Nhập 2 và nhấn Enter để tiếp tục. Sau khi quá trình cài đặt hoàn tất, bạn sẽ thấy kết quả sau:
Vậy là xong! Bây giờ bạn có thể truy cập trang web Flarum của mình bằng URL an toàn https://flarum.example.com.
Trong hướng dẫn này, chúng tôi sẽ giải thích cách cài đặt diễn đàn Flarum trên máy chủ CentOS 8.
Yêu cầu
- Máy chủ chạy CentOS 8.
- Tên miền hợp lệ được trỏ bằng IP máy chủ của bạn
- Mật khẩu gốc được cấu hình trên máy chủ.
Bắt đầu
Trước khi bắt đầu, bạn sẽ cần cài đặt kho lưu trữ EPEL và Remi trong hệ thống của mình. Trước tiên, hãy cài đặt kho lưu trữ EPEL bằng lệnh sau:
Mã:
dnf install epel-release -y
Mã:
wget http://rpms.remirepo.net/enterprise/remi-release-8.rpm
rpm -Uvh remi-release-8.rpm
Cài đặt Nginx, MariaDB và PHP
Trước tiên, hãy cài đặt máy chủ web Nginx và máy chủ MariaDB bằng lệnh sau:
Mã:
dnf install nginx mariadb-server -y
Mã:
dnf module enable php:remi-7.3
Mã:
dnf install php php-fpm php-common php-opcache php-pecl-apcu php-cli php-pear php-pdo php-mysqlnd php-pgsql php-pecl-mongodb php-pecl-redis php-pecl-memcache php-pecl-memcached php-gd php-mbstring php-mcrypt php-xml -y
Mã:
systemctl start nginx
systemctl start mariadb
systemctl start php-fpm
systemctl enable nginx
systemctl enable mariadb
systemctl enable php-fpm
Cấu hình Cơ sở dữ liệu MariaDB
Theo mặc định, MariaDB không được bảo mật. Bạn có thể bảo mật bằng tập lệnh sau:
Mã:
mysql_secure_installation
Mã:
Nhập mật khẩu hiện tại cho root (nhập nếu không có):Đặt mật khẩu root? [Y/n] YMật khẩu mới:Nhập lại mật khẩu mới:Xóa người dùng ẩn danh? [Y/n] YKhông cho phép root đăng nhập từ xa? [Y/n] YXóa cơ sở dữ liệu thử nghiệm và quyền truy cập vào cơ sở dữ liệu đó? [Y/n] YTải lại bảng đặc quyền ngay bây giờ? [Y/n] Y
Mã:
mysql -u root -p
Mã:
MariaDB [(none)]> CREATE DATABASE flarumdb;
MariaDB [(none)]> GRANT ALL PRIVILEGES on flarumdb.* to 'flarum'@'localhost' defined by 'password';
Mã:
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;
Cấu hình PHP-FPM cho Nginx
Tiếp theo, bạn sẽ cần cấu hình PHP-FPM để hoạt động với Nginx. Bạn có thể thực hiện bằng cách chỉnh sửa tệp www.conf:
Mã:
nano /etc/php-fpm.d/www.conf
Mã:
user = nginxgroup = nginxlisten.owner = nginxlisten.group = nginx
Mã:
;listen = /run/php-fpm/www.sock
Mã:
listen = 127.0.0.1:9000
Mã:
systemctl restart php-fpm
Cài đặt Flarum
Trước khi cài đặt Flarum, bạn sẽ cần cài đặt Composer trong hệ thống của mình.Bạn có thể cài đặt bằng lệnh sau:
Mã:
curl -sS https://getcomposer.org/installer | php
Mã:
Tất cả các thiết lập đều chính xác để sử dụng ComposerĐang tải xuống...Composer (phiên bản 1.9.2) đã được cài đặt thành công vào: /root/composer.pharSử dụng: php composer.phar
Mã:
mv composer.phar /usr/local/bin/composer
chmod 755 /usr/local/bin/composer
Mã:
cd /var/www/html
composer create-project flarum/flarum . --stability=beta
Mã:
chown -R nginx:nginx /var/www/html
chmod -R 755 /var/www/html
chown -R nginx:nginx /var/lib/php
Cấu hình Nginx cho Flarum
Tiếp theo, bạn sẽ cần tạo tệp cấu hình máy chủ ảo Nginx cho Nginx. Bạn có thể tạo tệp này bằng lệnh sau:
Mã:
nano /etc/nginx/conf.d/flarum.conf
Mã:
server { listen 80; server_name flarum.example.com;# lưu ý rằng các dòng này ban đầu là từ khối "location /"root /var/www/html/public;index index.php index.html index.htm;location / { try_files $uri $uri/ /index.php?$query_string; }location /api { try_files $uri $uri/ /api.php?$query_string; }location /admin { try_files $uri $uri/ /admin.php?$query_string; }location /flarum { deny all; return 404;}location ~ \.php$ { try_files $uri =404; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params;}location ~* \.html$ { expires -1;}location ~* \.(css|js|gif|jpe?g|png)$ { hết hạn 1M; add_header Pragma public; add_header Cache-Control "public, must-revalidate, proxy-revalidate";}gzip on;gzip_http_version 1.1;gzip_vary on;gzip_comp_level 6;gzip_proxied any;gzip_types application/atom+xml application/javascript application/json application/vnd.ms-fontobject application/x-font-ttf application/x-web-app-manifest+json application/xhtml+xml application/xml font/opentype image/svg+xml image/x-icon text/css #text/html -- text/html được nén theo mặc định bởi nginx text/plain text/xml;gzip_buffers 16 8k;gzip_disable "MSIE [1-6]\.(?!.*SV1)"; }
Bạn có thể thực hiện bằng cách chỉnh sửa tệp /etc/nginx/nginx.conf:
Mã:
nano /etc/nginx/nginx.conf
Mã:
server_names_hash_bucket_size 64;
Mã:
nginx -t
Mã:
nginx: cú pháp tệp cấu hình /etc/nginx/nginx.conf là oknginx: kiểm tra tệp cấu hình /etc/nginx/nginx.conf thành công
Mã:
systemctl restart php-fpm
systemctl restart nginx
Cấu hình SELinux và Tường lửa
Trước tiên, bạn sẽ cần tạo một quy tắc tường lửa để cho phép dịch vụ HTTP và HTTPS từ các mạng bên ngoài. Bạn có thể cho phép bằng lệnh sau:
Mã:
firewall-cmd --permanent --add-service=http
Mã:
firewall-cmd --permanent --add-service=https
firewall-cmd --reload
Mã:
setsebool httpd_can_network_connect on -P
Truy cập Flarum Web UI
Bây giờ, hãy mở trình duyệt web của bạn và nhập URL http://flarum.example.com. Bạn sẽ được chuyển hướng đến trang sau:Cung cấp tên diễn đàn, thông tin chi tiết về cơ sở dữ liệu, tên người dùng quản trị, mật khẩu và nhấp vào nút Cài đặt Flarum. Sau khi quá trình cài đặt hoàn tất thành công, bạn sẽ thấy bảng điều khiển Flarum ở trang sau:
Bảo mật Flarum bằng Let's Encrypt SSL
Flarum hiện đã được cài đặt và cấu hình. Đã đến lúc bảo mật nó bằng Let's Encrypt SSL miễn phí.Để thực hiện, bạn sẽ cần tải xuống máy khách certbot trên máy chủ của mình. Bạn có thể tải xuống và thiết lập quyền chính xác bằng cách chạy lệnh sau:
Mã:
wget https://dl.eff.org/certbot-auto
mv certbot-auto /usr/local/bin/certbot-auto
chown root /usr/local/bin/certbot-auto
chmod 0755 /usr/local/bin/certbot-auto
Mã:
certbot-auto --nginx -d flarum.example.com
Mã:
Lưu nhật ký gỡ lỗi vào /var/log/letsencrypt/letsencrypt.logCác plugin đã chọn: Authenticator apache, Installer apacheNhập địa chỉ email (dùng để gia hạn khẩn cấp và thông báo bảo mật) (Nhập 'c' đểhủy): [emailprotected]- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Vui lòng đọc Điều khoản dịch vụ tạihttps://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. Bạn phảiđồng ý để đăng ký với máy chủ ACME tạihttps://acme-v02.api.letsencrypt.org/directory- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -(A)gree/(C)ancel: A- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Bạn có sẵn lòng chia sẻ địa chỉ email của mình với Electronic Frontier Foundation, đối tác sáng lập của dự án Let's Encrypt và tổ chức phi lợi nhuận phát triển Certbot không? Chúng tôi muốn gửi cho bạn email về công việc của chúng tôimã hóa web, tin tức EFF, các chiến dịch và các cách hỗ trợ tự do kỹ thuật số.- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -(C)ó/(K)o: CNhận chứng chỉ mớiThực hiện các thử thách sau:Thử thách http-01 cho flarum.example.comĐang chờ xác minh...Dọn dẹp các thử tháchTriển khai chứng chỉ cho VirtualHost /etc/nginx/conf.d/flarum.conf
Mã:
Vui lòng chọn có chuyển hướng lưu lượng HTTP sang HTTPS hay không, xóa quyền truy cập HTTP.- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -1: Không chuyển hướng - Không thực hiện thêm bất kỳ thay đổi nào đối với cấu hình máy chủ web.2: Chuyển hướng - Chuyển hướng tất cả các yêu cầu đến quyền truy cập HTTPS an toàn. Chọn tùy chọn này chocác trang web mới hoặc nếu bạn tin tưởng rằng trang web của mình hoạt động trên HTTPS. Bạn có thể hoàn tácthay đổi này bằng cách chỉnh sửa cấu hình máy chủ web của mình.- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Chọn số thích hợp [1-2] rồi [enter] (nhấn 'c' để hủy): 2
Mã:
Đang chuyển hướng tất cả lưu lượng truy cập trên cổng 80 sang ssl trong /etc/nginx/conf.d/flarum.conf- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Xin chúc mừng! Bạn đã bật thành công https://flarum.example.comBạn nên kiểm tra cấu hình của mình tại:https://www.ssllabs.com/ssltest/analyze.html?d=flarum.example.com- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -LƯU Ý QUAN TRỌNG: - Xin chúc mừng! Chứng chỉ và chuỗi của bạn đã được lưu tại: /etc/letsencrypt/live/flarum.example.com/fullchain.pem Tệp khóa của bạn đã được lưu tại: /etc/letsencrypt/live/flarum.example.com/privkey.pem Chứng chỉ của bạn sẽ hết hạn vào ngày 23-03-2020. Để có phiên bản mới hoặc đã chỉnh sửa của chứng chỉ này trong tương lai, chỉ cần chạy lại certbot-auto với tùy chọn "certonly". Để gia hạn không tương tác *tất cả* chứng chỉ của bạn, hãy chạy "certbot-auto renew" - Nếu bạn thích Certbot, vui lòng cân nhắc hỗ trợ công việc của chúng tôi bằng cách: Quyên góp cho ISRG / Let's Encrypt: https://letsencrypt.org/donate Quyên góp cho EFF: https://eff.org/donate-le