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

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


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

  1. Требования
  2. Предпосылки
  3. Начальные шаги
  4. Шаг 1. Установите PHP и необходимые расширения PHP
  5. Шаг 2. Установите клиент acme.sh и получите сертификат Lets Encrypt (необязательно)
  6. Шаг 3. Установите MariaDB и создайте базу данных для MyBB.
  7. Шаг 4. Установите и настройте Nginx
  8. Шаг 5. Установите MyBB
  9. Шаг 6. Завершите настройку MyBB

MyBB — это бесплатная интуитивно понятная и расширяемая программа форума с открытым исходным кодом. MyBB прост в использовании и расширяется сотнями плагинов и тем, которые упрощают добавление новых функций или изменение внешнего вида.

Исходный код MyBB размещен на GitHub. В этом руководстве показано, как установить программное обеспечение форума MyBB в системе Debian 10 (buster).

Требования

MyBB 1.8 и Merge System 1.8 имеют несколько минимальных системных требований:

  • PHP не ниже версии 5.2. Настоятельно рекомендуется PHP 7.3.
  • MySQL версии 5.0 или выше, PostgreSQL версии 8.1 или выше или SQLite версии 3 или выше. Настоятельно рекомендуется использовать PostgreSQL 10.0 или MySQL 8.0.
  • Веб-сервер Apache, Nginx, Lighttpd или IIS
  • Также необходимы следующие расширения PHP:
  • ПростойXML
  • mbstring
  • гд
  • Соответствующее PHP-расширение базы данных конкретного поставщика.

ПРИМЕЧАНИЕ. Замените все экземпляры example.com своим доменным именем.

Предпосылки

  • Операционная система Debian 10 (buster).
  • Пользователь без полномочий root с правами sudo.

Начальные шаги

Проверьте свою версию Debian:

lsb_release -ds
# Debian GNU/Linux 10 (buster)

Настройте часовой пояс:

sudo dpkg-reconfigure tzdata

Обновите пакеты операционной системы (программное обеспечение). Это важный первый шаг, поскольку он гарантирует наличие последних обновлений и исправлений безопасности для пакетов программного обеспечения вашей операционной системы по умолчанию:

sudo apt update && sudo apt upgrade -y

Установите несколько основных пакетов, необходимых для базового администрирования операционной системы Debian:

sudo apt install -y curl wget vim git unzip socat bash-completion apt-transport-https

Шаг 1. Установите PHP и необходимые расширения PHP.

Установите PHP, а также необходимые расширения PHP:

sudo apt install -y php php-cli php-fpm php-gd php-mbstring php-xml php-mysql php-pgsql

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

php -m

ctype
curl
exif
fileinfo
. . .
. . .

Проверьте версию:

php --version

# PHP 7.3.9-1~deb10u1 (cli) (built: Sep 18 2019 10:33:23) ( NTS )
# Copyright (c) 1997-2018 The PHP Group
# Zend Engine v3.3.9, Copyright (c) 1998-2018 Zend Technologies
# with Zend OPcache v7.3.4-2, Copyright (c) 1999-2018, by Zend Technologies

Служба PHP-FPM автоматически запускается и включается при перезагрузке системы Debian 10, поэтому нет необходимости запускать и включать ее вручную. Мы можем перейти к следующему шагу.

Шаг 2. Установите клиент acme.sh и получите сертификат Lets Encrypt (необязательно)

Защита вашего форума с помощью HTTPS не является обязательной, но это хорошая практика для защиты трафика вашего сайта. Чтобы получить сертификат TLS от Lets Encrypt, мы будем использовать клиент acme.sh. Acme.sh — это простое программное обеспечение оболочки UNIX для получения сертификатов TLS от Lets Encrypt без каких-либо зависимостей.

Загрузите и установите acme.sh:

sudo su - root
git clone https://github.com/Neilpang/acme.sh.git
cd acme.sh
./acme.sh --install --accountemail
source ~/.bashrc
cd ~

Проверьте версию acme.sh:

acme.sh --version
# v2.8.2

Получите сертификаты RSA и ECC/ECDSA для своего домена/имени хоста:<br>

# RSA 2048
acme.sh --issue --standalone -d example.com --keylength 2048
# ECDSA
acme.sh --issue --standalone -d example.com --keylength ec-256

Если вам нужны поддельные сертификаты для тестирования, вы можете добавить флаг --staging к приведенным выше командам.

После выполнения приведенных выше команд ваши сертификаты и ключи будут в:

  • Для RSA: каталог /home/username/example.com.
  • Для ECC/ECDSA: каталог /home/username/example.com_ecc.

Чтобы просмотреть список выданных сертификатов, вы можете запустить:

acme.sh --list

Создайте каталог для хранения сертификатов. Мы будем использовать каталог /etc/letsencrypt.

mkdir -p /etc/letsecnrypt/example.com
sudo mkdir -p /etc/letsencrypt/example.com_ecc

Установите/скопируйте сертификаты в каталог /etc/letsencrypt.

# RSA
acme.sh --install-cert -d example.com --cert-file /etc/letsencrypt/example.com/cert.pem --key-file /etc/letsencrypt/example.com/private.key --fullchain-file /etc/letsencrypt/example.com/fullchain.pem --reloadcmd "sudo systemctl reload nginx.service"
# ECC/ECDSA
acme.sh --install-cert -d example.com --ecc --cert-file /etc/letsencrypt/example.com_ecc/cert.pem --key-file /etc/letsencrypt/example.com_ecc/private.key --fullchain-file /etc/letsencrypt/example.com_ecc/fullchain.pem --reloadcmd "sudo systemctl reload nginx.service"

