Как установить программное обеспечение сообщества Flarum на Debian 12

Flarum – это программное обеспечение для сообществ с открытым исходным кодом, предназначенное для создания и управления онлайн-форумами. Построенный с гладким, современным интерфейсом, Flarum предлагает оптимизированный пользовательский опыт, оптимизированный для производительности и простоты. Он отлично настраивается с помощью надежной системы расширений, что позволяет администраторам адаптировать форумы к конкретным потребностям и предпочтениям. Flarum поддерживает отзывчивый дизайн, обеспечивающий совместимость с различными устройствами, а также такие функции, как уведомления в реальном времени, встраивание мультимедиа и удобные инструменты модерации. Основа на PHP и MySQL делает его доступным для широкого спектра хостинговых сред, что привлекает как небольшие сообщества, так и крупные организации, ищущие эффективную платформу для онлайн-дискуссий.

В этом руководстве мы узнаем, как установить Flarum Community Software на сервер, основанный на Debian 12.

Предварительные условия

  • Сервер под управлением Debian 12.
  • Некорневой пользователь с привилегиями sudo.
  • Полное доменное имя (FQDN), например flarum.example.com , указывающее на ваш сервер.
  • Убедитесь, что на вашем сервере включено хранилище подкачки, если вы используете сервер с 1 ГБ ОЗУ.
  • Убедитесь, что все обновлено.
    $ sudo apt update && sudo apt upgrade
    
  • Для работы TFlarum требуется несколько необходимых пакетов. Некоторые из них уже находятся на вашем сервере.
    $ sudo apt install curl wget nano software-properties-common dirmngr apt-transport-https ca-certificates lsb-release debian-archive-keyring gnupg2 ufw unzip -y
    

Шаг 1 – Настройка брандмауэра

Первым шагом будет настройка брандмауэра. Debian по умолчанию поставляется с ufw (Uncomplicated Firewall).

Проверьте, запущен ли брандмауэр.

$ sudo ufw status

Вы получите следующий результат.

Status: inactive

Разрешите порт SSH, чтобы брандмауэр не разорвал текущее соединение при его включении.

$ sudo ufw allow OpenSSH

Разрешите также порты HTTP и HTTPS.

$ sudo ufw allow http
$ sudo ufw allow https

Включите брандмауэр

$ sudo ufw enable
Command may disrupt existing ssh connections. Proceed with operation (y|n)? y
Firewall is active and enabled on system startup

Еще раз проверьте состояние брандмауэра.

$ sudo ufw status

Вы должны увидеть аналогичный результат.

Status: active

To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere
80/tcp                     ALLOW       Anywhere
443                        ALLOW       Anywhere
OpenSSH (v6)               ALLOW       Anywhere (v6)
80/tcp (v6)                ALLOW       Anywhere (v6)
443 (v6)                   ALLOW       Anywhere (v6)

Шаг 2 – Установите Nginx

Debian 12 поставляется со старой версией Nginx. Чтобы установить последнюю версию, вам нужно загрузить официальный репозиторий Nginx.

Импортируйте ключ подписи Nginx.

$ curl https://nginx.org/keys/nginx_signing.key | gpg --dearmor \
    | sudo tee /usr/share/keyrings/nginx-archive-keyring.gpg >/dev/null

Добавьте репозиторий для стабильной версии Nginx.

$ echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] \
http://nginx.org/packages/debian `lsb_release -cs` nginx" \
    | sudo tee /etc/apt/sources.list.d/nginx.list

Обновите системные репозитории.

$ sudo apt update

Установите Nginx.

$ sudo apt install nginx

Проверьте установку. На системах Debian следующая команда будет работать только с sudo.

$ sudo nginx -v
nginx version: nginx/1.24.0

Запустите сервер Nginx.

$ sudo systemctl start nginx

Проверьте состояние службы.

$ sudo systemctl status nginx
? nginx.service - nginx - high performance web server
     Loaded: loaded (/lib/systemd/system/nginx.service; enabled; preset: enabled)
     Active: active (running) since Thu 2023-11-09 12:08:18 UTC; 1s ago
       Docs: https://nginx.org/en/docs/
    Process: 1957 ExecStart=/usr/sbin/nginx -c /etc/nginx/nginx.conf (code=exited, status=0/SUCCESS)
   Main PID: 1958 (nginx)
      Tasks: 2 (limit: 1107)
     Memory: 1.7M
        CPU: 6ms
     CGroup: /system.slice/nginx.service
             ??1958 "nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf"
             ??1959 "nginx: worker process"

