如何使用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