Come installare il software Flarum Community su Debian 12
Questo tutorial esiste per queste versioni del sistema operativo
- Debian 12 (Topo di biblioteca)
- Debian 11 (Bullseye)
In questa pagina
- Prerequisiti
- Passaggio 1: configurare il firewall
- Passaggio 2: installare Nginx
- Passaggio 3: installare PHP
- Passaggio 4: installare Composer
- Passaggio 5: installare MariaDB
- Passaggio 6: configurare MariaDB
- Passaggio 7: installare Flarum
- Passaggio 8: installare SSL
- Passaggio 9: configurare PHP-FPM
- Passaggio 10: configurare Nginx
Passaggio 11: accedi e completa l'installazione di Flarum
- Abilita 2FA
- Configura le impostazioni di posta elettronica
Flarum è un software di community open source progettato per creare e gestire facilmente forum online. Costruito con un'interfaccia elegante e moderna, Flarum offre un'esperienza utente ottimizzata per prestazioni e semplicità. È altamente personalizzabile attraverso un robusto sistema di estensione, che consente agli amministratori di personalizzare i propri forum in base a esigenze e preferenze specifiche. Flarum supporta il design reattivo, garantendo la compatibilità tra vari dispositivi e funzionalità come notifiche in tempo reale, incorporamento di contenuti multimediali e strumenti di moderazione senza soluzione di continuità. La sua base in PHP e MySQL lo rende accessibile a un'ampia gamma di ambienti di web hosting, rivolgendosi a piccole comunità e grandi organizzazioni che cercano una piattaforma efficiente per le discussioni online.
In questo tutorial impareremo come installare Flarum Community Software su un server basato su Debian 12.
Prerequisiti
Un server che esegue Debian 12.
Un utente non root con privilegi sudo.
Un nome di dominio completo (FQDN) come flarum.example.com
che punta al tuo server.
Assicurati che sul tuo server sia abilitata la memoria di scambio se utilizzi un server con 1 GB di RAM.
Assicurati che tutto sia aggiornato.
$ sudo apt update && sudo apt upgrade
TFlarum richiede alcuni pacchetti essenziali per essere eseguito. Alcuni di questi saranno già sul tuo server.
$ sudo apt install curl wget nano software-properties-common dirmngr apt-transport-https ca-certificates lsb-release debian-archive-keyring gnupg2 ufw unzip -y
Passaggio 1: configurare il firewall
Il primo passo è configurare il firewall. Debian viene fornito con ufw (Uncomplicated Firewall) per impostazione predefinita.
Controlla se il firewall è in esecuzione.
$ sudo ufw status
Otterrai il seguente output.
Status: inactive
Consenti la porta SSH in modo che il firewall non interrompa la connessione corrente quando la abilita.
$ sudo ufw allow OpenSSH
Consenti anche le porte HTTP e HTTPS.
$ sudo ufw allow http
$ sudo ufw allow https
Abilita il firewall
$ sudo ufw enable
Command may disrupt existing ssh connections. Proceed with operation (y|n)? y
Firewall is active and enabled on system startup
Controlla nuovamente lo stato del firewall.
$ sudo ufw status
Dovresti vedere un output simile.
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)
Passaggio 2: installare Nginx
Debian 12 viene fornita con una versione precedente di Nginx. Per installare la versione più recente, è necessario scaricare il repository ufficiale Nginx.
Importa la chiave di firma di Nginx.
$ curl https://nginx.org/keys/nginx_signing.key | gpg --dearmor \
| sudo tee /usr/share/keyrings/nginx-archive-keyring.gpg >/dev/null
Aggiungi il repository per la versione stabile di 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
Aggiorna i repository di sistema.
$ sudo apt update
Installa Nginx.
$ sudo apt install nginx
Verificare l'installazione. Sui sistemi Debian, il seguente comando funzionerà solo con sudo
.
$ sudo nginx -v
nginx version: nginx/1.24.0
Avvia il server Nginx.
$ sudo systemctl start nginx
Controlla lo stato del servizio.
$ 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"
Apri l'indirizzo IP del tuo server nel tuo browser web. Dovresti vedere la pagina seguente, il che significa che il tuo server è attivo e funzionante.
Passaggio 3: installare PHP
Debian 12 viene fornito con PHP 8.2 per impostazione predefinita. Puoi installarlo eseguendo il comando seguente.
$ sudo apt install php-cli php-fpm php-mysql php-xml php-gd php-json php-mbstring php-zip php-curl -y
Per rimanere sempre sulla versione più recente di PHP o se desideri installare più versioni di PHP, aggiungi il repository PHP di Ondrej.
Innanzitutto, importa la chiave GPG PHP del repository di Sury.
$ sudo curl -sSLo /usr/share/keyrings/deb.sury.org-php.gpg https://packages.sury.org/php/apt.gpg
Aggiungi il repository PHP di Ondrej Sury.
$ 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'
Aggiorna l'elenco degli archivi di sistema.
$ sudo apt update
Successivamente, installa PHP e le sue estensioni richieste da Flarum.
$ sudo apt install php-cli php-fpm php-mysql php-xml php-gd php-json php-mbstring php-zip php-curl -y
Controlla se PHP funziona correttamente.
$ php --version
Dovresti vedere un output simile.
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
Passaggio 4: installare Composer
Composer è un gestore delle dipendenze per PHP. Flarum ha bisogno di Composer per installare ed eseguire vari componenti.
Esegui i seguenti comandi per installare Composer. Innanzitutto, prendiamo il programma di installazione, controlliamo l'hash per verificarlo, quindi eseguiamo il programma di installazione utilizzando la riga di comando PHP. Quindi spostiamo il file binario nella directory /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
Controlla se il Composer è installato correttamente.
$ composer --version
Composer version 2.6.5 2023-10-06 10:11:52
Passaggio 5: installare MariaDB
MariaDB è un sostituto immediato di MySQL, il che significa che i comandi per eseguire e utilizzare MariaDB sono gli stessi di quelli per MySQL.
Debian 12 viene fornito con MariaDB 10.11.4 per impostazione predefinita, che è un po' obsoleto. È necessario utilizzare il repository ufficiale per ottenere l'ultima versione stabile di MariaDB.
Importa la chiave GPG di MariaDB.
$ sudo curl -o /usr/share/keyrings/mariadb-keyring.pgp 'https://mariadb.org/mariadb_release_signing_key.pgp'
Crea il file del repository di 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
Aggiorna l'elenco dei repository di sistema.
$ sudo apt update
Emettere il comando seguente per installare il server MariaDB.
$ sudo apt install mariadb-server -y
Controlla se MariaDB è installato correttamente.
$ mysql --version
Dovresti vedere il seguente output.
mysql Ver 15.1 Distrib 10.11.6-MariaDB, for debian-linux-gnu (x86_64) using EditLine wrapper
Puoi anche usare mariadb --version
per verificare la versione.
Il servizio MariaDB è già abilitato e in esecuzione. Controlla il suo stato usando il seguente comando.
$ 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
Eseguire il comando seguente per eseguire la configurazione predefinita, ad esempio fornire una password root, rimuovere utenti anonimi, impedire l'accesso root in remoto ed eliminare tabelle di test.
$ sudo mariadb-secure-installation
Ti verrà richiesta la password di root. Poiché non abbiamo impostato alcuna password di root, premi il tasto Invio per procedere.
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...
Successivamente, ti verrà chiesto se desideri passare al plugin unix_socket
. Il plugin unix_socket
ti consente di accedere a MariaDB con le tue credenziali utente Linux. Scegli n
per saltare il passaggio ad esso poiché hai già un account root
protetto.
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.
Successivamente, ti verrà chiesto se desideri modificare la password di root. Su Debian 12, l'account root per MariaDB è strettamente legato alla manutenzione automatizzata del sistema, quindi non dovresti modificare i metodi di autenticazione configurati per l'account. Ciò consentirebbe a un aggiornamento del pacchetto di danneggiare il sistema di database rimuovendo l'accesso all'account amministrativo. Digita n
per procedere.
You already have your root account protected, so you can safely answer 'n'.
Change the root password? [Y/n] n
... skipping.
Da qui in poi, premi y
e poi Invio
per accettare le impostazioni predefinite per tutte le domande successive. Ciò rimuoverà l'accesso agli utenti anonimi, testerà i database, disabiliterà l'accesso root remoto e caricherà le modifiche.
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!
Questo è tutto. La prossima volta che desideri accedere alla shell MariaDB, utilizza il seguente comando.
$ sudo mysql
Inserisci la password root di Linux quando richiesto.
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)]>
Premi exit
per chiudere la shell MariaDB.
Passaggio 6: configurare MariaDB
Accedi alla shell MariaDB.
$ sudo mysql
Crea un nuovo database MySQL, un utente del database e una password per l'installazione di Flarum.
MariaDB> CREATE DATABASE flarum;
MariaDB> CREATE USER 'flarumuser'@'localhost' IDENTIFIED BY 'yourpassword';
MariaDB> GRANT ALL PRIVILEGES ON flarum.* TO 'flarumuser'@'localhost';
Sostituisci flarum
, flarumuser
e yourpassword
con le credenziali di tua scelta. Scegli una password complessa.
Inoltre, crea un utente amministrativo con le stesse funzionalità dell'account root.
MariaDB> GRANT ALL ON *.* TO 'admin'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;
Svuota i privilegi per assicurarti che vengano salvati nella sessione corrente.
MariaDB> FLUSH PRIVILEGES;
Esci dalla shell MariaDB.
MariaDB> exit
Passaggio 7: installare Flarum
Crea una directory in cui vivrà Flarum.
$ sudo mkdir /var/www/flarum -p
L'utilizzo della direttiva -p crea directory principali che prima non esistevano.
Cambia la proprietà della directory Flarum impostandola sull'utente Linux attualmente connesso in modo da poter eseguire comandi senza utilizzare sudo
.
$ sudo chown -R $USER:$USER /var/www/flarum
Passare alla cartella di installazione.
$ cd /var/www/flarum
Scarica e installa Flarum utilizzando Composer.
$ composer create-project flarum/flarum .
Cambia la proprietà della directory Flarum in nginx
per il server Nginx.
$ sudo chown -R nginx:nginx /var/www/flarum
Consenti l'accesso in scrittura alla directory.
$ sudo chmod 775 -R /var/www/flarum
Da qui in poi, Composer avrà bisogno delle autorizzazioni sudo per essere eseguito, il che non è raccomandato. Puoi anche modificare le autorizzazioni di gruppo della directory impostandole sul tuo utente Linux e modificarle nuovamente su nginx dopo aver finito con Composer. Questa non è una soluzione ideale in quanto richiede di eseguire ripetutamente gli stessi comandi. Una soluzione più permanente è aggiungere il tuo nome utente al gruppo nginx. Esegui il comando seguente per aggiungere l'utente Linux attualmente connesso al gruppo nginx.
$ sudo usermod -a -G nginx $USER
Per applicare la nuova appartenenza al gruppo, disconnettersi dal server ed effettuare nuovamente l'accesso oppure digitare quanto segue.
su - ${USER}
Passaggio 8: installare SSL
Dobbiamo installare Certbot per generare il certificato SSL. Puoi installare Certbot utilizzando il repository Debian o prendere la versione più recente utilizzando lo strumento Snapd. Utilizzeremo la versione Snapd.
Debian 12 non viene fornito con Snapd installato. Installa il pacchetto Snapd.
$ sudo apt install snapd
Esegui i seguenti comandi per assicurarti che la tua versione di Snapd sia aggiornata.
$ sudo snap install core && sudo snap refresh core
Installa Certbot.
$ sudo snap install --classic certbot
Utilizzare il comando seguente per garantire che il comando Certbot possa essere eseguito creando un collegamento simbolico alla directory /usr/bin
.
$ sudo ln -s /snap/bin/certbot /usr/bin/certbot
Verifica se Certbot funziona correttamente.
$ certbot --version
certbot 2.7.4
Genera il certificato SSL.
$ sudo certbot certonly --nginx --agree-tos --no-eff-email --staple-ocsp --preferred-challenges http -m [email -d flarum.example.com
Il comando precedente scaricherà un certificato nella directory /etc/letsencrypt/live/flarum.example.com
sul tuo server.
Genera un certificato gruppo Diffie-Hellman.
$ sudo openssl dhparam -dsaparam -out /etc/ssl/certs/dhparam.pem 4096
Controlla il servizio di pianificazione del rinnovo di Certbot.
$ sudo systemctl list-timers
Troverai snap.certbot.renew.service
come uno dei servizi pianificati per l'esecuzione.
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
Esegui un test del processo per verificare se il rinnovo SSL funziona correttamente.
$ sudo certbot renew --dry-run
Se non vedi errori, è tutto a posto. Il tuo certificato si rinnoverà automaticamente.
Passaggio 9: configurare PHP-FPM
Apri il file /etc/php/8.2/fpm/pool.d/www.conf
.
$ sudo nano /etc/php/8.2/fpm/pool.d/www.conf
Dobbiamo impostare l'utente/gruppo Unix dei processi PHP su nginx. Trova le righe user=www-data
e group=www-data
nel file e modificale in 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
...
Trova le righe listen.owner=www-data
e listen.group=www-data
nel file e modificale in 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
Salva il file premendo Ctrl + X e inserendo Y quando richiesto.
Aumenta la dimensione di caricamento del file a 8 MB.
$ sudo sed -i 's/upload_max_filesize = 2M/upload_max_filesize = 8M/' /etc/php/8.2/fpm/php.ini
Riavviare il servizio PHP-FPM.
$ sudo systemctl restart php8.2-fpm
Cambia il gruppo della directory delle sessioni PHP in Nginx.
$ sudo chgrp -R nginx /var/lib/php/sessions
Passaggio 10: configurare Nginx
Esegui il comando seguente per aggiungere un file di configurazione per il tuo sito.
$ sudo nano /etc/nginx/conf.d/flarum.conf
Incolla il seguente codice nell'editor.
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;
}
}
Questo file presuppone che ospiteremo example.com
nella directory /var/www/flarum/public
. Flarum viene fornito con alcune impostazioni Nginx predefinite nel file /var/www/flarum/.nginx.conf
che abbiamo incluso nella nostra configurazione Nginx.
Una volta terminato, premi Ctrl + X per chiudere l'editor e premi Y quando ti viene richiesto di salvare il file.
Apri il file /etc/nginx/nginx.conf
per la modifica.
$ sudo nano /etc/nginx/nginx.conf
Aggiungi la seguente riga prima della riga include /etc/nginx/conf.d/*.conf;
.
server_names_hash_bucket_size 64;
Salva il file premendo Ctrl + X e inserendo Y quando richiesto. Testare la configurazione di Nginx.
$ sudo nginx -t
Dovresti vedere il seguente output che indica che la configurazione è corretta.
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Ricarica il servizio Nginx.
$ sudo systemctl reload nginx
Passaggio 11: accedi e completa l'installazione di Flarum
Apri http://example.com
nel tuo browser per completare l'installazione.
Compila i valori del database richiesti che abbiamo creato sopra. Puoi lasciare vuota la voce Prefisso tabella per consentire a Flarum di utilizzare il prefisso predefinito oppure puoi inserire qualsiasi prefisso personalizzato come fla_
. Scegli un nome utente, una password complessa e un ID e-mail per installare Flarum.
Fai clic sul pulsante Installa Flarum per completare l'installazione.
Una volta installato, dovresti essere accolto con la home page Flarum predefinita.
Il tuo forum è ora installato e pronto per l'uso.
Abilita 2FA
L'autenticazione a due fattori è una caratteristica essenziale per qualsiasi forum pubblico. Flarum non viene fornito con la funzionalità in modo nativo, ma puoi abilitarla installando un'estensione per la stessa. L'estensione per lo stesso è disponibile tramite Extiverse. Extiverse è un repository non ufficiale di temi e plugin Flarum.
Per installare il plugin, passa innanzitutto alla directory Flarum.
$ cd /var/www/flarum
Installa il plugin utilizzando Composer.
$ composer require ianm/twofactor:"*"
Il passo successivo è abilitare il plugin dal pannello di amministrazione di Flarum. Fai clic sul tuo nome in alto a destra nella home page e fai clic sul collegamento Amministrazione dal menu a discesa.
Verrai indirizzato al dashboard di amministrazione. Seleziona la funzione 2FA dal menu a sinistra e attivala. Non è necessario modificare nulla poiché le impostazioni predefinite dovrebbero funzionare correttamente.
Se desideri che i moderatori del forum abbiano abilitato la 2FA, fai clic sul pulsante Mod e abilita l'impostazione 2FA richiesta. Fai clic sul pulsante Salva modifiche per terminare.
Per abilitare 2FA per il tuo account, apri la pagina delle impostazioni dal menu in alto a destra nella home page del forum. Apri la pagina Sicurezza selezionando dalla barra laterale sinistra.
Fai clic sul pulsante Abilita 2FA e si aprirà il seguente popup.
Scansiona il codice QR o scegli l'opzione manuale utilizzando la tua app 2FA e inserisci il codice generato nella casella. Al termine, fai clic sul pulsante Verifica. Ti verranno mostrati i codici di backup. Salvateli e cliccate sul pulsante per procedere.
Ti verrà chiesta nuovamente conferma. Fai clic sul pulsante Ok per procedere. Il processo è ora completo.
Configura le impostazioni di posta elettronica
Dovrai inoltre configurare le impostazioni della posta dal pannello di amministrazione. Flarum supporta il servizio SMTP Mailgun in modo nativo oppure puoi utilizzare un provider SMTP esterno.
Stiamo utilizzando il servizio Amazon SES per il quale abbiamo selezionato smtp dal menu a discesa del driver e-mail nella pagina e-mail. Fai clic sul pulsante Salva modifiche, quindi fai clic sul pulsante Invia per inviare un'e-mail di prova. La pagina avviserà se la mail è stata inviata con successo. Dovresti ricevere la seguente email.
Se desideri utilizzare Mailgun, scegli mailgun dal menu a discesa. Compila i campi richiesti e salva le impostazioni.
Prima di inviare un'e-mail di prova, è necessario installare un pacchetto compositore per farlo funzionare. Passa alla directory Flarum sul server.
$ cd /var/www/flarum
Installa il pacchetto compositore.
$ composer require guzzlehttp/guzzle:^7.0
Invia una mail di prova per verificare.
Conclusione
Con questo si conclude il nostro tutorial sull'installazione del software del forum Flarum Community su un server Debian 12. Se hai domande o feedback, scrivili nei commenti qui sotto.