Как установить ElkArte Forum с Apache и Lets Encrypt SSL на CentOS 8
На этой странице
- Предпосылки
- Установить сервер LAMP
- Настройка MariaDB
- Скачать ElkArte
- Настройка Apache для ElkArte
- Настройка Selinux и брандмауэра
- Доступ к ЭлкАрте
- Защитите Elkarte с помощью Lets Encrypt SSL
- Заключение
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. Теперь вы можете приступить к созданию собственного онлайн-форума. Не стесняйтесь спрашивать меня, если у вас есть какие-либо вопросы.