---
title: Installation
url: 'https://chaton.sequanux.org/fr/documentation/installation'
markdown: 'https://chaton.sequanux.org/fr/documentation/installation.md'
lang: fr
date: '2026-10-23'
description: "Installation Vous trouverez ci-dessous quelques notes vous permettant de répliquer l'installation de ces services sur vos propres machines, et qui sait, peut être, devenir vous même un vrai chaton. Grav Source https://github.com/getgrav/grav Description Grav est un CMS (Content Management System),…"
---

# Installation

Vous trouverez ci-dessous quelques notes vous permettant de répliquer l'installation de ces services sur vos propres machines, et qui sait, peut être, devenir vous même un vrai chaton.

---

## Grav

### Source

<https://github.com/getgrav/grav>

### Description

*Grav* est un CMS (**C**ontent **M**anagement **S**ystem), c'est-à-dire un système qui permet d'éditer facilement le contenu et l'organisation de pages html. Il sert de support aux quelques pages d'accueil de *chaton.sequanux.org*. Ce logiciel est développé [Trilby Media](https://trilby.media/) et est proposé sous licence MIT. Sa particularité est d'être *flat file*, c'est-à-dire de ne pas fonctionner couplé à une base de données. Il en résulte une grande facilité d'installation.

Site du projet: https://getgrav.org/ Dépôt logiciel: https://github.com/getgrav/grav Documentation officielle: https://learn.getgrav.org/16/basics/installation

### Installation

La présente installation a suivi à la lettre le [tutoriel](https://doc.ubuntu-fr.org/grav) proposé sur le site doc.ubuntu-fr.org en 2018. Celui reste valable en 2020. Les étapes ci-dessous ne vont faire que résumer et paraphraser ce tutoriel...

Nous partons du principe que le serveur web est déjà en place, et que l'hôte est créé également. La racine de l'hôte pointe vers /var/www/grav .

Il faut donc, en premier lieu, télécharger la dernière version de Grav:

```
wget -O grav-admin.zip https://getgrav.org/download/core/grav-admin/latest
```

puis la décompresser à la racine de l'hôte:

```
sudo unzip grav-admin.zip -d /var/www
sudo mv /var/www/grav-admin /var/www/grav
```

Il faut corriger les droits de fichiers mis en place:

```
sudo chown $USER:www-data /var/www/grav -R
sudo chmod -rwx,u+rwX,g+rwX /var/www/grav -R
```

Et c'est presque tout ! Le site est accessible, tout comme l'administration (à `URL/admin`). Puisque nous avons choisi la version de grav avec l'interface d'administration, toutes les manipulations telles que la création d'un nouvel utilisateur ou l'édition des pages (avec le formatage markdown) se feront depuis des menus très clair.

Si votre site disparaît après la première nuit, c'est qu'il y a un problème avec la mise en cache automatique des contenus. Il faudra copier ces commandes dans un fichier bash et l'éxécuter pour résoudre le problème ([source](https://learn.getgrav.org/16/troubleshooting/permissions):

```
#!/bin/sh
chown -R joeblow:staff .
find . -type f -exec chmod 664 {} \;
find ./bin -type f -exec chmod 775 {} \;
find . -type d -exec chmod 775 {} \;
find . -type d -exec chmod +s {} \;
```

Il faut remplacer joeblow:staff par les propriétaires du dossier www.

---

## Jitsi

### Sources

<https://github.com/jitsi/jitsi-meet>

### Description

[Jitsi](ttps://jitsi.org/) est une application de messagerie instantanée, voix sur IP et visioconférence sous licence libre Apache License 2.0

### Installation

La procédure d’install rapide disponible sur <https://github.com/jitsi/jitsi-meet/blob/master/doc/quick-install.md> est tout à fait fonctionnelle mais nous avons dû faire quelques ajustements par rapport à notre configuration initiale notamment au niveau du reverse proxy. En effet le serveur sur lequel nous souhaitons installer Jitsi nous sert actuellement de serveur web pour le site <https://sequanux.org> et c’est au logiciel Apache que cette tâche est confiée, c'est donc Apache qui nous servira également de reverse proxy et non Nginx.

La procédure qui est décrite ici est donc spécifique à notre environnement de départ (Debian GNU/Linux 10+ Apache) et a pour but l'installation de Jitsi qui sera accessible via l’url <https://visio.sequanux.org>

#### Préparation

On vérifie notre notre hostname

```
cat /etc/hostname
```

qui nous renvoie notre HOSTNAME

On édite le fichier */etc/hosts* pour y ajouter :

```
127.0.0.1 localhost visio.sequanux.org
```

On vérifie au passage qu’on a bien une entrée du type

```
127.0.0.1   HOSTNAME
```

comme ce n’ést pas le cas, on la rajoute vite vite vite.

On ajoute le dépôt jitsi

```
echo 'deb https://download.jitsi.org stable/' >> /etc/apt/sources.list.d/jitsi-stable.list
```

On récupère et on installe le certificat

```
wget -qO -  https://download.jitsi.org/jitsi-key.gpg.key | apt-key add -
```

On ajoute des règles de parefeu pour ouvrir les ports 80 TCP, 443 TCP et 10000 UDP sur le serveur

#### Installation du logiciel

On installe les paquets et leurs dépendances :

```
apt-get update
apt-get install apt-transport-https jitsi-meet
```

Durant l’installation on est invité à saisir le nom de domaine de notre instance jitsi : *visio.sequanux.org*

À la question du certificat de sécurité on laisse jitsi utiliser un certificat auto-signé, nous générerons un certificat LetsEncrypt plus tard pour notre domaine.

**Remarque :**Jitisi utilise un reverse proxy pour se connecter à l’application, nginx ou apache sont capables d’assurer cette tâche :

- Si aucun serveur web n’est encore installé sur votre serveur, nginx sera automatiquement installé et configuré.
- Si vous avez déjà un serveur apache fonctionnel il vous faudra créer le fichier de configuration du vhost.

#### Configuration de Jitsi

On ajoute au début du fichier */etc/jitsi/videobridge/sip-communicator.properties*

```
org.ice4j.ice.harvest.NAT_HARVESTER_LOCAL_ADDRESS=xxx.xxx.xxx.xxx
org.ice4j.ice.harvest.NAT_HARVESTER_PUBLIC_ADDRESS=yyy.yyy.yyy.yyy
```

en remplaçant :

- xxx.xxx.xxx.xxx = adresse ip locale du serveur
- yyy.yyy.yyy.yyy = adresse ip publique du serveur

#### Configuration de la partie https et proxy

Pour la création du certificat SSL nous avons déjà comme prérequis :

- un service apache qui tourne
- une entré DNS visio.sequanux.org qui pointe vers l’ip publique de notre serveur
- certbot installé

On lance donc la créationdu certificat SSL :

```
certbot-auto --apache -d visio.sequanux.org --rsa-key-size 4096
```

On crée et on édite notre fichier vhost pour apache */etc/apache2/sites-available/visio.conf* :

```
<VirtualHost *:80> 
   ServerName visio.sequanux.org 
   Redirect permanent / https://visio.sequanux.org/ 
   RewriteEngine On 
   RewriteCond %{HTTPS} off 
   RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] 
  RewriteCond %{SERVER_NAME} =visio.sequanux.org 
  RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent] 
</VirtualHost> 

<VirtualHost *:443> 

 ServerName visio.sequanux.org 

 SSLProtocol TLSv1 TLSv1.1 TLSv1.2 
 SSLEngine on 
 SSLProxyEngine on 
 SSLCipherSuite "EECDH+ECDSA+AESGCM:EECDH+aRSA+AESGCM:EECDH+ECDSA+SHA256:EECDH+aRSA+SHA256:EECDH+ECDSA+SHA384:EECDH+ECDSA+SHA256:EECDH+aRSA+SHA384:EDH+aRSA+AESGCM:EDH+aRSA+SHA256:EDH+aRSA:
EECDH:!aNULL:!eNULL:!MEDIUM:!LOW:!3DES:!MD5:!EXP:!PSK:!SRP:!DSS:!RC4:!SEED" 
 SSLHonorCipherOrder on 
 Header set Strict-Transport-Security "max-age=31536000" 

 DocumentRoot "/usr/share/jitsi-meet" 
 <Directory "/usr/share/jitsi-meet"> 
   Options Indexes MultiViews Includes FollowSymLinks 
   AddOutputFilter Includes html 
   AllowOverride All 
   Order allow,deny 
   Allow from all 
 </Directory> 

ErrorDocument 404 /static/404.html 

Alias "/config.js" "/etc/jitsi/meet/visio.sequanux.org-config.js" 
 <Location /config.js> 
   Require all granted 
 </Location> 

   Alias "/external_api.js" "/usr/share/jitsi-meet/libs/external_api.min.js" 
 <Location /external_api.js> 
   Require all granted 
 </Location> 

ProxyPreserveHost on 
ProxyPass /http-bind http://localhost:5280/http-bind/ 
ProxyPassReverse /http-bind http://localhost:5280/http-bind/ 
  
RewriteEngine on 
 RewriteRule ^/([a-zA-Z0-9]+)$ /index.html 
 Include /etc/letsencrypt/options-ssl-apache.conf 
 SSLCertificateFile /etc/letsencrypt/live/visio.sequanux.org/fullchain.pem 
 SSLCertificateKeyFile /etc/letsencrypt/live/visio.sequanux.org/privkey.pem 
</VirtualHost>
```

On recharge les fichiers de configuration apache :

```
systemctl reload apache2.service
```

Et voilà, on a notre instance jitsi fonctionnelle : <https://visio.sequanux.org>

---

## Lufi

### Source

<https://framagit.org/fiat-tux/hat-softwares/lufi>

### Description

### Installation

---

## Etherpad

### Source

<https://github.com/ether/etherpad-lite>

### Description

Etherpad est un logiciel libre sous licence Apache qui permet l'éditeur de texte en mode collaboratif en temps réel. Plusieurs utilisateurs peuvent donc saisir/corriger/supprimer le texte en même temps !

### Installation

On décrit ici l'installation d'Etherpad sur un système GNU/Linux Debian 10 sur lequel apache et mariadb sont déjà installés et configurés. Les DNS sont ok avec un sous-domaine pad.sequanux.org pointant vers le serveur.

On édite le fichier */etc/hosts* pour y ajouter :

```
127.0.0.1 pad.sequanux.org
```

#### Dépendances

On commence par installer nodejs, npm

```
apt-get install nodejs npm
```

On crée un utilisateur système dédié :

```
useradd -mU etherpad 
```

On clone le dépôt etherpad-lite et déplacer le répertoire dans /var/www

```
git clone git://github.com/ether/etherpad-lite.git
mv etherpad-lite /var/www/
```

On change le propriétaire du répertoire :

```
chown -R etherpad:etherpad /var/www/etherpad-lite
```

On installe le reste des dépendances

```
cd /var/www/etherpad-lite
su -c './bin/installDeps.sh' etherpad 
```

Pour l'import/export au format odt on utilisera abiword

```
apt-get install abiword
```

#### Préparation de la base de données mariadb

On crée un user avec un mot de passe, une base, on donne les privilèges

#### Mise en place du reverse proxy apache

On crée un vhost en écoute sur le port 80

```
<VirtualHost *:80>
    ServerName pad.sequanux.org

    ProxyPass / http://127.0.1.1:9001/
    ProxyPassReverse / http://127.0.1.1:9001/
    ProxyRequests Off
RewriteEngine on
RewriteCond %{SERVER_NAME} =pad.sequanux.org
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>
```

On créé un certificat ssl avec letsencrypt

On ajoute un vhost en écoute sur le port 443

```
<IfModule mod_ssl.c>
<VirtualHost *:443>
    ServerName pad.sequanux.org

    ProxyVia On
    ProxyRequests Off
    ProxyPreserveHost on 

    <Location />
        ProxyPass http://127.0.1.1:9001/ retry=0 timeout=30
        ProxyPassReverse http://127.0.1.1:9001/
    </Location>

    <Location /socket.io>
            RewriteEngine On
            RewriteCond %{QUERY_STRING} transport=websocket    [NC]
            RewriteRule /(.*) ws://127.0.1.1:9001/socket.io/$1 [P,L]
            ProxyPass http://127.0.1.1:9001/socket.io retry=0 timeout=30
            ProxyPassReverse http://127.0.1.1:9001/socket.io
    </Location>

    <Proxy *>
        Options FollowSymLinks MultiViews
        AllowOverride All
        Order allow,deny
        allow from all
    </Proxy>

    Include /etc/letsencrypt/options-ssl-apache.conf

    SSLCertificateFile /chemin/de/notre/fichier/fullchain.pem
    SSLCertificateKeyFile /chemin/de/notre/fichier/privkey.pem

    ErrorLog ${APACHE_LOG_DIR}/error_pad.log

        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn

        CustomLog ${APACHE_LOG_DIR}/access_pad.log combined

</VirtualHost>
</IfModule>
```

#### Configuration d'etherpad

On modifie le fichier de configuration d'etherpad /var/www/etherpad-lite/settings.json :

- On commente la section nrelative à la base de données "dirty"

    ```
    /*
    "dbType": "dirty",
    "dbSettings": {
    "filename": "var/dirty.db"
    },
    */
    ```
- On configure l'accès à la base mysql

    ```
    "dbType" : "mysql",
    "dbSettings" : {
    "user":     "bdd_user",
    "host":     "localhost",
    "port":     3306,
    "password": "user_passwd",
    "database": "nom-de-la-base",
    "charset":  "utf8mb4"
    },
    ```
- Pour les autres paramètres, le fichier est assez bien commenté pour savoir à quoi on s'attaque

#### Test de lancement d'etherpad

On lance etherpad par l'utilisateur dédié :

```
su -c 'sh /var/www/etherpad-lite/bin/run.sh' etherpad
```

On vérifie dasn le navigateur si on a quelque chose....

#### Etherpad en tant que service

Afin de rendre le lancement d'etherpad automatique après reboot du système on peut créer un service. On crée le fichier /etc/systemd/system/etherpad-lite.service

```
Description=etherpad-lite (real-time collaborative document editing)
After=syslog.target network.target
Requires=mariadb.service

[Service]
Type=simple
User=etherpad
Group=etherpad
Environment=NODE_ENV=production
ExecStart=/var/www/etherpad-lite/bin/run.sh

[Install]
WantedBy=multi-user.target
```

On active le service au démarrage du système :

```
systemctl enable etherpad-lite.service
```

---

## PrivateBin

### Source

<https://github.com/PrivateBin/PrivateBin>

### Description

### Installation

---

## Navigation

- Parent: [Documentation](https://chaton.sequanux.org/fr/documentation.md)
- Previous: [Hébergement et sauvegardes](https://chaton.sequanux.org/fr/documentation/hebergement-et-mention.md)