Откройте IP-адрес вашего сервера в веб-браузере. Вы должны увидеть следующую страницу, которая означает, что ваш сервер работает.

Страница по умолчанию Nginx

Шаг 3 – Установите PHP

Debian 12 по умолчанию поставляется с PHP 8.2. Вы можете установить его, выполнив следующую команду.

$ sudo apt install php-cli php-fpm php-mysql php-xml php-gd php-json php-mbstring php-zip php-curl -y

Чтобы всегда оставаться на последней версии PHP или если вы хотите установить несколько версий PHP, добавьте PHP-репозиторий Ондрея.

Сначала импортируйте GPG-ключ PHP из репозитория Сури.

$ sudo curl -sSLo /usr/share/keyrings/deb.sury.org-php.gpg https://packages.sury.org/php/apt.gpg

Добавьте PHP-репозиторий Ондрея Суры.

$ sudo sh -c 'echo "deb [signed-by=/usr/share/keyrings/deb.sury.org-php.gpg] https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list'

Обновление списка системных репозиториев.

$ sudo apt update

Далее установите PHP и расширения, необходимые Flarum.

$ sudo apt install php-cli php-fpm php-mysql php-xml php-gd php-json php-mbstring php-zip php-curl -y

Проверьте, правильно ли работает PHP.

$ php --version

Вы должны увидеть аналогичный результат.

PHP 8.2.12 (cli) (built: Oct 27 2023 13:00:10) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.2.12, Copyright (c) Zend Technologies
    with Zend OPcache v8.2.12, Copyright (c), by Zend Technologies

Шаг 4 – Установите Composer

Composer – это менеджер зависимостей для PHP. Flarum нуждается в Composer для установки и запуска различных компонентов.

Выполните следующие команды для установки Composer. Сначала мы возьмем установщик, проверим его хэш, а затем запустим его с помощью командной строки PHP. Затем мы перемещаем двоичный файл в папку /usr/local/bin каталог.

$ php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
$ php -r "if (hash_file('sha384', 'composer-setup.php') === 'e21205b207c3ff031906575712edab6f13eb0b361f2085f1f1237b7126d785e826a450292b6cfd1d64d92e6563bbde02') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
$ php composer-setup.php
$ php -r "unlink('composer-setup.php');"
$ sudo mv composer.phar /usr/local/bin/composer

Проверьте, правильно ли установлен Composer.

$ composer --version
Composer version 2.6.5 2023-10-06 10:11:52

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

MariaDB является заменой MySQL, что означает, что команды для запуска и работы MariaDB такие же, как и для MySQL.

Debian 12 по умолчанию поставляется с MariaDB 10.11.4, которая немного устарела. Вам нужно использовать официальный репозиторий, чтобы получить последнюю стабильную версию MariaDB.

Импортируйте GPG-ключ MariaDB.

$ sudo curl -o /usr/share/keyrings/mariadb-keyring.pgp 'https://mariadb.org/mariadb_release_signing_key.pgp'

Создайте файл репозитория MariaDB.

$ echo "deb [signed-by=/usr/share/keyrings/mariadb-keyring.pgp] https://deb.mariadb.org/10.11/debian `lsb_release -cs` main" | sudo tee /etc/apt/sources.list.d/mariadb-server.list

Обновите список системных репозиториев.

$ sudo apt update

Выполните следующую команду для установки сервера MariaDB.

$ sudo apt install mariadb-server -y

Проверьте, правильно ли установлена MariaDB.

$ mysql --version

Вы должны увидеть следующий результат.

mysql  Ver 15.1 Distrib 10.11.6-MariaDB, for debian-linux-gnu (x86_64) using  EditLine wrapper

Вы также можете использовать mariadb --version для проверки версии.

Служба MariaDB уже включена и запущена. Проверьте ее состояние с помощью следующей команды.

