Поиск по сайту:

Как установить ElkArte Forum с Apache и Lets Encrypt SSL на CentOS 8


На этой странице

  1. Предпосылки
  2. Установить сервер LAMP
  3. Настройка MariaDB
  4. Скачать ElkArte
  5. Настройка Apache для ElkArte
  6. Настройка Selinux и брандмауэра
  7. Доступ к ЭлкАрте
  8. Защитите Elkarte с помощью Lets Encrypt SSL
  9. Заключение

ElkArte — это бесплатное программное обеспечение для форумов с открытым исходным кодом, основанное на Simple Machine Forum. Он написан на PHP и использует MariaDB в качестве базы данных. Он предоставляет все функции, необходимые для создания полнофункционального форума сообщества. Он простой, легкий и использует адаптивные темы, которые подходят для любого современного браузера, смартфона или планшета.

Функции

  • Простой и удобный интерфейс
  • Настраиваемый встроенный менеджер надстроек
  • Улучшенная функция защиты от спама.
  • Перетащите прикрепленные файлы
  • Встроенное встраивание видео для youtube, vimeo и dailymotion.

В этом руководстве мы покажем вам, как установить ElkArte с Lets Encrypt SSL на CentOS 8.

Предпосылки

  • Сервер под управлением CentOS 8.
  • Действительное доменное имя, указанное с IP-адресом вашего сервера.
  • Пароль root настраивается на сервере.

Установить 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 httpd
systemctl start mariadb
systemctl enable httpd
systemctl enable mariadb

Как только вы закончите, вы можете перейти к следующему шагу.

Настроить MariaDB

По умолчанию пароль администратора MariaDB не установлен. Поэтому вам нужно будет установить его в своей системе. Вы можете сделать это, запустив следующий скрипт:

mysql_secure_installation

Ответьте на все вопросы, как показано ниже, чтобы установить пароль root:

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 с помощью следующей команды:

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 с помощью следующей команды:

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

Как только вы закончите, вы можете перейти к следующему шагу.

Скачать ЭлкАрте

Во-первых, вам нужно скачать последнюю версию ElkArte из репозитория Git. Вы можете скачать его с помощью следующей команды:

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/elkarte
chmod -R 775 /var/www/html/elkarte

Как только вы закончите, вы можете перейти к следующему шагу.

Настроить Apache для ЭлкАрте

Далее вам нужно будет создать файл конфигурации виртуального хоста Apache для ElkArte. Вы можете создать его с помощью следующей команды:

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

Добавьте следующие строки:

<VirtualHost *:80>
     ServerAdmin 
     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 настроен для обслуживания ElkArte. Теперь вы можете перейти к следующему шагу.

Настройте Selinux и брандмауэр

По умолчанию SELinux включен в CentOS 8. Поэтому вам нужно будет настроить его для своего веб-сайта ElkArte.

Вы можете настроить SELinux с помощью следующей команды:

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

Затем разрешите порты 80 и 443 через брандмауэр с помощью следующей команды:

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

Как только вы закончите, вы можете перейти к следующему шагу.

Доступ к ЭлкАрте

Теперь откройте веб-браузер и войдите в ElkArte, используя URL-адрес http://elk.example.com. Вы будете перенаправлены на следующую страницу:

Нажмите на кнопку Продолжить, чтобы начать установку. Вы должны увидеть следующую страницу:

Укажите данные вашей базы данных и нажмите кнопку «Продолжить». Вы должны увидеть следующую страницу:

Укажите название форума, URL-адрес и нажмите кнопку «Продолжить». Вы должны увидеть следующую страницу:

Теперь нажмите кнопку «Продолжить», чтобы заполнить базу данных. Вы должны увидеть следующую страницу:

Введите имя пользователя администратора, пароль, адрес электронной почты и нажмите кнопку «Продолжить». Вы должны увидеть следующую страницу:

Нажмите на недавно установленную кнопку форума. Вы должны увидеть следующую страницу:

Введите имя пользователя и пароль администратора и нажмите кнопку «Войти». Вы должны увидеть панель инструментов ElkArte на следующей странице:

Защитите Elkarte с помощью Lets Encrypt SSL

На данный момент ElkArte установлен и настроен. Далее рекомендуется защитить ваш сайт ElkArte с помощью Lets Encrypt SSL. Во-первых, вам нужно будет установить клиент Certbot в вашей системе. Certbot — это клиент Lets Encrypt, который можно использовать для загрузки SSL с веб-сайта Lets Encrypt и настройки веб-сервера Apache для использования загруженного SSL.

Вы можете установить Certbot с помощью следующей команды:

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

Теперь выполните следующую команду, чтобы получить и установить SSL-сертификат для вашего веб-сайта ElkArte.

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): 

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
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

Теперь вы можете безопасно получить доступ к своему ElkArte, используя URL-адрес https://elk.example.com.

Заключение

Поздравляем! вы успешно установили ElkArte с Apache и Lets Encrypt SSL на CentOS 8. Теперь вы можете приступить к созданию собственного онлайн-форума. Не стесняйтесь спрашивать меня, если у вас есть какие-либо вопросы.