- Modifié
Ceci est un petit tuto pour installer Flarum sur un serveur Debian.
Installation des dépendences
Tout d'abord il faut installer les dépendences de flarum
sudo su
apt install -y composer
apt install -y php7.4-fpm php7.4-curl php7.4-dom php7.4-gd php7.4-json php7.4-mbstring php7.4-mysql php7.4-tokenizer php7.4-zip
apt install -y default-mysql-server default-mysql-client
apt install -y nginx
apt install -y letsencrypt
Mise en place du DNS et de HTTPS
Il faut donc créer une nouvelle entrée dans le DNS, voici comment elle se présente :
Domain | TTL | Type | Target |
---|---|---|---|
talk.domain.tld | 0 | A | ipv4 address of the server |
talk.domain.tld | 0 | AAAA | ipv6 address of the server |
Une fois cela fait, on va créer le certificat letsencrypt
pour notre nouveau sous-domaine.
systemctl stop nginx
certbot certonly --standalone -d talk.domain.tld
systemctl start nginx
Bien évidement, il ne faut pas oublier de remplacer domain.tld
par le véritable nom de domaine :wink:
Installation de Flarum
Ensuite, on va aller dans le dossier /var/www/
pour y installer flarum
mkdir /var/www/flarum/
cd /var/www/flarum/
Et on va y lançer composer
pour y installer flarum automatiquement
composer create-project flarum/flarum . --stability=beta
On va ensuite changer les permissions d'accès au dossier
chmod 775 -R .
chown www-data:www-data -R .
Mise en place de la base de donnée
Pour mettre en place mysql (si cela n'a pas été fait avant), il faut utiliser les commandes suivantes
systemctl start mysql
mysql_secure_installation
Et ensuite, on va creér une base de donnée et un utilisateur pour celle-ci.
mysql -u root -p
CREATE DATABASE flarum_db;
CREATE USER flarumuser@localhost IDENTIFIED BY "<some password>";
GRANT ALL PRIVILEGES ON flarum_db.* TO flarumuser@localhost;
FLUSH PRIVILEGES;
EXIT;
Configuration nginx
Enfin, on va créer la configuration nginx.
vim /etc/nginx/sites-available/flarum.conf
Et on va coller la configuration suivante :
server {
listen 80;
listen [::]:80;
server_name talk.domain.tld;
return 301 https://talk.domain.tld$request_uri;
}
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
include /var/www/flarum/.nginx.conf;
root /var/www/flarum/public;
include /etc/nginx/snippets/letsencrypt.conf;
index index.php;
server_name talk.domain.tld;
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.4-fpm.sock;
}
ssl_certificate /etc/letsencrypt/live/talk.domain.tld/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/talk.domain.tld/privkey.pem;
ssl_trusted_certificate /etc/letsencrypt/live/talk.domain.tld/fullchain.pem;
access_log /var/log/nginx/talk.domain.tld.access.log;
error_log /var/log/nginx/talk.domain.tld.ovh.error.log;
}
Il ne faut pas oublier de vérifier que les chemins de fichiers existent, et également de customizer la configuration en changeant domain.tld
. Un e fois que la configuration est terminée, on peut relançer nginx
ln -s /etc/nginx/sites-available/flarum.conf /etc/nginx/sites-enabled/
nginx -t
systemctl restart nginx
Serveur mail
Flarum a besoin d'un serveur mail pour pouvoir envoyer les mails de confirmations au nouveaux inscrits. Contrairement à ce que je pensais, c'est extrènemenent simple. Il suffit d'installer postfix
et de changer quelques configurations.
apt install postfix
Pour la configuration, il suffit de suivre les étapes données par l'installateur. Et d'aller dans le fichier de configuration
vim /etc/postfix/main.cf
Dans ce fichier, en bas, il faut donner la valeur loopback-only
à inet-interfaces
. Et dans mydestination
garder uniquement localhost
.
Fin de la configuration en ligne
On peut enfin finir notre configuration en allant sur talk.domain.tld
et en remplissant les informations sur l'admin et la base de donnée.