$ sudo systemctl status mariadb
? mariadb.service - MariaDB 10.11.6 database server
     Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; preset: enabled)
    Drop-In: /etc/systemd/system/mariadb.service.d
             ??migrated-from-my.cnf-settings.conf
     Active: active (running) since Tue 2023-11-14 08:42:03 UTC; 4min 1s ago
       Docs: man:mariadbd(8)
             https://mariadb.com/kb/en/library/systemd/
    Process: 74903 ExecStartPre=/usr/bin/install -m 755 -o mysql -g root -d /var/run/mysqld (code=exited, status=0/SUCCESS)
    Process: 74904 ExecStartPre=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
    Process: 74906 ExecStartPre=/bin/sh -c [ ! -e /usr/bin/galera_recovery ] && VAR= ||   VAR=`cd /usr/bin/..; /usr/bin/galera_recovery`; [ $? -eq 0 ]   && systemctl set-environment _WSREP_START_POSITION=$VAR>
    Process: 74946 ExecStartPost=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
    Process: 74948 ExecStartPost=/etc/mysql/debian-start (code=exited, status=0/SUCCESS)
   Main PID: 74935 (mariadbd)
     Status: "Taking your SQL requests now..."
      Tasks: 9 (limit: 1107)
     Memory: 214.9M
        CPU: 627ms
     CGroup: /system.slice/mariadb.service
             ??74935 /usr/sbin/mariadbd

Выполните следующую команду, чтобы выполнить конфигурацию по умолчанию, например, задать пароль root, удалить анонимных пользователей, запретить удаленный вход root и отбросить тестовые таблицы.

$ sudo mariadb-secure-installation

Вам будет предложено ввести пароль root. Поскольку у нас не задан пароль root, нажмите кнопку Enter для продолжения.

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

In order to log into MariaDB to secure it, we'll need the current
password for the root user. If you've just installed MariaDB, and
haven't set the root password yet, you should just press enter here.

Enter current password for root (enter for none): [PRESS ENTER]
OK, successfully used password, moving on...

Далее вас спросят, хотите ли вы переключиться на unix_socket плагин. Плагин unix_socket позволяет войти в MariaDB с учетными данными пользователя Linux. Выберите n , чтобы пропустить переход к нему, поскольку у вас уже есть защищенный root аккаунт.

Setting the root password or using the unix_socket ensures that nobody
can log into the MariaDB root user without the proper authorisation.

You already have your root account protected, so you can safely answer 'n'.

Switch to unix_socket authentication [Y/n] n
 ... skipping.

Далее вас спросят, хотите ли вы изменить пароль root. В Debian 12 учётная запись root для MariaDB тесно связана с автоматическим обслуживанием системы, поэтому вы не должны изменять настроенные методы аутентификации для этой учётной записи. Это позволит обновлению пакета сломать систему баз данных, удалив доступ к административной учётной записи. Тип n , чтобы продолжить.

You already have your root account protected, so you can safely answer 'n'.

Change the root password? [Y/n] n
 ... skipping.

В дальнейшем нажимайте y , а затем Enter чтобы принять значения по умолчанию для всех следующих вопросов. В результате будет удален доступ для анонимных пользователей, проверены базы данных, отключен удаленный вход root и загружены изменения.

By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] y
 ... Success!

Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] y
 ... Success!

By default, MariaDB comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] y
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] y
 ... Success!

Cleaning up...

All done!  If you've completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB!

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

$ sudo mysql

Введите пароль root в Linux, когда появится запрос.

Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 39
Server version: 10.11.6-MariaDB-1:10.11.6+maria~deb12 mariadb.org binary distribution

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]>

Нажмите exit чтобы закрыть оболочку MariaDB.

Шаг 6 – Настройка MariaDB

Войдите в оболочку MariaDB.

$ sudo mysql

Создайте новую базу данных MySQL, пользователя базы данных и пароль для вашей установки Flarum.

MariaDB> CREATE DATABASE flarum;
MariaDB> CREATE USER 'flarumuser'@'localhost' IDENTIFIED BY 'yourpassword';
MariaDB> GRANT ALL PRIVILEGES ON flarum.* TO 'flarumuser'@'localhost';

Заменить flarum, flarumuser и yourpassword с выбранными вами учетными данными. Выберите надежный пароль.

