如何使用Apache安裝ElkArte論壇和使用CentOS 8加密SSL

如何使用Apache安裝ElkArte論壇和使用CentOS 8加密SSL

ElkArte是基於Simple Machine Forum的免費開源論壇軟件。它是用PHP編寫的,並使用MariaDB作為數據庫後端。它提供了構建功能完善的社區論壇所需的所有功能。它簡單,輕巧,並針對現代瀏覽器,智能手機和平板電腦使用響應主題。

特性

  • 簡單易用的界面
  • 可自定義的內置插件管理器
  • 改進的反垃圾郵件功能
  • 拖放附件
  • 用於youtube,vimeo,dailymotion的集成視頻嵌入

本教程說明如何使用“讓我們加密SSL”在CentOS 8上安裝ElkArte。

先決條件

  • 運行CentOS的服務器8。
  • 指向服務器IP的有效域名。
  • 根密碼是在服務器上設置的。

安裝LAMP服務器

首先,您需要在系統上安裝Apache,MariaDB,PHP和其他擴展。您可以通過運行以下命令來全部安裝它們:

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

一旦安裝了所有軟件包,請編輯php.ini文件並進行必要的更改。

nano /etc/php.ini

更改以下值:

memory_limit = 256M
upload_max_filesize = 100M
max_execution_time = 360
date.timezone = America/Chicago

保存並關閉文件,然後啟動Apache和MariaDB服務,以便可以使用以下命令在系統重新啟動時啟動它們:

systemctl start httpdsystemctl start mariadbsystemctl enable httpdsystemctl enable mariadb

完成後,您可以繼續下一步。

配置MariaDB

默認情況下,未設置MariaDB的根密碼。因此,必須在系統中進行設置。為此,請運行以下腳本。

mysql_secure_installation

回答所有問題並設置根密碼,如下所示。

Enter current password for root (enter for none):
OK, successfully used password, moving on...
Set root password? [Y/n] Y
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y

一旦MariaDB受保護,請使用以下命令登錄MariaDB Shell:

mysql -u root -p

在出現提示時輸入root密碼,並使用以下命令創建數據庫和用戶:

MariaDB [(none)]> CREATE DATABASE elkarte;MariaDB [(none)]> CREATE USER 'elkarte'@'localhost' IDENTIFIED BY 'password';

然後使用以下命令將所有權限授予ElkArte數據庫:

MariaDB [(none)]> GRANT ALL ON elkarte.* TO 'elkarte'@'localhost' WITH GRANT OPTION;

然後刷新特權並使用以下命令退出MariaDB shell:

MariaDB [(none)]> FLUSH PRIVILEGES;MariaDB [(none)]> EXIT;

完成後,您可以繼續下一步。

下載Elk Arte

首先,您需要從Git存儲庫下載最新版本的ElkArte。您可以使用以下命令下載它。

wget https://github.com/elkarte/Elkarte/archive/master.zip

下載後,使用以下命令解壓縮下載的文件。

unzip master.zip

然後使用以下命令將提取的目錄移動到Apache根目錄:

mv Elkarte-master /var/www/html/elkarte

然後使用以下命令更改所有權和權限:

chown -R apache:apache /var/www/html/elkartechmod -R 775 /var/www/html/elkarte

完成後,您可以繼續下一步。

為ElkArte配置Apache

接下來,您需要為ElkArte創建一個Apache虛擬主機配置文件。您可以使用以下命令創建它。

nano /etc/httpd/conf.d/elkarte.conf

添加以下行。

<VirtualHost *:80>
     ServerAdmin [email protected]
     DocumentRoot /var/www/html/elkarte
     ServerName elk.example.com

     <Directory /var/www/html/elkarte/>
          Options FollowSymlinks
          AllowOverride All
          Require all granted
     </Directory>

     ErrorLog /var/log/httpd/error.log
     CustomLog /var/log/httpd//access.log combined

</VirtualHost>
systemctl restart httpd

此時,Apache Web服務器已配置為服務ElkArte。現在,您可以繼續下一步。

配置Selinux和防火牆

默認情況下,SELinux在CentOS 8上啟用,並且必須為ElkArte網站配置。

您可以使用以下命令配置SELinux:

