インストールガイド · 8 min read · Oct 20, 2025

Debian 12にFlarumコミュニティソフトウェアをインストールする方法

Flarumは、オンラインフォーラムを簡単に作成および管理するために設計されたオープンソースのコミュニティソフトウェアです。洗練されたモダンなインターフェースで構築されたFlarumは、パフォーマンスとシンプルさに最適化されたスリムなユーザーエクスペリエンスを提供します。Flarumは、管理者が特定のニーズや好みに合わせてフォーラムを調整できる強力な拡張システムを通じて、高度にカスタマイズ可能です。Flarumはレスポンシブデザインをサポートしており、さまざまなデバイスでの互換性を確保し、リアルタイム通知、リッチメディアの埋め込み、シームレスなモデレーションツールなどの機能を提供します。PHPとMySQLに基づいているため、幅広いウェブホスティング環境で利用可能であり、小規模なコミュニティやオンラインディスカッションのための効率的なプラットフォームを求める大規模な組織にアピールします。

このチュートリアルでは、Debian 12ベースのサーバーにFlarumコミュニティソフトウェアをインストールする方法を学びます。

前提条件

  • Debian 12を実行しているサーバー。
  • sudo権限を持つ非rootユーザー。
  • サーバーを指す完全修飾ドメイン名(FQDN)、例えばflarum.example.com
  • 1GB RAMのサーバーの場合、スワップストレージが有効になっていることを確認してください。
  • すべてが更新されていることを確認してください。 $ sudo apt update && sudo apt upgrade
  • Flarumを実行するためにいくつかの必須パッケージが必要です。これらのいくつかはすでにサーバーにインストールされている場合があります。 $ 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
コマンドは既存のssh接続を中断する可能性があります。操作を続行しますか(y|n)? y
ファイアウォールはアクティブで、システム起動時に有効になります

再度ファイアウォールの状態を確認します。

$ 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 - 高性能ウェブサーバー
     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バージョンをインストールしたい場合は、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データベースサーバー
     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: "SQLリクエストを受け付けています..."
      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!

MariaDBにログインしてセキュリティを確保するには、現在の
rootユーザーのパスワードが必要です。MariaDBをインストールしたばかりで、まだrootパスワードを設定していない場合は、ここでそのままEnterを押してください。

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

次に、unix_socketプラグインに切り替えるかどうかを尋ねられます。unix_socketプラグインを使用すると、Linuxユーザーの資格情報でMariaDBにログインできます。すでに保護されたrootアカウントがあるため、切り替えをスキップするためにnを選択します。

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シェルにログインするには、次のコマンドを使用します。

$ 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シェルを閉じます。

ステップ6 - MariaDBの設定

MariaDBシェルにログインします。

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

flarumflarumuser、および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

Composerを使用してFlarumをダウンロードしてインストールします。

$ 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ユーザーに変更し、Composerが完了した後に再びnginxに戻すこともできます。これは理想的な解決策ではなく、同じコマンドを繰り返し実行する必要があります。より永続的な解決策は、ユーザー名をnginxグループに追加することです。次のコマンドを実行して、現在ログインしているLinuxユーザーをnginxグループに追加します。

$ sudo usermod -a -G nginx $USER

新しいグループメンバーシップを適用するには、サーバーからログアウトして再度ログインするか、次のコマンドを入力します。

su - ${USER}

ステップ8 - SSLのインストール

SSL証明書を生成するためにCertbotをインストールする必要があります。Debianのリポジトリを使用してCertbotをインストールするか、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ディレクトリに証明書をダウンロードします。

Diffie-Hellmanグループ証明書を生成します。

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

Certbotの更新スケジューラーサービスを確認します。

$ sudo systemctl list-timers

スケジュールされたサービスの1つとして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を入力します。

ファイルアップロードサイズを8MBに増やします。

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

    # httpを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コード
    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には、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を開いてインストールを完了します。

Flarumインストール

上記で作成したデータベースの値を入力します。テーブルプレフィックスのエントリは空白のままにしてFlarumがデフォルトのプレフィックスを使用できるようにするか、fla_のようなカスタムプレフィックスを入力できます。ユーザー名、強力なパスワード、メールIDを選択してFlarumをインストールします。

Install Flarumボタンをクリックしてインストールを完了します。

インストールが完了すると、デフォルトのFlarumホームページが表示されます。

Flarumホームページ

フォーラムは正常にインストールされ、使用する準備が整いました。

2FAを有効にする

二要素認証は、公共フォーラムにとって重要な機能です。Flarumにはこの機能がネイティブに搭載されていませんが、同様の拡張機能をインストールすることで有効にできます。この拡張機能はExtiverseを介して入手できます。Extiverseは、Flarumテーマやプラグインの非公式リポジトリです。

プラグインをインストールするには、まずFlarumディレクトリに移動します。

$ cd /var/www/flarum

Composerを使用してプラグインをインストールします。

$ composer require ianm/twofactor:"*"

次のステップは、Flarum管理パネルからプラグインを有効にすることです。ホームページの右上にある名前をクリックし、ドロップダウンメニューからAdministrationリンクをクリックします。

Flarum管理メニュー

管理ダッシュボードに移動します。左側のメニューから2FA機能を選択し、オンにします。デフォルト設定で問題ないため、何も変更する必要はありません。

Flarum 2FA管理ページ

フォーラムのモデレーターに2FAを有効にしたい場合は、Modsボタンをクリックし、2FA required設定を有効にします。Save Changesボタンをクリックして完了します。

Flarumモデレーターグループの2FA設定

アカウントの2FAを有効にするには、フォーラムホームページの右上メニューから設定ページを開きます。左側のサイドバーからSecurityページを開きます。

Flarumユーザー2FAページ

Enable 2FAボタンをクリックすると、次のポップアップが開きます。

Flarum 2FA設定ポップアップ

QRコードをスキャンするか、2FAアプリを使用して手動オプションを選択し、生成されたコードをボックスに入力します。完了したらVerifyボタンをクリックします。バックアップコードが表示されます。それを保存し、次のボタンをクリックして続行します。

Flarum 2FAバックアップコード

再度確認を求められます。続行するにはOkボタンをクリックします。これでプロセスは完了です。

Flarum 2FA設定完了ページ

メール設定の構成

管理パネルからメール設定も構成する必要があります。FlarumはMailgun SMTPサービスをネイティブにサポートしているか、外部SMTPプロバイダーを使用できます。

Flarumメール設定

私たちはAmazon SESサービスを使用しており、メールページのメールドライバーのドロップダウンメニューからsmtpを選択しました。Save Changesボタンをクリックし、次にSendボタンをクリックしてテストメールを送信します。ページはメールが正常に送信されたかどうかを通知します。次のメールが届くはずです。

Flarumテストメール

Mailgunを使用したい場合は、ドロップダウンメニューからmailgunを選択します。必要なフィールドを入力し、設定を保存します。

Flarum MailGun設定

テストメールを送信する前に、動作させるためにComposerパッケージをインストールする必要があります。サーバー上のFlarumディレクトリに移動します。

$ cd /var/www/flarum

Composerパッケージをインストールします。

$ composer require guzzlehttp/guzzle:^7.0

テストメールを送信して確認します。

結論

これで、Debian 12サーバーにFlarumコミュニティフォーラムソフトウェアをインストールするチュートリアルは終了です。質問やフィードバックがある場合は、下のコメントにお寄せください。

Share: X/Twitter LinkedIn

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。