Также создайте административного пользователя с теми же возможностями, что и у учетной записи root.

MariaDB> GRANT ALL ON *.* TO 'admin'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;

Промойте привилегии, чтобы убедиться, что они сохраняются в текущем сеансе.

MariaDB> FLUSH PRIVILEGES;

Выход из оболочки MariaDB.

MariaDB> exit

Шаг 7 – Установка Flarum

Создайте каталог, в котором будет находиться Flarum.

$ sudo mkdir /var/www/flarum -p

Используя -p Директива создает родительские каталоги, которых раньше не существовало.

Измените права собственности на каталог Flarum на права текущего зарегистрированного пользователя Linux, чтобы можно было выполнять команды без использования sudo.

$ sudo chown -R $USER:$USER /var/www/flarum

Перейдите в папку установки.

$ cd /var/www/flarum

Загрузите и установите Flarum с помощью Composer.

$ composer create-project flarum/flarum .

Измените право собственности на каталог Flarum на nginx для сервера Nginx.

$ sudo chown -R nginx:nginx /var/www/flarum

Разрешите доступ на запись к каталогу.

$ sudo chmod 775 -R /var/www/flarum

С этого момента Composer будет нуждаться в разрешениях sudo для запуска, что не рекомендуется. Вы также можете изменить групповые разрешения каталога на права пользователя Linux и изменить их обратно на nginx после завершения работы с Composer. Это не идеальное решение, поскольку оно требует повторного выполнения одних и тех же команд. Более постоянным решением является добавление вашего имени пользователя в nginx группа. Выполните следующую команду, чтобы добавить вашего текущего зарегистрированного пользователя Linux в группу nginx группа.

$ sudo usermod -a -G nginx $USER

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

su - ${USER}

Шаг 8 – Установка SSL

Нам нужно установить Certbot для генерации SSL-сертификата. Вы можете установить Certbot из репозитория Debian или взять последнюю версию с помощью инструмента Snapd. Мы будем использовать версию Snapd.

Debian 12 не поставляется с установленным Snapd. Установите пакет Snapd.

$ sudo apt install snapd

Выполните следующие команды, чтобы убедиться, что ваша версия Snapd актуальна.

$ sudo snap install core && sudo snap refresh core

Установите Certbot.

$ sudo snap install --classic certbot

Используйте следующую команду, чтобы убедиться, что команда Certbot может быть запущена, создав символическую ссылку на файл /usr/bin каталог.

$ sudo ln -s /snap/bin/certbot /usr/bin/certbot

Проверьте, правильно ли работает Certbot.

$ certbot --version
certbot 2.7.4

Сгенерируйте сертификат SSL.

$ sudo certbot certonly --nginx --agree-tos --no-eff-email --staple-ocsp --preferred-challenges http -m [email protected] -d flarum.example.com

Приведенная выше команда загрузит сертификат в /etc/letsencrypt/live/flarum.example.com каталог на вашем сервере.

Создайте группа Диффи-Хеллмана сертификат.

$ sudo openssl dhparam -dsaparam -out /etc/ssl/certs/dhparam.pem 4096

Проверьте службу планировщика обновления Certbot.

$ sudo systemctl list-timers

Вы найдете snap.certbot.renew.service как одну из запланированных к запуску служб.

NEXT                        LEFT           LAST                        PASSED      UNIT                      ACTIVATES     
---------------------------------------------------------------------------------------------------------------------------               
Tue 2023-11-14 15:39:00 UTC 24min left    Tue 2023-11-14 15:09:02 UTC 5min ago     phpsessionclean.timer       phpsessionclean.service
Tue 2023-11-14 17:33:00 UTC 2h 18min left -                           -            snap.certbot.renew.timer    snap.certbot.renew.service
Tue 2023-11-14 19:03:30 UTC 3h 49min left Tue 2023-11-14 15:12:10 UTC 1min 58s ago apt-daily.timer             apt-daily.service

Выполните пробный запуск процесса, чтобы убедиться, что обновление SSL работает нормально.

$ sudo certbot renew --dry-run

Если ошибок нет, все готово. Ваш сертификат обновится автоматически.

Шаг 9 – Настройка PHP-FPM

