diff --git a/262b51cb-f69d-45a4-ac92-4cd9b3bce78c/files/20211112-175520.png b/262b51cb-f69d-45a4-ac92-4cd9b3bce78c/files/20211112-175520.png deleted file mode 100644 index b10a8bf..0000000 Binary files a/262b51cb-f69d-45a4-ac92-4cd9b3bce78c/files/20211112-175520.png and /dev/null differ diff --git a/262b51cb-f69d-45a4-ac92-4cd9b3bce78c/files/20211112-191953.png b/262b51cb-f69d-45a4-ac92-4cd9b3bce78c/files/20211112-191953.png deleted file mode 100644 index fc77c05..0000000 Binary files a/262b51cb-f69d-45a4-ac92-4cd9b3bce78c/files/20211112-191953.png and /dev/null differ diff --git a/262b51cb-f69d-45a4-ac92-4cd9b3bce78c/files/20211113-074341.png b/262b51cb-f69d-45a4-ac92-4cd9b3bce78c/files/20211113-074341.png deleted file mode 100644 index 97d28b5..0000000 Binary files a/262b51cb-f69d-45a4-ac92-4cd9b3bce78c/files/20211113-074341.png and /dev/null differ diff --git a/262b51cb-f69d-45a4-ac92-4cd9b3bce78c/index.md b/262b51cb-f69d-45a4-ac92-4cd9b3bce78c/index.md deleted file mode 100644 index 7be272e..0000000 --- a/262b51cb-f69d-45a4-ac92-4cd9b3bce78c/index.md +++ /dev/null @@ -1,181 +0,0 @@ -# ejabberd - service de messagerie Jabber XMPP - -![](20211112-191953.png) - -Il est nécessaire d'avoir (pré requis) pour ce tuto : -- un service Apache - **httpd** -- un service de base de données - **mariaDb** -- un système d'exploitation **Linux Debian 10** - -## Installer -Pour installer **ejabberd** sous la distribution Linux **Debian**, il suffit de taper en ligne de commandes : - - sudo apt install ejabberd - -![](20211112-175520.png) - -Un service `/lib/systemd/system/epmd.service` est créé. Un service `/lib/systemd/system/ejabberd.service` est créé et un fichier de configuration par défaut est déployé dans `/etc/ejabberd/ejabberd.yml`. Ce dernier point est traité ci-dessous. - -## Installer la base de données -**ejabberd** est compatible avec plusieurs SGBD. J'aborde l'installation avec **MariaDB**. - -Crééer l'utilisateur **ejabberd** avec son mot de passe **password** (à modifier). - - echo "GRANT ALL ON ejabberd.* TO 'ejabberd'@'localhost' IDENTIFIED BY 'password';" | mysql -h localhost -u root - -Créer la base de données associée à l'utilisateur **ejabberd** - - echo "CREATE DATABASE ejabberd;" | mysql -h localhost -u ejabberd -p - -## Mettre à jour -Vérifier la dernière version disponible à la page de [téléchargement ejabberd](https:*www.process-one.net/en/ejabberd/downloads/) - -Vérifier les modifications a effectuer sur la page de la [procédure de mise à jour ejabberd](https:*docs.ejabberd.im/admin/upgrade/). - -```BASH -sudo systemctl stop ejabberd -wget https:*www.process-one.net/downloads/downloads-action.php?file=/21.07/ejabberd_21.07-0_amd64.deb -O ejabberd.deb -sudo apt install ./ejabberd.deb -sudo systemctl start ejabberd -``` - -Cette mise à jour à modifié les chemins de configuation dans `/opt/ejabberd/conf` et les logs dans `/opt/ejabberd/logs`. - -## Log -![](20211113-074341.png) - -Les fichiers logs sont présents dans le dossier `/var/log/ejabberd`. - -Après la mise à jour en 21.07, ils se trouvent dans `/opt/ejabberd/logs/` - -## Configurer -Le nom du serveur doit être déclaré dans les DNS et dans le fichiers `/etc/hosts`. - -Le fichier de configuration est au format YML. Il doit être déposé dans le chemin `/etc/ejabberd/ejabberd.yml` -Après la mise à jour en 21.07, le dossier de configuration s'est trouvé dans `/opt/ejabberd/conf`. - -Dans l'exemple suivants prenoms les paramètres : -- nom de serveur retenu pour le service : im.domain.tld, xmpp.domain2.tld -- adresse ip : 45.54.65.42 - -## Configurer les champs DNS -Déclarer les champs DNS suivants : - -``` -im IN A 45.54.65.42 -*.im IN A 45.54.65.42 -``` - -## Configurer le SSL -Je vous conseille d'associer un serveur http au nom de domaine *im.domain.tld// de votre service. Cela permettra de faire une page d'accueil web avec des services associés. Par la même occasion, effectuer une demande SSL. Les certificats seront générés dans le dossier `/etc/letsencrypt/live`. Il faudra copier la clé et le certificat dans le dossier de config de **ejabberd**. - -```BASH -sudo sh -c "cat /etc/letsencrypt/live/im.domain.tld/privkey.pem /etc/letsencrypt/live/im.domain.tld/fullchain.pem > /opt/ejabberd/conf/server.pem" -``` - - Par conséquence, il est facile d'indiquer à **ejabberd** le certificat à utiliser : - -``` -certfiles: -1. "opt/ejabberd/conf/server.pem" -``` - -## Configurer le host -Il faut définir les hosts sur lesquels ejabberd écoute : -``` -hosts: -1. "im.domain.tld" -1. "xmpp.domain2.tld" -``` - -Le fichier peut prendre en compte autant de domaine que l'on souhaite avec des cas de configuration distinct. C'est le principe du `virtual hosting` - -``` -host_config: - im.domain.tld: - ... - xmpp.domain2.tld: - ... -``` - -## Configurer le type d'authentification -On peut se baser sur une authentification **anonymous**, **pam**, **jwt**, **sql**, **internal** et **ldap**. - -``` -host_config: - im.domain.tld: - auth_method: internal - xmpp.domain2.tld: - auth_method: sql - sql_type: odbc - sql_server: "DSN=ejabberd;UID=ejabberd;PWD=ejabberd" -``` - -## Configurer les modules -``` -## Configuration of modules that are common to all vhosts -modules: - mod_roster: {} - mod_configure: {} - mod_disco: {} - mod_private: {} - mod_time: {} - mod_last: {} - mod_version: {} - -append_host_config: - ## Add some modules to vhost one: - im.domain.tld: - modules: - mod_muc: - host: conference.im.domain.tld - mod_ping: {} - ## Add a module just to vhost two: - xmpp.domain2.tld: - modules: - mod_muc: - host: conference.xmpp.domain2.tld -``` - -## Configurer les options -``` -language: fr -``` - - - - ===== Configurer le module audio/vidéo STUN/TURN ===== - - Le module `mod_stun_disco` est disponible depuis la version 20.04. - - ```yamel -modules: - ... - mod_stun_disco: - credentials_lifetime: 12h - services: - - - host: 0.0.0.0 - port: 3478 - type: stun - transport: udp - restricted: false - - - host: 0.0.0.0 - port: 3478 - type: turn - transport: udp - restricted: true - - - host: im.domain.tdl - port: 5349 - type: stuns - transport: tcp - restricted: false - - - host: im.domain.tdl - port: 5349 - type: turns - transport: tcp - restricted: true -``` \ No newline at end of file diff --git a/262b51cb-f69d-45a4-ac92-4cd9b3bce78c/meta.json b/262b51cb-f69d-45a4-ac92-4cd9b3bce78c/meta.json deleted file mode 100644 index 943283e..0000000 --- a/262b51cb-f69d-45a4-ac92-4cd9b3bce78c/meta.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "uuid": "262b51cb-f69d-45a4-ac92-4cd9b3bce78c", - "slug": "ejabberd-service-de-messagerie-jabber-xmpp", - "title": "ejabberd - service de messagerie Jabber XMPP", - "author": "cedric@abonnel.fr", - "published": true, - "published_at": "2023-02-10 22:48:50", - "created_at": "2023-02-10 22:48:50", - "updated_at": "2023-02-10 22:48:50", - "revisions": [], - "cover": "", - "files_meta": [], - "external_links": [], - "seo_title": "", - "seo_description": "", - "og_image": "", - "category": "Informatique" -}