Attention, Il faut déjà avoir un serveur utilisant nginx et un nom de domaine (HTTPS) pour utiliser ce tutoriel.

Installer les dépendences

La seule dépendence à installer ici est Node. On va ici installer la dernière LTS de Node.

Premièrement, allez sur le site de Node et copiez le lien vers le téléchargement de la LTS.

Ensuite, on peut lançer les commandes suivantes dans le terminal:

cd /usr/local/                          # Allez dans le dossier dans lequel on va installer node
wget <paste your url here>              # Télécharger l'archive contenant node
tar xvf node*.tar.*                     # Extrayez l'archive
mv node-*/ node/                        # Renomez le dossier vers un nom plus simple
ln -s /usr/local/node/bin/* /usr/bin    # Liez tous les binaires du dossier vers /usr/bin
rm *.tar.*                              # Supprimez l'archive pour nettoyer le dossier

Créer l'utilisateur "etherpad"

Nous allons maintenant créer un utilisateur pour utiliser le logiciel

useradd -s /usr/bin/bash -m etherpad
passwd etherpad

Télécharger Etherpad

Maintenant que nous avons tous les ingérédients nécessaires pour installer Etherpad, nous allons maintenant télécherger le code source.

cd /var/www
git clone --branch master https://github.com/ether/etherpad-lite.git

Maintenant, changez l'utilisateur du dossier téléchargé et connectez vous en tant que "etherpad".

chown etherpad:etherpad -R etherpad-lite/
su - etherpad
cd /var/www/etherpad-lite/

Vous pouvez maintenant tester si tout s'est passé correctement:

./src/bin/run.sh    # Lançez Etherpad (dev mode)
exit                # Quittez l'utilisateur "etherpad"

Créez un nouveau fichier .service

Créez le fichier:

nano /etc/systemd/system/etherpad.service

Puis collez le contenu suivant:

[Unit]
Description=Etherpad
After=network.target network-online.target

[Service]
Type=simple
User=etherpad
Group=etherpad
Restart=always
RestartSec=1
ExecStart=/var/www/etherpad-lite/src/bin/run.sh

[Install]
WantedBy=multi-user.target

Vous pouvez maintenant lançer Etherpad

sudo systemctl start etherpad

Créer un reverse proxy nginx

Créer un nouveau fichier de config nginx:

nano /etc/nginx/sites-available/etherpad.conf

Puis collez le contenu suivant: (N'oubliez pas de changer pad.example.com par votre domaine réel.

server {
    listen 80;
    listen [::]:80;

    server_name pad.example.com;

    return 301 https://pad.example.com$request_uri;
}

server {
    listen 443 ssl http2;
    listen [::]:443 ssl http2;

    location / {
        proxy_pass http://127.0.0.1:9001;

        proxy_set_header Host $host;
        proxy_set_header Connection       $http_connection;
        proxy_set_header X-Forwarded-For  $proxy_add_x_forwarded_for;
        proxy_set_header X-Scheme         $scheme;
        proxy_buffering                   off;
    }

    include /etc/nginx/snippets/letsencrypt.conf;

    server_name pad.example.com;

    ssl_certificate /etc/letsencrypt/live/pad.example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/pad.example.com/privkey.pem;
    ssl_trusted_certificate /etc/letsencrypt/live/pad.example.com/fullchain.pem;

    access_log /var/log/nginx/pad.example.com.access.log;
    error_log /var/log/nginx/pad.example.com.error.log;
}

Nous pouvons maintenant activer la configuration et re-lançer nginx:

ln -s /etc/nginx/sites-available/etherpad.conf /etc/nginx/sites-enabled/
systemctl restart nginx

Etherpad est maintenant accessible au nom de domaine voulu.

Changez le thème (optionel)

Allez dans le fichier de paramètres:

nano /var/www/etherpad-lite/settings.json

Cherchez pour "super-light" dans le fichier et modifiez les valeurs selon vos envies.

Et re-lançez etherpad...

systemctl restart etherpad

Ajoutez des plugins (recommended)

Premièrement, allons dans le dossier en tant que "etherpad".

su - etherpad
cd /var/www/etherpad-lite/

Ensuite, lançez npm install pour installer votre plugin. Les plugins suivant sont recommandés...

npm install ep_headings2 ep_font_color ep_comments_page ep_align ep_embedded_hyperlinks2 ep_markdown

Re-lançez Etherpad pour appliquer les changements:

exit
systemctl restart etherpad

Changer la base de donnée vers MySQL

Créons la base de donnée et l'utilisateur:

mysql
CREATE USER 'etherpaduser'@'localhost' IDENTIFIED BY '<votre mot de passe>';
CREATE DATABASE etherpad_lite_db;
GRANT ALL PRIVILEGES ON etherpad_lite_db.* TO 'etherpaduser'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Maintenant, nous allons modifier le fichier de paramètres.

nano /var/www/etherpad-lite/settings.json

Cherchons maintenant "mysql" dans le document et commentez la partie parlant de "dirtyDB", puis décommentez la partie parlant de "mysql" (et changez le mot de passe).

Enfin re-lançez (encore) Etherpad:

systemctl restart etherpad

Conclusion

Vous avez maintenant:

  • NodeJS, dernière version LTS installée
  • Un nom de domaine pour Etherpad
  • Quelques extensions basique
  • Une base de donnée MySQL
  • Un fichier .service pour gérer Etherpad proprement
  • Un thème personalisé
Répondre…