Откройте файл /etc/php/8.2/fpm/pool.d/www.conf.

$ sudo nano /etc/php/8.2/fpm/pool.d/www.conf

Нам нужно установить Unix-пользователя/группу процессов PHP на nginx. Найдите user=www-data и group=www-data строки в файле и измените их на nginx.

; Unix user/group of the child processes. This can be used only if the master
; process running user is root. It is set after the child process is created.
; The user and group can be specified either by their name or by their numeric
; IDs.
; Note: If the user is root, the executable needs to be started with
;       --allow-to-run-as-root option to work.
; Default Values: The user is set to master process running user by default.
;                 If the group is not set, the user's group is used.
user = nginx
group = nginx
...

Найдите listen.owner = www-data и listen.group = www-data строки в файле и измените их на nginx.

; Set permissions for unix socket, if one is used. In Linux, read/write
; permissions must be set in order to allow connections from a web server. Many
; BSD-derived systems allow connections regardless of permissions. The owner
; and group can be specified either by name or by their numeric IDs.
; Default Values: Owner is set to the master process running user. If the group
;                 is not set, the owner's group is used. Mode is set to 0660.
listen.owner = nginx
listen.group = nginx

Сохраните файл, нажав кнопку Ctrl + X и ввести Y при появлении запроса.

Увеличьте размер загружаемого файла до 8 МБ.

$ sudo sed -i 's/upload_max_filesize = 2M/upload_max_filesize = 8M/' /etc/php/8.2/fpm/php.ini

Перезапустите службу PHP-FPM.

$ sudo systemctl restart php8.2-fpm

Измените группу каталога сессий PHP на Nginx.

$ sudo chgrp -R nginx /var/lib/php/sessions

Шаг 10 – Настройка Nginx

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

$ sudo nano /etc/nginx/conf.d/flarum.conf

Вставьте следующий код в редактор.

server {
    listen [::]:80;
    listen 80;

    server_name flarum.example.com;

    # redirect http to https
    return 301 https://flarum.example.com$request_uri;
}

server {
    listen [::]:443 ssl http2;
    listen 443 ssl http2;

    server_name flarum.example.com;

    access_log /var/log/nginx/flarum.access.log;
    error_log  /var/log/nginx/flarum.error.log;

    root /var/www/flarum/public;
    index index.php;

    include /var/www/flarum/.nginx.conf;

    client_max_body_size 8M;

    if ($host != "flarum.example.com") {
        return 301 $scheme://flarum.example.com$request_uri;
    }

    # SSL code
    ssl_certificate /etc/letsencrypt/live/flarum.example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/flarum.example.com/privkey.pem;
    ssl_trusted_certificate /etc/letsencrypt/live/flarum.example.com/chain.pem;
    ssl_session_timeout 1d;
    ssl_session_cache shared:MozSSL:10m;
    ssl_session_tickets off;
    ssl_prefer_server_ciphers off;
    ssl_stapling on;
    ssl_stapling_verify on;
    ssl_dhparam /etc/ssl/certs/dhparam.pem;
    resolver 1.1.1.1 1.0.0.1 [2606:4700:4700::1111] [2606:4700:4700::1001] 8.8.8.8 8.8.4.4 [2001:4860:4860::8888] [2001:4860:4860::8844] valid=60s;
    resolver_timeout 2s;

    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;

    tcp_nopush on;
    types_hash_max_size 2048;

    location ~ \.php$ {
        fastcgi_pass  unix:/run/php/php-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_index index.php;
        include  fastcgi_params;
    }
}

В этом файле предполагается, что мы будем размещать example.com в директории /var/www/flarum/public. Flarum поставляется с некоторыми настройками Nginx по умолчанию в папке /var/www/flarum/.nginx.conf , которые мы включили в нашу конфигурацию Nginx.

После завершения нажмите Ctrl + X чтобы закрыть редактор, и нажмите Y при появлении запроса на сохранение файла.

Откройте файл /etc/nginx/nginx.conf для редактирования.

$ sudo nano /etc/nginx/nginx.conf	

