如何在 Debian 12 上安装 Flarum 社区软件如何在 Debian 12 上安装 Flarum 社区软件如何在 Debian 12 上安装 Flarum 社区软件如何在 Debian 12 上安装 Flarum 社区软件
  • 文章
  • 正则表达式
    • 工具
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容
发表 admin at 2025年2月28日
类别
  • 未分类
标签

如何在 Debian 12 上安装 Flarum 社区软件

本教程适用于这些操作系统版本

  • Debian 12(书虫)
  • Debian 11(靶心)

在此页面上

  1. 先决条件
  2. 第 1 步 - 配置防火墙
  3. 第 2 步 - 安装 Nginx
  4. 第 3 步 - 安装 PHP
  5. 第 4 步 - 安装 Composer
  6. 第 5 步 - 安装 MariaDB
  7. 第 6 步 - 配置 MariaDB
  8. 第 7 步 - 安装 Flarum
  9. 第 8 步 - 安装 SSL
  10. 步骤 9 - 配置 PHP-FPM
  11. 第10步-配置Nginx
  12. 第 11 步 - 访问并完成 Flarum 安装

    1. 启用 2FA
    2. 配置电子邮件设置
  13. 结论

Flarum 是一款开源社区软件,旨在轻松创建和管理在线论坛。 Flarum 采用时尚、现代的界面,提供针对性能和简单性进行优化的简化用户体验。它可以通过强大的扩展系统进行高度定制,允许管理员根据特定需求和偏好定制论坛。 Flarum 支持响应式设计,确保跨各种设备和实时通知、富媒体嵌入和无缝审核工具等功能的兼容性。它以 PHP 和 MySQL 为基础,使其可以访问各种网络托管环境,对寻求高效在线讨论平台的小型社区和大型组织有吸引力。

在本教程中,我们将学习如何在基于 Debian 12 的服务器上安装 Flarum 社区软件。

先决条件

    运行 Debian 12 的服务器。

    具有 sudo 权限的非 root 用户。

    完全限定的域名 (FQDN),例如指向您的服务器的 flarum.example.com。

    如果您使用的是具有 1GB RAM 的服务器,请确保您的服务器启用了交换存储。

    确保一切都已更新。

    $ 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(简单防火墙)。

检查防火墙是否正在运行。

$ 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 地址。您应该看到以下页面,这意味着您的服务器已启动并正在运行。

第 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,请添加 Ondrej 的 PHP 存储库。

首先,导入 Sury 的存储库 PHP GPG 密钥。

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

添加 Ondrej Sury 的 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

接下来,安装 Flarum 所需的 PHP 及其扩展。

$ 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。

导入 MariaDB 的 GPG 密钥。

$ 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 插件允许您使用 Linux 用户凭据登录 MariaDB。选择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 上,MariaDB 的 root 帐户与自动化系统维护密切相关,因此您不应更改该帐户的配置身份验证方法。这样做将允许软件包更新通过删除对管理帐户的访问权限来破坏数据库系统。输入 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 shell 时,请使用以下命令。

$ sudo mysql

出现提示时输入您的 Linux root 密码。

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 shell。

第 6 步 - 配置 MariaDB

登录 MariaDB shell。

$ sudo mysql

为您的 Flarum 安装创建新的 MySQL 数据库、数据库用户和密码。

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 shell。

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

使用 Composer 下载并安装 Flarum。

$ composer create-project flarum/flarum .

将 Nginx 服务器的 Flarum 目录的所有权更改为 nginx。

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

允许对该目录进行写访问。

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

从现在开始,Composer 将需要 sudo 权限才能运行,但不建议这样做。您还可以将目录的组权限更改为您的 Linux 用户,并在使用完 Composer 后将其更改回 nginx。这不是一个理想的解决方案,因为它要求您重复执行相同的命令。更永久的解决方案是将您的用户名添加到 nginx 组中。运行以下命令将当前登录的 Linux 用户添加到 nginx 组。

$ sudo usermod -a -G nginx $USER