setsebool httpd_can_network_connect on -Pchcon -R -u system_u -t httpd_sys_rw_content_t -r object_r /var/www/html/elkarte

然後使用以下命令允許端口80和443通過防火牆。

firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=httpsfirewall-cmd --reload

完成後,您可以繼續下一步。

參觀麋鹿藝術

然後打開Web瀏覽器,並使用URL訪問ElkArte。 http://elk.example.com..您將被重定向到下一頁。

請點擊 繼續 單擊按鈕開始安裝。顯示下一頁。

數據庫設置

輸入數據庫詳細信息,然後單擊 繼續 按鈕。顯示下一頁。

論壇設置

輸入論壇名稱和URL,然後單擊 繼續 按鈕。顯示下一頁。

將數據輸入數據庫

然後點擊 繼續 單擊按鈕將數據輸入數據庫。顯示下一頁。

創建一個管理員帳戶

輸入管理員的用戶名,密碼和電子郵件地址, 繼續 按鈕。顯示下一頁。

完成安裝

請點擊 新安裝的論壇 按鈕。顯示下一頁。

前往論壇前端

輸入管理員用戶名和密碼, 日誌 按鈕。 ElkArte儀錶板顯示在下一頁上。

ElkArte論壇

讓我們加密SSL保護Elkarte

此時,已安裝並配置了ElkArte。接下來,我們建議您使用“讓我們加密SSL”來保護ElkArte網站。首先,您需要在系統上安裝Certbot客戶端。 Certbot是一個Let’s Encrypt客戶端,可用於從Let’s Encrypt網站下載SSL並將您的Apache Web服務器配置為使用下載的SSL。

您可以使用以下命令安裝Certbot:

wget https://dl.eff.org/certbot-automv certbot-auto /usr/local/bin/certbot-autochown root /usr/local/bin/certbot-autochmod 0755 /usr/local/bin/certbot-auto

然後運行以下命令以獲取並安裝ElkArte網站的SSL證書。

certbot-auto --apache -d elk.example.com

上面的命令將首先在服務器上安裝所有必需的依賴項。安裝後,將提示您輸入電子郵件地址並接受使用條款,如下所示。

注意:如果遇到與SSL相關的錯誤,請重新啟動httpd服務,然後再次運行上述命令。

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator apache, Installer apache
Enter email address (used for urgent renewal and security notices) (Enter 'c' to
cancel): [email protected]

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server at
https://acme-v02.api.letsencrypt.org/directory
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(A)gree/(C)ancel: A

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let's Encrypt project and the non-profit
organization that develops Certbot? We'd like to send you email about our work
encrypting the web, EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y

Obtaining a new certificate
Performing the following challenges:
http-01 challenge for elk.example.com
Waiting for verification...
Cleaning up challenges
Created an SSL vhost at /etc/httpd/conf.d/elkarte-le-ssl.conf
Deploying Certificate to VirtualHost /etc/httpd/conf.d/elkarte-le-ssl.conf

然後選擇是否將HTTP通信重定向到HTTPS並刪除HTTP訪問。

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2

鍵入2,然後按Enter鍵開始安裝過程。如果安裝成功完成,您將看到以下輸出:

Redirecting vhost in /etc/httpd/conf.d/elkarte.conf to ssl vhost in /etc/httpd/conf.d/elkarte-le-ssl.conf

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://elk.example.com

You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=elk.example.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/elk.example.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/elk.example.com/privkey.pem
   Your cert will expire on 2020-05-10. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot-auto
   again with the "certonly" option. To non-interactively renew *all*
   of your certificates, run "certbot-auto renew"
 - Your account credentials have been saved in your Certbot
   configuration directory at /etc/letsencrypt. You should make a
   secure backup of this folder now. This configuration directory will
   also contain certificates and private keys obtained by Certbot so
   making regular backups of this folder is ideal.
 - If you like Certbot, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

您現在可以使用URL安全地訪問ElkArte https://elk.example.com。

結論

恭喜! ElkArte現在已使用Apache和Let’s Encrypt SSL成功安裝在CentOS 8上。現在,您可以開始建立自己的在線論壇。如有任何疑問,請隨時與我們聯繫。

Sidebar