From 88a4c87368e0253bf6bf35a98e44047b6023bc6c Mon Sep 17 00:00:00 2001 From: Adrien Bourmault Date: Sun, 7 Aug 2022 11:32:57 +0000 Subject: [PATCH] Update README.md --- README.md | 103 +++++++++++++++++++++++++++++------------------------- 1 file changed, 55 insertions(+), 48 deletions(-) diff --git a/README.md b/README.md index 290385b..aec1c80 100644 --- a/README.md +++ b/README.md @@ -28,13 +28,13 @@ sudo -u postgres createdb -O ejabberd ejabberd ## Installation du serveur XMPP ejabberd -On installe le paquet `ejabberd` des dépôts de Debian stable. +On installe le paquet `ejabberd` des dépôts de Debian stable : ``` sudo apt install ejabberd ``` -On initialise la base de données avec le schéma récupéré dans les fichiers installés par le paquet. +On initialise la base de données avec le schéma récupéré dans les fichiers installés par le paquet : ``` psql -U ejabberd ejabberd < /usr/share/ejabberd/sql/pg.new.sql @@ -42,35 +42,7 @@ psql -U ejabberd ejabberd < /usr/share/ejabberd/sql/pg.new.sql On édite ensuite la configuration dans `/etc/ejabberd/ejabberd.yml`. -Une fois que c'est fait, on recharge la configuration avec : - -``` -sudo ejabberdctl reload_config -``` - -Le débogage peut se faire à l'aide du fichier journal `/var/log/ejabberd/ejabberd.log`. - -## Installation de Biboumi - -On installe le paquet `biboumi` depuis les dépôts de Debian stable. - -``` -sudo apt install biboumi -``` - -On crée un utilisateur et un rôle pour psql : - -``` -sudo adduser _biboumi -sudo -u _biboumi psql -CREATE ROLE biboumi LOGIN PASSWORD '***masqué***'; -``` - -On configure ensuite dans `/etc/biboumi/biboumi.cfg`. - -## Configuration de ejabberd et Biboumi - -Afin de pouvoir réaliser des statistiques sur l'utilisation des appels audio/vidéo, on renforce la verbosité tout en masquant le maximum de données privées. +Afin de pouvoir réaliser des statistiques sur l'utilisation des appels audio/vidéo, on renforce la verbosité tout en masquant le maximum de données privées : ``` # loglevel: Verbosity of log files generated by ejabberd @@ -78,14 +50,14 @@ loglevel: info hide_sensitive_log_data: true ``` -On paramètre les domaines couverts par le service. +On paramètre les domaines couverts par le service : ``` hosts: - chalec.org ``` -On indique l'emplacement des certificats (préalablement créés avec certbot) et on désactive le système interne de demande de certificat. +On indique l'emplacement des certificats (préalablement créés avec certbot) et on désactive le système interne de demande de certificat : ``` certfiles: @@ -98,7 +70,7 @@ acme: auto: false ``` -On peut alors paramétrer les différents modules du service XMPP, c'est à dire le C2S, le S2S, TURN/STUN pour les appels audio/vidéo ainsi que Biboumi (irc.chalec.org) +On peut alors paramétrer les différents modules du service XMPP, c'est à dire le C2S, le S2S, TURN/STUN pour les appels audio/vidéo : ``` listen: @@ -137,14 +109,6 @@ listen: /captcha: ejabberd_captcha /upload: mod_http_upload /ws: ejabberd_http_ws - - - port: 8888 - ip: "127.0.0.1" - module: ejabberd_service - access: all - hosts: - "irc.chalec.org": - password: ***masqué*** - port: 5280 ip: "::" @@ -199,7 +163,7 @@ listen: turn_ipv6_address: PUBLIC_IPV6 ``` -On active SCRAM pour les mots de passes utilisateurs et STARTTLS pour les connexions S2S. +On active SCRAM pour les mots de passes utilisateurs et STARTTLS pour les connexions S2S : ``` s2s_use_starttls: required @@ -208,7 +172,7 @@ s2s_use_starttls: required auth_password_format: scram ``` -On met aussi en place la connexion à la base de données pour ejabberd. +On met aussi en place la connexion à la base de données pour ejabberd : ``` auth_method: sql @@ -224,7 +188,7 @@ new_sql_schema: true default_db: sql ``` -On paramètre notre système de génération de captcha. +On paramètre notre système de génération de captcha : ``` ## Full path to a script that generates the image. @@ -233,7 +197,7 @@ captcha_url: https://xmpp.chalec.org:5444/captcha registration_timeout: 60 ``` -On active l'inscription "in-band". +On active l'inscription "in-band" : ``` mod_register: @@ -267,7 +231,7 @@ On active l'inscription "in-band". ``` -On paramètre les quotas pour le téléversement de fichiers. +On paramètre les quotas pour le téléversement de fichiers : ``` shaper_rules: @@ -311,7 +275,33 @@ mod_stun_disco: {} Note : il faut penser également à paramétrer un compte administrateur dans la section `acl`. -Pour Biboumi il faut configurer la connexion à la base de données (créer un utilisateur dédié dans pgsql est le mieux à faire). On paramètre aussi la customisation des noms d'utilisateurs pour que les utilisateurs puissent changer de nick sur IRC. On rend les canaux IRC persistants pour que l'historique soit enregistré lorsque l'utilisateur est hors-ligne (effet BNC/ZNC). +Une fois la configuration effectuée on recharge ejabberd avec : + +``` +sudo ejabberdctl reload_config +``` + +Le débogage peut se faire à l'aide du fichier journal `/var/log/ejabberd/ejabberd.log`. + +## Installation et configuration de Biboumi + +On installe le paquet `biboumi` depuis les dépôts de Debian stable : + +``` +sudo apt install biboumi +``` + +On crée un utilisateur et un rôle pour psql : + +``` +sudo adduser _biboumi +sudo -u _biboumi psql +CREATE ROLE biboumi LOGIN PASSWORD '***masqué***'; +``` + +On configure ensuite dans `/etc/biboumi/biboumi.cfg`. + +Pour Biboumi il faut configurer la connexion à la base de données (créer un utilisateur dédié dans pgsql est le mieux à faire). On paramètre aussi la customisation des noms d'utilisateurs pour que les utilisateurs puissent changer de nick sur IRC. On rend les canaux IRC persistants pour que l'historique soit enregistré lorsque l'utilisateur est hors-ligne (effet BNC/ZNC) : ``` hostname=irc.chalec.org @@ -332,6 +322,23 @@ log_level=1 db_name=postgresql://_biboumi:***masqué***@localhost ``` +On oublie pas d'indiquer à ejabberd que Biboumi existe dans `/etc/ejabberd/ejabberd.yml`, en choississant son sous-domaine (ici, irc.chalec.org) : + +``` +listen: +[...] + - + port: 8888 + ip: "127.0.0.1" + module: ejabberd_service + access: all + hosts: + "irc.chalec.org": + password: ***masqué*** +``` + +On pense enfin à recharger la configuration d'ejabberd avec `sudo ejabberdctl reload_config` et à démarrer le service biboumi.service avec `systemctl`. + ## Création d'un premier compte ```