Cách cài đặt ElkArte Forum với Apache và Let's Encrypt trên Debian 10

theanh

Administrator
Nhân viên
ElkArte là phần mềm diễn đàn miễn phí, mã nguồn mở và mạnh mẽ cho phép bạn tạo cộng đồng diễn đàn trực tuyến của riêng mình. Đây là nền tảng diễn đàn đơn giản, nhẹ và hiện đại dựa trên PHP và sử dụng MySQL/MariaDB để lưu trữ dữ liệu. ElkArte đi kèm với nhiều tính năng bao gồm, Thông báo, Thích cho bài đăng, Bản nháp, Tự động lưu, Kéo và thả tệp đính kèm, Nhúng video tích hợp cho youtube, Đăng qua Email, Cải thiện các biện pháp chống thư rác 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 ElkArte trên máy chủ Debian 10.

Yêu cầu​

  • Máy chủ chạy Debian 10.
  • Mật khẩu gốc được thiết lập cho máy chủ của bạn.

Bắt đầu​

Trước khi bắt đầu, bạn sẽ cần cập nhật hệ thống của mình lên phiên bản mới nhất. Bạn có thể thực hiện việc này bằng cách chạy lệnh sau:
Mã:
apt-get update -y
apt-get upgrade -y
Sau khi máy chủ của bạn được cập nhật, hãy khởi động lại máy chủ để áp dụng các thay đổi.

Cài đặt Apache, MariaDB và PHP​

Trước tiên, bạn sẽ cần cài đặt máy chủ web Apache, máy chủ cơ sở dữ liệu MariaDB, PHP và các thư viện cần thiết khác vào máy chủ của mình. Bạn có thể cài đặt tất cả các gói này bằng cách chạy lệnh sau:
Mã:
apt-get install apache2 mariadb-server php libapache2-mod-php php-common php-curl php-intl php-mbstring php-xmlrpc php-mysql php-gd php-pgsql php-xml php-cli php-imagick php-bcmath php-gmp php-zip unzip -y
Sau khi tất cả các gói được cài đặt, hãy mở tệp php.ini và điều chỉnh một số cài đặt:
Mã:
nano /etc/php/7.3/apache2/php.ini
Thay đổi các dòng sau:
Mã:
memory_limit = 256Mupload_max_filesize = 100Mmax_execution_time = 360date.timezone = America/Chicago
Lưu và đóng tệp khi bạn hoàn tất. Sau đó, khởi động lại máy chủ web Apache bằng lệnh sau:
Mã:
systemctl restart apache2

Cấu hình Cơ sở dữ liệu cho ElkArte​

Tiếp theo, bạn sẽ cần tạo cơ sở dữ liệu và người dùng cho ElkArte. Để thực hiện, hãy đăng nhập vào shell MariaDB bằng lệnh sau:
Mã:
mysql -u root -p
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 bằng lệnh sau:
Mã:
MariaDB [(none)]> CREATE DATABASE elkartedb;
MariaDB [(none)]> CREATE USER 'elkarte'@'localhost' IDENTIFIED BY 'password';
Tiếp theo, cấp tất cả các quyền cho ElkArte bằng lệnh sau:
Mã:
MariaDB [(none)]> GRANT ALL ON elkartedb.* TO 'elkarte'@'localhost' WITH GRANT OPTION;
Tiếp theo, flush các quyền và thoát khỏi shell MariaDB bằng lệnh sau:
Mã:
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.

Tải xuống ElkArte​

Đầu tiên, bạn sẽ cần tải xuống phiên bản ElkArte mới nhất từ kho lưu trữ Git. Để tải xuống, hãy chạy lệnh sau:
Mã:
wget https://github.com/elkarte/Elkarte/archive/master.zip
Sau khi tải xuống hoàn tất, hãy giải nén tệp đã tải xuống bằng lệnh sau:
Mã:
unzip master.zip
Tiếp theo, di chuyển thư mục đã giải nén đến thư mục gốc web Apache:
Mã:
mv Elkarte-master /var/www/html/elkarte
Tiếp theo, hãy thay đổi quyền sở hữu của thư mục elkarte và cung cấp các quyền cần thiết bằng lệnh sau:
Mã:
chown -R www-data:www-data /var/www/html/elkarte
chmod -R 755 /var/www/html/elkarte
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.

Tạo máy chủ ảo cho ElkArte​

Tiếp theo, bạn sẽ cần tạo tệp cấu hình máy chủ ảo Apache để phục vụ ElkArte. Bạn có thể tạo tệp này bằng lệnh sau:
Mã:
nano /etc/apache2/sites-available/elkarte.conf
Thêm các dòng sau:
Mã:
 ServerAdmin [emailprotected] DocumentRoot /var/www/html/elkarte ServerName example.com  Options FollowSymlinks AllowOverride All Require all granted  ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined
