Skip to main content

Installazione

Una veloce prova su strada?

Fatti un giro sul nostro forum di dimostrazione o sulla community verificata italiana Flarum.it. Oppure crea il tuo forum in pochi secondi su Free Flarum, un servizio gratuito non affiliato al team Flarum.

Requisiti del server

Prima di installare Flarum, è importante verificare che il tuo server soddisfi i requisiti. Per eseguire Flarum, avrai bisogno di:

  • Apache (con mod_rewrite abilitato) o Nginx
  • PHP 7.3+ con le seguenti estensioni: curl, dom, gd, json, mbstring, openssl, pdo_mysql, tokenizer, zip
  • MySQL 5.6+ o MariaDB 10.0.5+
  • SSH (accesso su riga di comando) per lanciare Composer
Hosting condiviso

In questa fase, non è possibile installare Flarum scaricando un file ZIP e caricando i file sul tuo server web. Questo perché Flarum utilizza un sistema di gestione delle dipendenze chiamato Composer che viene lanciato da riga di comando.

Questo non significa necessariamente che tu abbia bisogno di un VPS. Alcuni host condivisi ti danno accesso SSH, attraverso il quale dovresti essere in grado di installare Composer e Flarum senza problemi.

Installare Flarum

Flarum usa Composer per gestire le sue dipendenze ed estensioni. Prima di installare Flarum, sar� necessario installare Composer sulla tua macchina. Successivamente, esegui questo comando in una cartella vuota in cui desideri installare Flarum:

compositore create-project flarum/flarum .

Mentre questo comando è in esecuzione, puoi configurare il tuo server web. Dovrai assicurarti che il tuo webroot sia impostato su /percorso/del/tuo/forum/public, e impostare URL Rewriting come descritto qui sotto.

Quando tutto è pronto, accedi al tuo forum in un browser web e segui le istruzioni a video per completare l'installazione

Riscrittura URL

Apache

Flarum include un file .htaccess nella cartella public – assicurati che sia stato caricato correttamente. Flarum non funzionerà correttamente se mod_rewrite non è abilitato o il file .htaccess non è accessibile. Assicurati di verificare con il tuo provider di hosting (o il tuo VPS) che queste funzionalità siano abilitate. Se gestisci il tuo server, potresti dover aggiungere quanto segue alla configurazione del tuo sito per abilitare i file .htaccess.

<Directory "/percorso/di/flarum/public">
AllowOverride All
</Directory>

Ciò garantisce che gli override di htaccess siano consentiti in modo che Flarum possa riscrivere correttamente gli URL.

I metodi per abilitare mod_rewrite dipendono dal tuo OS. Puoi abilitarli eseguendo sudo a2enmod rewrite su Ubuntu. mod_rewrite è abilitato di default su CentOS. Non dimenticare di riavviare Apache dopo aver apportato modifiche!

Nginx

Flarum include il file .nginx.conf – assicurati che sia caricato correttamente. Quindi, supponendo che tu abbia un sito PHP impostato all'interno di Nginx, aggiungi quanto segue al blocco di configurazione del tuo server:

include /path/to/flarum/.nginx.conf;

Caddy

Caddy richiede una configurazione molto semplice affinché Flarum funzioni correttamente. Nota che devi sostituire l'URL con il tuo URL e il percorso con il tuo percorso della cartella public. Se stai usando una versione diversa di PHP, dovrai anche cambiare il percorso del file fastcgi per puntare al socket o all'URL di installazione PHP corretto.

www.esempio.com {
root * /var/www/flarum/public
try_files {path} {path}/ /index.php
php_fastcgi / /var/run/php/php7.4-fpm.sock php
header /assets {
+Cache-Control "public, must-revalidate, proxy-revalidate"
+Cache-Control "max-age=25000"
Pragma "public"
}
encode gzip
}

Proprietà della cartella

Durante l'installazione, Flarum potrebbe richiedere di rendere scrivibili alcune directory. Modern operating systems are generally multi-user, meaning that the user you log in as is not the same as the user FLarum is running as. The user that Flarum is running as MUST have read + write access to:

  • The root install directory, so Flarum can edit config.php.
  • The storage subdirectory, so Flarum can edit logs and store cached data.
  • The assets subdirectory, so that logos and avatars can be uploaded to the filesystem.