Все сертификаты будут автоматически обновляться каждые 60 дней.

После получения сертификатов выйдите из-под пользователя root и вернитесь к обычному пользователю sudo:

exit

Шаг 3. Установите MariaDB и создайте базу данных для MyBB.

Установите сервер базы данных MariaDB:

sudo apt install -y mariadb-server

Проверьте версию MariaDB:

mysql --version
# mysql  Ver 15.1 Distrib 10.3.17-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2

Запустите скрипт установки mysql_secure, чтобы улучшить безопасность MariaDB, и установите пароль для пользователя root MariaDB:

sudo mysql_secure_installation

Ответьте на каждый из вопросов:

Would you like to setup VALIDATE PASSWORD plugin? N
New password: your_secure_password
Re-enter new password: your_secure_password
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 как пользователь root:

sudo mysql -u root -p
# Enter password

Создайте пустую базу данных MariaDB и пользователя для форума MyBB и запомните учетные данные:

mariadb> CREATE DATABASE dbname;
mariadb> GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';
mariadb> FLUSH PRIVILEGES;

Выход из MariaDB:

mariadb> exit

Замените имя_базы_данных, имя пользователя и пароль своими именами.

Шаг 4. Установите и настройте Nginx

Загрузите и установите NGINX из репозитория Debian:

sudo apt install -y nginx

Проверьте версию NGINX:

sudo nginx -v
# nginx version: nginx/1.14.2

Настроить Nginx. Запустите sudo vim /etc/nginx/sites-available/mybb.conf и заполните файл следующим.

server {

listen 80;
listen 443 ssl;

ssl_certificate /etc/letsencrypt/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/example.com/private.key;
ssl_certificate /etc/letsencrypt/example.com_ecc/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/example.com_ecc/private.key;
server_name forum.example.com; root /var/www/mybb; location / { index index.php; } # Deny access to internal files. location ~ /(inc|uploads/avatars) { deny all; } location ~ \.php$ { fastcgi_pass unix:/run/php/php7.3-fpm.sock; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }

Активируйте новую конфигурацию mybb.conf, связав файл с каталогом sites-enabled:

sudo ln -s /etc/nginx/sites-available/mybb.conf /etc/nginx/sites-enabled/

Проверьте конфигурацию NGINX на наличие синтаксических ошибок:

sudo nginx -t

Перезагрузите Nginx:

sudo systemctl reload nginx.service

Шаг 5 – Установите MyBB

Создайте корневой каталог документа:

sudo mkdir -p /var/www/mybb

Загрузите последнюю версию MyBB и разархивируйте ее:

cd /var/www/mybb
sudo wget https://resources.mybb.com/downloads/mybb_1821.zip
sudo unzip mybb_1821.zip
sudo mv /var/www/mybb/Upload/* /var/www/mybb

Удалите загруженный файл .zip:

sudo rm mybb_1821.zip
sudo rmdir Upload

Измените владельца каталога /var/www/mybb на www-data:

sudo chown -R www-data:www-data /var/www/mybb

В качестве последнего шага откройте свой домен и следуйте указаниям мастера установки MyBB. Чтобы получить доступ к установщику, вы должны перейти в каталог /install вашего сайта в веб-браузере. Например, если ваш домен — example.com и вы загрузили файлы MyBB в корневой каталог, перейдите по адресу http://example.com/install. Чтобы получить доступ к админке MyBB, добавьте /admin к URL вашего сайта. Вы успешно установили MyBB.

После установки вам следует удалить каталог /install с вашего сервера, чтобы предотвратить повторный запуск установки кем-либо еще.

sudo rm -rf /var/www/mybb/install/

Шаг 6. Завершите настройку MyBB.

Чтобы получить доступ к установщику, вы должны перейти в каталог install/ вашего сайта в веб-браузере.

После открытия мастера установки MyBB вы должны увидеть такую страницу. Все, что вам нужно сделать, это нажать \Далее\ на этой странице:

Проверьте лицензию MyBB и нажмите \Далее\:

Эта страница проверяет, соответствует ли ваш сервер требованиям для запуска MyBB. Если это не так, вы будете уведомлены об этом на этой странице. Если все работает правильно, все, что вам нужно сделать, это нажать кнопку \Далее\ на этой странице.

Эта страница предназначена для настройки вашей базы данных. Введите запрошенные данные базы данных и нажмите \Далее\.

На этом этапе вставляются таблицы базы данных. На этой странице ввод данных пользователем не требуется, поэтому нажмите кнопку \Далее\, когда она появится.

На этом этапе данные по умолчанию вставляются в таблицы базы данных, созданные выше. Нажмите Далее\.

На этом этапе данные темы загружаются в форум. На этой странице ввод данных пользователем не требуется. Нажмите кнопку \Далее\, когда она появится.

Затем настройте основные параметры, такие как имя форума, URL-адрес и т. д.:

Создайте учетную запись администратора MyBB. У этой учетной записи есть права доступа ко всем разделам в панели управления администратора.

После создания учетной записи администратора вы увидите страницу «Завершить настройку». Эта страница показывает, что установка завершена:

Чтобы получить доступ к интерфейсу администратора, добавьте /admin к вашему URL-адресу:

Админка MyBB будет выглядеть примерно так:

А вот скриншот интерфейса MyBB:

Поздравляем! Вы успешно установили MyBB.

Ссылки

  • https://mybb.com
  • https://github.com/mybb/mybb