- Modifié
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é