ElkArte là phần mềm diễn đàn mã nguồn mở và miễn phí dựa trên Simple Machine Forum. Nó được viết bằng PHP và sử dụng MariaDB làm cơ sở dữ liệu phụ trợ. Nó cung cấp tất cả các tính năng cần thiết để xây dựng một diễn đàn cộng đồng đầy đủ tính năng. Nó đơn giản, nhẹ và sử dụng các chủ đề phản hồi phù hợp với mọi trình duyệt, điện thoại thông minh hoặc máy tính bảng hiện đại.
Tính năng
Sau khi tất cả các gói được cài đặt, hãy chỉnh sửa tệp php.ini và thực hiện một số thay đổi mong muốn:
Thay đổi các mục sau values:
Lưu và đóng tệp, sau đó khởi động dịch vụ Apache và MariaDB và cho phép chúng khởi động 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ư được hiển thị bên dưới để đặt mật khẩu gốc:
Sau khi MariaDB được bảo mật, hãy đăng nhập vào shell MariaDB bằng lệnh sau:
Cung cấp mật khẩu gốc 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:
Tiếp theo, cấp tất cả các quyền cho cơ sở dữ liệu ElkArte 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 hoàn tất, bạn có thể tiến hành bước tiếp theo.
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 của Apache bằng lệnh sau:
Tiếp theo, thay đổi quyền sở hữu và quyền 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:
Tại thời điểm này, máy chủ web Apache được cấu hình để phục vụ ElkArte. Bây giờ bạn có thể tiến hành bước tiếp theo.
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 bạn đã hoàn tất, bạn có thể tiến hành bước tiếp theo.
Nhấp vào nút Tiếp tục để bắt đầu cài đặt. Bạn sẽ thấy trang sau:
Cung cấp thông tin chi tiết về cơ sở dữ liệu của bạn 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 của bạ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 để điền thông tin vào cơ sở dữ liệu. Bạn sẽ thấy trang sau:
Cung cấp tên người dùng, mật khẩu, email của quản trị viên và nhấp vào nút Tiếp tục. Bạn sẽ thấy trang sau:
Nhấp vào nút diễn đàn mới cài đặt của bạn. Bạn sẽ thấy trang sau:
Cung cấp tên người dùng, mật khẩu quản trị viên và nhấp vào nút Đăng nhập vào. Bạn sẽ thấy bảng điều khiển ElkArte trong trang sau:
Bạn có thể cài đặt Certbot bằng 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 ElkArte 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:
Lưu ý: Nếu bạn gặp bất kỳ lỗi nào liên quan đến SSL, hãy khởi động lại dịch vụ httpd và chạy lại lệnh trên.
Tiếp theo, 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.
Nhập 2 và nhấn Enter để bắt đầu quá trình cài đặt. Sau khi cài đặt thành công, bạn sẽ nhận được kết quả sau:
Bây giờ bạn có thể truy cập ElkArte của mình một cách an toàn bằng URL
Tính năng
- Giao diện đơn giản và thân thiện với người dùng
- Trình quản lý tiện ích bổ sung có thể tùy chỉnh và tích hợp
- Chức năng chống thư rác được cải thiện
- Kéo và thả tệp đính kèm
- Tích hợp nhúng video cho youtube, vimeo và dailymotion
Điều kiện tiên quyết
- Một máy chủ đang chạy CentOS 8.
- Một tên miền hợp lệ được trỏ bằng IP máy chủ của bạn.
- Một mật khẩu gốc được cấu hình cho máy chủ.
Cài đặt Máy chủ LAMP
Trước tiên, bạn sẽ cần cài đặt Apache, MariaDB, PHP và các tiện ích mở rộng khác trong hệ thống của mình. Bạn có thể cài đặt tất cả chúng bằng cách chạy lệnh sau:
Mã:
dnf install httpd mariadb-server php php-common php-json php-curl php-intl php-mbstring php-xmlrpc php-mysqlnd php-gd php-pgsql php-xml php-cli php-bcmath php-gmp php-zip unzip -y
Mã:
nano /etc/php.ini
Mã:
memory_limit = 256Mupload_max_filesize = 100Mmax_execution_time = 360date.timezone = America/Chicago
Mã:
systemctl start httpd
systemctl start mariadb
systemctl enable httpd
systemctl enable mariadb
Cấu hình MariaDB
Theo mặc định, mật khẩu gốc MariaDB không được đặt. Vì vậy, bạn sẽ cần đặt mật khẩu này trong hệ thống của mình. Bạn có thể thực hiện điều đó bằng cách chạy 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ó):OK, mật khẩu đã sử dụng thành công, tiếp tục...Đặt mật khẩu gốc? [C/N] CXóa người dùng ẩn danh? [C/N] CKhông cho phép đăng nhập root từ xa? [C/N] CXóa cơ sở dữ liệu thử nghiệm và quyền truy cập vào cơ sở dữ liệu đó? [C/N] CTải lại bảng đặc quyền ngay bây giờ? [C/N] C
Mã:
mysql -u root -p
Mã:
MariaDB [(none)]> TẠO CƠ SỞ DỮ LIỆU elkarte;
MariaDB [(none)]> TẠO NGƯỜI DÙNG 'elkarte'@'localhost' ĐƯỢC XÁC ĐỊNH BẰNG 'password';
Mã:
MariaDB [(none)]> CẤP TẤT CẢ TRÊN elkarte.* CHO 'elkarte'@'localhost' VỚI TÙY CHỌN CẤP;
Mã:
MariaDB [(none)]> XẢ CÁC QUYỀN;
MariaDB [(none)]> EXIT;
Tải xuống ElkArte
Trước tiên, bạn cần tải xuống phiên bản ElkArte mới nhất từ kho lưu trữ Git. Bạn có thể tải xuống bằng lệnh sau:
Mã:
wget https://github.com/elkarte/Elkarte/archive/master.zip
Mã:
unzip master.zip
Mã:
mv Elkarte-master /var/www/html/elkarte
Mã:
chown -R apache:apache /var/www/html/elkarte
chmod -R 775 /var/www/html/elkarte
Cấu hình Apache cho ElkArte
Tiếp theo, bạn sẽ cần để tạo tệp cấu hình máy chủ ảo Apache cho ElkArte. Bạn có thể tạo tệp này bằng lệnh sau:
Mã:
nano /etc/httpd/conf.d/elkarte.conf
Mã:
ServerAdmin [emailprotected] DocumentRoot /var/www/html/elkarte ServerName elk.example.com Options FollowSymlinks AllowOverride All Require all granted ErrorLog /var/log/httpd/error.log CustomLog /var/log/httpd//access.log combined
Mã:
systemctl restart httpd
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 ElkArte 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/elkarte
Mã:
firewall-cmd --permanent --add-service=http
Mã:
firewall-cmd --permanent --add-service=https
firewall-cmd --reload
Truy cập ElkArte
Bây giờ, hãy mở trình duyệt web của bạn và truy cập ElkArte bằng URL . Bạn sẽ được chuyển hướng đến trang sau:Nhấp vào nút Tiếp tục để bắt đầu cài đặt. Bạn sẽ thấy trang sau:
Cung cấp thông tin chi tiết về cơ sở dữ liệu của bạn 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 của bạ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 để điền thông tin vào cơ sở dữ liệu. Bạn sẽ thấy trang sau:
Cung cấp tên người dùng, mật khẩu, email của quản trị viên và nhấp vào nút Tiếp tục. Bạn sẽ thấy trang sau:
Nhấp vào nút diễn đàn mới cài đặt của bạn. Bạn sẽ thấy trang sau:
Cung cấp tên người dùng, mật khẩu quản trị viên và nhấp vào nút Đăng nhập vào. 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 SSL
Lúc này, ElkArte đã được cài đặt và cấu hình. Tiếp theo, bạn nên bảo mật trang ElkArte của mình bằng Let's Encrypt SSL. Trước tiên, bạn sẽ cần cài đặt ứng dụng khách Certbot vào hệ thống của mình. Certbot là một máy khách Let's Encrypt có thể được sử dụng để tải xuống SSL từ trang web Let's Encrypt và cấu hình máy chủ web Apache để sử dụng SSL đã tải xuống.Bạn có thể cài đặt 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 --apache -d elk.example.com
Lưu ý: Nếu bạn gặp bất kỳ lỗi nào liên quan đến SSL, hãy khởi động lại dịch vụ httpd và chạy lại lệnh trên.
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 elk.example.comĐang chờ xác minh...Dọn dẹp thử tháchTạo vhost SSL tại /etc/httpd/conf.d/elkarte-le-ssl.confTriển khai chứng chỉ cho VirtualHost /etc/httpd/conf.d/elkarte-le-ssl.conf
Mã:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -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 vhost trong /etc/httpd/conf.d/elkarte.conf đến ssl vhost trong /etc/httpd/conf.d/elkarte-le-ssl.conf- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Xin chúc mừng! Bạn đã bật thành công https://elk.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=elk.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/elk.example.com/fullchain.pem Tệp khóa của bạn đã được lưu tại: /etc/letsencrypt/live/elk.example.com/privkey.pem Chứng chỉ của bạn sẽ hết hạn vào ngày 10-05-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ả* các chứng chỉ của bạn, hãy chạy "certbot-auto 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 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, do đó, 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