Se Flarum richiede l'accesso in scrittura sia alla directory che al suo contenuto, è necessario aggiungere il comando -R in modo che le autorizzazioni siano aggiornate per tutti i file e le cartelle all'interno della directory:

There are several commands you'll need to run in order to set up file permissions. Please note that if your install doesn't show warnings after executing just some of these, you don't need to run the rest.

First, you'll need to allow write access to the directory. On Linux:

chmod 775 -R /percorso/della/directory

If that isn't enough, you may need to check that your files are owned by the correct group and user. Per impostazione predefinita, nella maggior parte delle distribuzioni Linux www-data è sia il gruppo che l'utente ad operare sotto PHP. You'll need to look into the specifics of your distro and web server setup to make sure. È possibile modificare la proprietà della cartella nella maggior parte dei sistemi operativi Linux eseguendo chown -R www-data:www-data nomecartella/.

chmod 775 -R /percorso/della/directory
Gli ambienti possono variare

Additionally, you'll need to ensure that your CLI user (the one you're logged into the terminal as) has ownership, so that you can install extensions and manage the Flarum installation via CLI. To do this, add your current user (whoami) to the web server group (usually www-data) via usermod -a -G www-data YOUR_USERNAME. You will likely need to log out and back in for this change to take effect.

Finally, if that doesn't work, you might need to configure SELinux to allow the web server to write to the directory. To do so, run:

chcon -R -t httpd_sys_rw_content_t /path/to/directory

Per saperne di più su questi comandi, nonché sui permessi dei file e sulla proprietà su Linux, leggi questo tutorial. Se stai configurando Flarum su Windows, potresti trovare le risposte domande su Super User.

Il tuo ambiente potrebbe variare rispetto alla documentazione fornita, consulta la configurazione del tuo server web o il provider di hosting web per conoscere l'utente e il gruppo appropriato in cui operano PHP e il server web.

:::

Non dare mai permessi 777

Non impostare mai alcuna cartella o file a livello di autorizzazione su 777, poiché questo livello di autorizzazione consente a chiunque di accedere al contenuto della cartella e del file indipendentemente dall'utente o dal gruppo.

Personalizzare i percorsi

Per impostazione predefinita, la struttura delle directory di Flarum include una cartella public che contiene solo file accessibili pubblicamente. Questa è una best practice per la sicurezza, che garantisce che tutti i file di codice sorgente sensibili siano completamente inaccessibili dalla radice web.

Tuttavia, se desideri ospitare Flarum in una sottodirectory (tipo tuosito.com/forum), o se il tuo host non ti dà il controllo sulla tua webroot (sei bloccato con qualcosa di simile public_html o htdocs), puoi impostare Flarum senza la cartella public .

Semplicemente sposta tutti i file nella cartella public (incluso il file .htaccess) nella directory da cui vuoi servire Flarum. Quindi modifica il file .htaccess rimuovi il commento alle linee da 9-15 per proteggere le risorse sensibili. Per Nginx, rimuovi il commento alle linee da 8-11 del file .nginx.conf.

Dovrai anche modificare il file index.php cambiando le seguenti righe:

$site = require './site.php';

Ora, modifica il file site.php ed aggiorna i percorsi affinché rispettino la struttura del tuo sito:

'base' => __DIR__,
'public' => __DIR__,
'storage' => __DIR__.'/storage',

Infine, controlla config.php e assicurati che il valore url sia corretto.

Importazione dati da altro forum

Se hai una comunità esistente e non vuoi ricominciare da zero, potresti essere in grado di importare i tuoi dati esistenti in Flarum. Sebbene non ci siano ancora importatori ufficiali, la comunità ha creato diversi importatori non ufficiali:

Questi possono essere usati anche per altri software per forum, migrando prima a phpBB, poi a Flarum. Tieni presente che non possiamo garantire che funzionino e non possiamo offrire supporto per loro.