Как установить ElkArte Forum с Apache и Lets Encrypt на Debian 10
На этой странице
- Требования
- Начало работы
- Установите Apache, MariaDB и PHP
- Настройка базы данных для ElkArte
- Скачать ElkArte
- Создание виртуального хоста для ElkArte
- Доступ к веб-интерфейсу ElkArte
- Защитите 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.