Добавьте следующую строку перед строкой include /etc/nginx/conf.d/*.conf;.

server_names_hash_bucket_size 64;

Сохраните файл, нажав кнопку Ctrl + X и ввести Y , когда появится запрос. Проверьте конфигурацию Nginx.

$ sudo nginx -t

Вы должны увидеть следующее сообщение, указывающее на правильность конфигурации.

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Перезагрузите службу Nginx.

$ sudo systemctl reload nginx

Шаг 11 – Получение доступа и завершение установки Flarum

Откройте http://example.com в браузере, чтобы завершить установку.

 

Заполните необходимые значения базы данных, которые мы создали выше. Вы можете оставить запись Table Prefix пустой, чтобы Flarum использовал префикс по умолчанию, или ввести любой пользовательский префикс, например fla_. Выберите имя пользователя, надежный пароль и идентификатор электронной почты для установки Flarum.

Нажмите кнопку Установить Flarum , чтобы завершить установку.

После установки вы увидите домашнюю страницу Flarum по умолчанию.

Домашняя страница Flarum

Теперь ваш форум установлен и готов к работе.

Включить 2FA

Двухфакторная аутентификация – необходимая функция для любого публичного форума. Flarum не поставляется с этой функцией, но вы можете включить ее, установив соответствующее расширение. Расширение для этой функции доступно через Extiverse. Extiverse – это неофициальный репозиторий тем и плагинов Flarum.

Чтобы установить плагин, сначала перейдите в каталог Flarum.

$ cd /var/www/flarum

Установите плагин с помощью Composer.

$ composer require ianm/twofactor:"*"

Следующим шагом будет включение плагина в административной панели Flarum. Нажмите на свое имя в правом верхнем углу главной страницы и нажмите на кнопку Администрирование ссылку из выпадающего меню.

Меню администратора Flarum

Вы попадете на панель администрирования. Выберите 2FA выберите функцию из левого меню и включите ее. Вам не нужно ничего менять, так как настройки по умолчанию должны работать нормально.

Страница администратора Flarum 2FA

Если вы хотите, чтобы у модераторов на форуме была включена 2FA, нажмите на кнопку Mods и включите кнопку требуется 2FA настройка. Нажмите кнопку Сохранить изменения для завершения.

Настройки Flarum 2FA для группы Mods

Чтобы включить 2FA для вашей учетной записи, откройте страницу настроек из правого верхнего меню на главной странице форума. Откройте Безопасность выберите страницу на левой боковой панели.

Страница 2FA пользователя Flarum

Нажмите на кнопку Включить 2FA , откроется следующее всплывающее окно.

Всплывающее окно настроек Flarum 2FA

Отсканируйте QR-код или выберите ручной вариант с помощью вашего приложения 2FA и введите код, сгенерированный в поле. Нажмите кнопку Проверить После завершения нажмите кнопку. Вам будут показаны резервные коды. Сохраните их и нажмите кнопку , чтобы продолжить.

Резервные коды Flarum 2FA

Вам снова будет предложено подтверждение. Нажмите кнопку Ok нажмите кнопку, чтобы продолжить. Теперь процесс завершен.

Страница настройки Flarum 2FA

Настройка параметров электронной почты

Вам также потребуется настроить параметры почты в панели администрирования. Flarum поддерживает встроенный SMTP-сервис Mailgun или вы можете использовать внешнего SMTP-провайдера.

Настройки электронной почты Flarum

Мы используем сервис Amazon SES, для которого мы выбрали smtp из раскрывающегося меню драйвера электронной почты на странице электронной почты. Нажмите кнопку Сохранить изменения , а затем нажмите кнопку Отправить Нажмите кнопку, чтобы отправить тестовое письмо. На странице появится уведомление об успешной отправке письма. Если вы хотите использовать Mailgun, выберите mailgun из выпадающего меню. Заполните необходимые поля и сохраните настройки.

 

Настройки Flarum MailGun

Перед отправкой тестового письма необходимо установить пакет composer для его работы. Перейдите в каталог Flarum на сервере.

$ cd /var/www/flarum

Установите пакет composer.

$ composer require guzzlehttp/guzzle:^7.0

Отправьте тестовое письмо для проверки.

Заключение

На этом мы завершаем наш учебник по установке программного обеспечения форума Flarum Community на сервер Debian 12. Если у вас есть какие-либо вопросы или замечания, пишите их в комментариях ниже.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *