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

Как установить ElkArte Forum с Apache и Lets Encrypt на Debian 10


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

  1. Требования
  2. Начало работы
  3. Установите Apache, MariaDB и PHP
  4. Настройка базы данных для ElkArte
  5. Скачать ElkArte
  6. Создание виртуального хоста для ElkArte
  7. Доступ к веб-интерфейсу ElkArte
  8. Защитите ElkArte с помощью Lets Encrypt

ElkArte — это бесплатное и мощное программное обеспечение для форумов с открытым исходным кодом, которое позволяет вам создавать собственное онлайн-форумное сообщество. Это простая, легкая и современная платформа для форумов, основанная на PHP и использующая MySQL/MariaDB для хранения своих данных. ElkArte поставляется с богатым набором функций, включая уведомления, лайки для сообщений, черновики, автоматическое сохранение, перетаскивание вложенных файлов, встроенное встраивание видео для YouTube, размещение по электронной почте, улучшенные меры защиты от спама и многое другое.

В этом руководстве мы объясним, как установить ElkArte на сервер Debian 10.

Требования

  • Сервер под управлением Debian 10.
  • Для вашего сервера установлен пароль root.

Начиная

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

apt-get update -y
apt-get upgrade -y

После обновления сервера перезапустите его, чтобы изменения вступили в силу.

Установите Apache, MariaDB и PHP

Во-первых, вам нужно будет установить веб-сервер Apache, сервер базы данных MariaDB, PHP и другие необходимые библиотеки на ваш сервер. Вы можете установить их все, выполнив следующую команду:

apt-get install apache2 mariadb-server php libapache2-mod-php php-common php-curl php-intl php-mbstring php-xmlrpc php-mysql php-gd php-pgsql php-xml php-cli php-imagick php-bcmath php-gmp php-zip unzip -y

После установки всех пакетов откройте файл php.ini и настройте некоторые параметры:

nano /etc/php/7.3/apache2/php.ini

Измените следующие строки:

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

Сохраните и закройте файл, когда закончите. Затем перезапустите веб-сервер Apache с помощью следующей команды:

systemctl restart apache2

Настроить базу данных для ElkArte

Далее вам нужно будет создать базу данных и пользователя для ElkArte. Для этого войдите в оболочку MariaDB с помощью следующей команды:

mysql -u root -p

Укажите свой пароль root при появлении запроса, затем создайте базу данных и пользователя с помощью следующей команды:

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

Затем предоставьте все привилегии ElkArte с помощью следующей команды:

MariaDB [(none)]> GRANT ALL ON elkartedb.* 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

Затем измените владельца каталога elkarte и предоставьте необходимые разрешения с помощью следующей команды:

chown -R www-data:www-data /var/www/html/elkarte
chmod -R 755 /var/www/html/elkarte

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

Создать виртуальный хост для ElkArte

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

nano /etc/apache2/sites-available/elkarte.conf

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

<VirtualHost *:80>
     ServerAdmin 
     DocumentRoot /var/www/html/elkarte
     ServerName example.com

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

     ErrorLog ${APACHE_LOG_DIR}/error.log
     CustomLog ${APACHE_LOG_DIR}/access.log combined
    
</VirtualHost>

Сохраните и закройте файл, когда закончите. Затем включите файл виртуального хоста и модуль перезаписи Apache с помощью следующей команды:

a2ensite elkarte.conf
a2enmod rewrite

Наконец, перезапустите веб-сервер Apache, чтобы применить изменения:

systemctl restart apache2

Доступ к веб-интерфейсу ElkArte

Теперь ElkArte установлен и настроен. Пришло время получить доступ к веб-интерфейсу ElkArte.

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

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

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

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

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

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

Теперь нажмите на \ваш недавно установленный форум\. Вы должны увидеть панель инструментов ElkArte на следующей странице:

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

Во-первых, вам нужно будет установить Certbot на свой сервер. Certbot используется для получения SSL-сертификата от Let’s Encrypt и настройки Apache для использования этого сертификата.

По умолчанию последняя версия Certbot недоступна в репозитории по умолчанию Debian 10. Поэтому вам нужно будет добавить репозиторий Certbot на свой сервер.

Сначала добавьте репозиторий Certbot с помощью следующей команды:

add-apt-repository ppa:certbot/certbot

После добавления репозитория обновите репозиторий и установите Certbot с помощью следующей команды:

apt-get update -y
apt-get install certbot python-certbot-apache -y

Теперь Certbot установлен и готов к использованию.

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

certbot --apache -d example.com

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

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 example.com
Enabled Apache rewrite module
Waiting for verification...
Cleaning up challenges
Created an SSL vhost at /etc/apache2/sites-available/example.com-le-ssl.conf
Deploying Certificate to VirtualHost /etc/apache2/sites-available/example.com-le-ssl.conf
Enabling available site: /etc/apache2/sites-available/example.com-le-ssl.conf

Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
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, чтобы загрузить и установить бесплатный SSL-сертификат для вашего домена. После успешного завершения установки. Вы должны получить следующий результат:

Enabled Apache rewrite module
Redirecting vhost in /etc/apache2/sites-enabled/example.com.conf to ssl vhost in /etc/apache2/sites-available/
example.com-le-ssl.conf

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

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

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/example.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/example.com/privkey.pem
   Your cert will expire on 2019-10-22. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot again
   with the "certonly" option. To non-interactively renew *all* of
   your certificates, run "certbot 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 теперь защищен сертификатом SSL. Теперь вы можете безопасно получить к нему доступ, посетив URL-адрес https://example.com.