要应用新的组成员身份,请注销服务器并重新登录,或键入以下内容。

su - ${USER}

第 8 步 - 安装 SSL

我们需要安装 Certbot 来生成 SSL 证书。您可以使用 Debian 的存储库安装 Certbot,也可以使用 Snapd 工具获取最新版本。我们将使用 Snapd 版本。

Debian 12 并未安装 Snapd。安装 Snapd 软件包。

$ sudo apt install snapd

运行以下命令以确保您的 Snapd 版本是最新的。

$ sudo snap install core && sudo snap refresh core

安装证书机器人。

$ sudo snap install --classic certbot

使用以下命令确保可以通过创建到 /usr/bin 目录的符号链接来运行 Certbot 命令。

$ 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  -d flarum.example.com

上述命令会将证书下载到服务器上的 /etc/letsencrypt/live/flarum.example.com 目录中。

生成 Diffie-Hellman 组证书。

$ 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

我们需要将 PHP 进程的 Unix 用户/组设置为 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 MB。

$ 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;
    }
}

该文件假设我们将在目录 /var/www/flarum/public 中托管 example.com。 Flarum 在 /var/www/flarum/.nginx.conf 文件中附带了一些默认的 Nginx 设置,我们已将其包含在 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以完成安装。

填写我们上面创建的所需数据库值。您可以将表前缀条目留空以允许 Flarum 使用默认前缀,也可以输入任何自定义前缀,例如 fla_。选择用户名、强密码和电子邮件 ID 来安装 Flarum。

单击安装 Flarum 按钮完成安装。

安装后,您应该会看到默认的 Flarum 主页。

您的论坛现已安装并可供使用。

启用 2FA

双因素身份验证是任何公共论坛的基本功能。 Flarum 本身并不附带该功能,但您可以通过安装该功能的扩展来启用它。其扩展可通过 Extiverse 获得。 Extiverse 是 Flarum 主题和插件的非官方存储库。

要安装插件,首先切换到 Flarum 目录。

$ cd /var/www/flarum

使用 Composer 安装插件。

$ composer require ianm/twofactor:"*"

下一步是从 Flarum 管理面板启用该插件。单击主页右上角您的姓名,然后单击下拉菜单中的管理链接。

您将被带到管理仪表板。从左侧菜单中选择2FA功能并将其打开。您无需更改任何内容,因为默认设置应该可以正常工作。

如果您希望论坛管理员启用 2FA,请单击Mods 按钮并启用需要 2FA 设置。单击保存更改按钮完成。

要为您的帐户启用 2FA,请从论坛主页的右上角菜单中打开您的设置页面。通过选择左侧边栏打开安全页面。

单击启用 2FA 按钮,将打开以下弹出窗口。

扫描二维码或使用 2FA 应用程序选择手动选项,然后输入框中生成的代码。完成后点击验证按钮。您将看到备份代码。保存它们并单击按钮继续。

系统将再次要求您确认。单击确定按钮继续。该过程现已完成。

配置电子邮件设置

您还需要从管理面板配置邮件设置。 Flarum 本身支持 Mailgun SMTP 服务,或者您可以使用外部 SMTP 提供商。

我们正在使用 Amazon SES 服务,并从电子邮件页面的电子邮件驱动程序下拉菜单中选择了 smtp。单击保存更改按钮,然后单击发送按钮发送测试电子邮件。邮件发送成功后页面会提示。您应该会收到以下邮件。

如果您想使用 Mailgun,请从下拉菜单中选择mailgun。填写必填字段,然后保存设置。

在发送测试邮件之前,您必须安装 Composer 软件包才能使其正常工作。切换到服务器上的 Flarum 目录。

$ cd /var/www/flarum

安装作曲家包。

$ composer require guzzlehttp/guzzle:^7.0

发送测试邮件进行验证。

结论

关于在 Debian 12 服务器上安装 Flarum 社区论坛软件的教程到此结束。如果您有任何疑问或反馈,请在下面的评论中提出。

©2015-2025 艾丽卡 support@alaica.com