Lưu và đóng tệp khi bạn hoàn tất. Sau đó, kích hoạt tệp máy chủ ảo và mô-đun ghi đè Apache bằng lệnh sau:
Mã:
a2ensite elkarte.conf
a2enmod rewrite
Cuối cùng, khởi động lại máy chủ web Apache để áp dụng các thay đổi:
Mã:
systemctl restart apache2

Truy cập Giao diện web ElkArte​

ElkArte hiện đã được cài đặt và cấu hình. Đã đến lúc truy cập giao diện web ElkArte.

Mở trình duyệt web của bạn và nhập URL . Bạn sẽ được chuyển hướng đến trang chào mừng ElkArte:



Nhấp vào nút Tiếp tục. Bạn sẽ thấy trang sau:



Cung cấp tên cơ sở dữ liệu, tên người dùng cơ sở dữ liệu, mật khẩu và nhấp vào nút Tiếp tục. Bạn sẽ thấy trang sau:



Cung cấp tên Diễn đàn, URL Diễn đàn và nhấp vào nút Tiếp tục. Bạn sẽ thấy trang sau:



Bây giờ, hãy nhấp vào nút Tiếp tục. Bạn sẽ thấy trang tạo quản trị viên:



Cung cấp tên quản trị viên, mật khẩu, email, mật khẩu cơ sở dữ liệu mong muốn 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 trang sau:



Bây giờ, hãy nhấp vào "diễn đàn mới cài đặt của bạn". Bạn sẽ thấy bảng điều khiển ElkArte trong trang sau:


Bảo mật ElkArte bằng Let's Encrypt​

Trước tiên, bạn sẽ cần cài đặt Certbot trên máy chủ của mình. Certbot được sử dụng để lấy chứng chỉ SSL từ Let's Encrypt và cấu hình Apache để sử dụng chứng chỉ này.

Theo mặc định, phiên bản mới nhất của Certbot không có trong kho lưu trữ mặc định của Debian 10. Vì vậy, bạn sẽ cần thêm kho lưu trữ Certbot vào máy chủ của mình.

Trước tiên, hãy thêm kho lưu trữ Certbot bằng lệnh sau:
Mã:
add-apt-repository ppa:certbot/certbot
Sau khi kho lưu trữ được thêm vào, hãy cập nhật kho lưu trữ và cài đặt Certbot bằng lệnh sau:
Mã:
apt-get update -y
apt-get install certbot python-certbot-apache -y
Certbot hiện đã được cài đặt và sẵn sàng sử dụng.

Chạy lệnh sau để lấy chứng chỉ SSL cho tên miền của bạn:
Mã:
certbot --apache -d example.com
Trước tiên, bạn sẽ cần cung cấp địa chỉ email hợp lệ và đồng ý với các điều khoản dịch vụ như được hiển thị bên dưới:
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)ó: CNhận chứng chỉ mớiThực hiện các thử thách sau:Thử thách http-01 cho example.comĐã bật mô-đun viết lại ApacheĐang chờ xác minh...Dọn dẹp các thử tháchĐã tạo một vhost SSL tại /etc/apache2/sites-available/example.com-le-ssl.confTriển khai chứng chỉ tới VirtualHost /etc/apache2/sites-available/example.com-le-ssl.confBật trang web khả dụng: /etc/apache2/sites-available/example.com-le-ssl.confVui 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
Tiếp theo, chọn tùy chọn 2 để tải xuống và cài đặt chứng chỉ SSL miễn phí cho tên miền của bạn. 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:
Mã:
Đã bật mô-đun ghi đè ApacheĐang chuyển hướng vhost trong /etc/apache2/sites-enabled/example.com.conf sang ssl vhost trong /etc/apache2/sites-available/example.com-le-ssl.conf- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Xin chúc mừng! Bạn đã bật thành công https://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=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/example.com/fullchain.pem Tệp khóa của bạn đã được lưu tại: /etc/letsencrypt/live/example.com/privkey.pem Chứng chỉ của bạn sẽ hết hạn vào ngày 22-10-2019. Để 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 với tùy chọn "certonly". Để gia hạn không tương tác *tất cả* các chứng chỉ của bạn, hãy chạy "certbot renew" - Thông tin đăng nhập tài khoản của bạn đã được lưu trong thư mục cấu hình Certbot của bạn tại /etc/letsencrypt. Bây giờ bạn nên sao lưu an toàn thư mục này. Thư mục cấu hình này cũng sẽ chứa các chứng chỉ và khóa riêng do Certbot thu được, vì vậy, việc sao lưu thường xuyên thư mục này là lý tưởng. - 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
Xin chúc mừng! ElkArte của bạn hiện được bảo mật bằng chứng chỉ SSL. Bây giờ bạn có thể truy cập an toàn bằng cách truy cập URL .
 
Back
Bên trên