Vanilla là phần mềm diễn đàn cộng đồng miễn phí, mã nguồn mở và linh hoạt có thể được sử dụng để xây dựng trang diễn đàn của riêng bạn. Đây là giải pháp diễn đàn nhẹ và đa ngôn ngữ giúp bạn thiết lập cộng đồng trực tuyến trong vòng vài phút. Nó được viết bằng PHP và đi kèm với nhiều tiện ích bổ sung và chủ đề. Nó được tích hợp nhiều tính năng cao cấp và được các thương hiệu hàng đầu sử dụng để thu hút khách hàng, thúc đẩy lòng trung thành và giảm chi phí hỗ trợ.
Trong hướng dẫn này, chúng ta sẽ tìm hiểu cách cài đặt diễn đàn Vanilla trên CentOS 8 và bảo mật diễn đàn bằng Let's Encrypt SSL.
Sau khi cài đặt tất cả các gói, hãy khởi động dịch vụ Nginx, PHP-FPM và MariaDB và cho phép chúng khởi động sau khi khởi động lại hệ thống bằng lệnh sau:
Trả lời tất cả các câu hỏi như hiển thị bên dưới:
Sau khi bảo mật MariaDB, hãy đăng nhập vào shell MariaDB bằng lệnh sau:
Cung cấp mật khẩu gốc MariaDB của bạn và tạo cơ sở dữ liệu và người dùng cho Vanilla bằng lệnh sau:
Tiếp theo, cấp tất cả các quyền cho cơ sở dữ liệu Vanilla bằng lệnh sau:
Tiếp theo, xóa các quyền và thoát khỏi shell MariaDB bằng lệnh sau:
Sau khi tải xuống, hãy giải nén tệp đã tải xuống bằng lệnh sau:
Tiếp theo, di chuyển thư mục đã giải nén đến thư mục gốc web Nginx bằng lệnh sau:
Tiếp theo, thay đổi quyền sở hữu thư mục vanilla thành Nginx:
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.
Thay đổi các dòng sau:
Lưu và đóng tệp khi bạn hoàn tất. Sau đó, tạo một thư mục phiên cho PHP và thay đổi quyền sở hữu của nó:
Tiếp theo, khởi động lại dịch vụ PHP-FPM để áp dụng các thay đổi:
Thêm các 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ụ Nginx để áp dụng các thay đổi:
Bạn có thể cài đặt ứng dụng khách Certbot bằng lệnh sau:
Tiếp theo, lấy và cài đặt chứng chỉ SSL cho trang web Vanilla của bạn bằng lệnh sau:
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:
Chọn xem bạn có muốn 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 thành công, bạn sẽ nhận được kết quả sau:
Bạn có thể cấu hình SELinux bằng lệnh sau:
Tiếp theo, cho phép cổng 80 và 443 đi qua tường lửa 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 thông tin chi tiết về Cơ sở dữ liệu, Tiêu đề ứng dụng, Email, Tên người dùng quản trị, Mật khẩu và nhấp vào nút Tiếp tục. Sau khi quá trình cài đặt hoàn tất, bạn sẽ thấy bảng điều khiển Vanilla ở trang sau:
Trong hướng dẫn này, chúng ta sẽ tìm hiểu cách cài đặt diễn đàn Vanilla trên CentOS 8 và bảo mật diễn đàn bằng Let's Encrypt SSL.
Điều kiện tiên quyết
- Máy chủ chạy CentOS 8.
- Mật khẩu gốc được thiết lập trên máy chủ của bạn.
Cài đặt LEMP Server
Trước tiên, bạn sẽ cần cài đặt máy chủ web Nginx, máy chủ cơ sở dữ liệu MariaDB, PHP và các tiện ích mở rộng PHP bắt buộc khác trong hệ thống của mình. Bạn có thể chạy lệnh sau để cài đặt tất cả các gói:
Mã:
dnf install nginx mariadb-server php php php-mysqlnd php-opcache php-xml php-xmlrpc php-gd php-mbstring php-json php-fpm php-curl php-pear php-openssl php-intl unzip -y
Mã:
systemctl start nginx
systemctl start php-fpm
systemctl start mariadb
systemctl enable nginx
systemctl enable php-fpm
systemctl enable mariadb
Cấu hình Cơ sở dữ liệu MariaDB
Trước khi bắt đầu, bạn nên bảo mật MariaDB của mình. 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 vanilladb CHARACTER SET utf8 COLLATE utf8_general_ci;
MariaDB [(none)]> CREATE USER 'vanilla'@'localhost' IDENTIFIED BY 'password';
Mã:
MariaDB [(none)]> CẤP TẤT CẢ CÁC QUYỀN TRÊN vanilladb.* CHO 'vanilla'@'localhost';
Mã:
MariaDB [(none)]> XÓA CÁC QUYỀN;
MariaDB [(none)]> EXIT;
Tải xuống Diễn đàn Vanilla
Bạn có thể tải xuống phiên bản ổn định mới nhất của diễn đàn Vanilla từ trang web chính thức bằng lệnh sau:
Mã:
wget https://open.vanillaforums.com/get/vanilla-core-3.3.zip
Mã:
unzip vanilla-core-3.3.zip
Mã:
mv package /var/www/html/vanilla
Mã:
chown -R nginx:nginx /var/www/html/vanilla
Cấu hình PHP-FPM Pool
Theo mặc định, PHP-FPM được cấu hình cho Apache. Ở đây, chúng ta sẽ sử dụng Nginx làm máy chủ web. Vì vậy, bạn sẽ cần cấu hình PHP-FPM cho Nginx. Bạn có thể thực hiện bằng cách chỉnh sửa tệp /etc/php-fpm.d/www.conf:
Mã:
nano /etc/php-fpm.d/www.conf
Mã:
user = nginxgroup = nginx
Mã:
mkdir -p /var/lib/php/session
chown -R nginx:nginx /var/lib/php/session
Mã:
systemctl restart php-fpm
Cấu hình Nginx cho Vanilla
Tiếp theo, tạo một tệp máy chủ ảo Nginx mới để phục vụ diễn đàn Vanilla.
Mã:
nano /etc/nginx/conf.d/vanilla.conf
Mã:
server { listen 80; server_name vanilla.linuxbuz.com; root /var/www/html/vanilla; index index.php; location ~* /\.git { từ chối tất cả; trả về 403; } location /build/ { từ chối tất cả; trả về 403; } location /cache/ { từ chối tất cả; trả về 403; } location /cgi-bin/ { từ chối tất cả; trả về 403; } location /uploads/import/ { từ chối tất cả; trả về 403; } location /conf/ { từ chối tất cả; trả về 403; } location /tests/ { từ chối tất cả; trả về 403; } location /vendor/ { từ chối tất cả; trả về 403; } location ~* ^/index\.php(/|$) { fastcgi_split_path_info ^(.+\.php)(/.+)$; try_files $fastcgi_script_name =404; set $path_info $fastcgi_path_info; fastcgi_param PATH_INFO $path_info; fastcgi_index index.php; include fastcgi.conf; fastcgi_param SCRIPT_NAME /index.php; fastcgi_param SCRIPT_FILENAME $realpath_root/index.php; fastcgi_param X_REWRITE 1; fastcgi_pass unix:/var/run/php-fpm/www.sock; } location ~* \.php(/|$) { rewrite ^ /index.php$uri last; } location / { try_files $uri $uri/ @vanilla; } location @vanilla { rewrite ^ /index.php$uri last; }}
Mã:
systemctl restart nginx
Bảo mật Vanilla với Let's Encrypt SSL
Tiếp theo, bạn sẽ cần cài đặt tiện ích Certbot trong hệ thống của mình để tải xuống và cài đặt Let's Encrypt SSL cho trang web Vanilla của bạn.Bạn có thể cài đặt ứng dụng khách Certbot bằng 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 vanilla.linuxbuz.com
Mã:
Lưu nhật ký gỡ lỗi vào /var/log/letsencrypt/letsencrypt.logCác plugin đã chọn: Authenticator nginx, Installer nginxNhậ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 vanilla.linuxbuz.comĐang chờ xác minh...Đang dọn dẹp các thử tháchTriển khai chứng chỉ cho VirtualHost /etc/nginx/conf.d/vanilla.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ã:
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/vanilla.conf- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Xin chúc mừng! Bạn đã bật thành công https://vanilla.linuxbuz.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=vanilla.linuxbuz.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/vanilla.linuxbuz.com/fullchain.pem Tệp khóa của bạn đã được lưu tại: /etc/letsencrypt/live/vanilla.linuxbuz.com/privkey.pem Chứng chỉ của bạn sẽ hết hạn vào ngày 2020-06-11. Để 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
Cấu hình SELinux và Tường lửa
Theo mặc định, SELinux được bật trong CentOS 8. Vì vậy, bạn sẽ cần cấu hình nó cho trang web diễn đàn Vanilla của mình.Bạn có thể cấu hình SELinux bằng lệnh sau:
Mã:
setsebool httpd_can_network_connect on -P
chcon -R -u system_u -t httpd_sys_rw_content_t -r object_r /var/www/html/vanilla
Mã:
firewall-cmd --permanent --add-service=http
Mã:
firewall-cmd --permanent --add-service=https
firewall-cmd --reload
Access Vanilla Forum
Mở trình duyệt web của bạn và truy cập URL https://vanilla.linuxbuz.com. Bạn sẽ được chuyển hướng đến trang sau:Cung cấp thông tin chi tiết về Cơ sở dữ liệu, Tiêu đề ứng dụng, Email, Tên người dùng quản trị, Mật khẩu và nhấp vào nút Tiếp tục. Sau khi quá trình cài đặt hoàn tất, bạn sẽ thấy bảng điều khiển Vanilla ở trang sau: