====== Installation Etherpad ======
{{tag>"travail collaboratif" "éditeur texte" Etherpad installation}}
Etherpad vous permet d'éditer des documents de manière collaborative en temps réel, un peu comme un éditeur multi-joueurs en direct qui s'exécute dans votre navigateur. Rédigez des articles, des communiqués de presse, des listes de choses à faire, etc. avec vos amis, camarades ou collègues, tous travaillant sur le même document en même temps.
===== Installation Node JS =====
Nous installons node.js
curl -sL https://deb.nodesource.com/setup_22.x | sudo -E bash -
sudo apt install -y nodejs
===== Installation Etherpad =====
Nous créons l'utilisateur
sudo adduser --system --group --home /opt/etherpad etherpad
Nous téléchargeons la dernière version d'Etherpad
curl -L https://github.com/ether/etherpad-lite/archive/refs/tags/v2.4.2.tar.gz -o /opt/etherpad/etherpad-2.4.2.tgz
Nous la dézippons et mettons les bons droits, et le plaçons dans son répertoire de travail
sudo tar xzf etherpad-2.4.2.tgz
sudo chown -R etherpad: etherpad-lite-2.4.2
sudo mv etherpad-lite-2.4.2/* /opt/etherpad
sudo mv etherpad-lite-2.4.2/.* /opt/etherpad
À l'issue de l'installation, nous pouvons vérifier la version installée
node --version
npm --version
===== Configuration Postgresql =====
Nous créons la base de données, et y attachons l'utilisateur
sudo -u postgres psql
create user etherpad with encrypted password 'monsupermotdepasse';
create database etherpad with owner etherpad;
grant all privileges on database etherpad to etherpad;
\q
===== Configuration Etherpad =====
Nous créons le fichier de configuration depuis settings.json.template
sudo cp settings.json.template settings.json
Nous éditons le fichier settings.json
sudo vi settings.json
Nous ajoutons le connecteur pour Redis
"dbType" : "postgres",
"dbSettings" : {
"user": "etherpad",
"host": "localhost",
"port": 5432,
"password": "montsupermotdepasse",
"database": "etherpad",
},
Nous configurons le compte admin en décommentant / adaptant ce bloc
"users": {
"admin": {
// 1) "password" can be replaced with "hash" if you install ep_hash_auth
// 2) please note that if password is null, the user will not be created
"password": "monsupermotdepasse",
"is_admin": true
}
},
===== Configuration Systemd =====
Nous créons le fichier qui va permettre de gérer le service à l'aide de Systemd
sudo vi /etc/systemd/system/etherpad.service
Nous y ajoutons cette configuration
[Unit]
Description=Etherpad-lite, the collaborative editor.
After=syslog.target network.target
[Service]
Type=simple
User=etherpad
Group=etherpad
WorkingDirectory=/opt/etherpad
Environment=NODE_ENV=production
ExecStart=pnpm run prod
# use mysql plus a complete settings.json to avoid Service hold-off time over, scheduling restart.
Restart=always
StandardOutput=append:/var/log/etherpad/etherpad.log
StandardError=append:/var/log/etherpad/etherpad-error.log
[Install]
WantedBy=multi-user.target
Nous rechargeons systemd
sudo systemctl daemon-reload
Nous installons les dépendances
sudo /opt/etherpad/bin/installDeps.sh
sudo chown -R etherpad: /opt/etherpad/
Nous configurons les logs
sudo mkdir /var/log/etherpad
sudo chown -R etherpad: /var/log/etherpad/
===== Lancement final =====
Nous activons le service via systemd et le lançons
sudo systemctl enable --now etherpad.service
Pour contrôler que le service tourne correctement
sudo systemctl status etherpad.service
===== Proxy Nginx =====
Nous installons Nginx
sudo apt install -y nginx
Nous créons un vHost Nginx
sudo vi /etc/nginx/sites-available/pad.domain.tld.conf
Nous y collons et adaptons ce contenu
À venir.
Nous créons le liens symbolique
cd /etc/nginx/sites-enabled/
sudo ln -s /etc/nginx/sites-available/pad.domain.tld.conf
Nous vérifions la configuration et la rechargeons
sudo nginx -t
sudo systemctl reload neginx.service
===== Liens =====
* [[https://etherpad.org/|site de l'éditeur]]
* [[https://github.com/ether/etherpad-lite#installation|documentation installation]]
* [[https://www.howtoforge.com/tutorial/ubuntu-etherpad-editor-server-installation/|How to Install Collaborative Real-time Editor Etherpad on Ubuntu 18.04]]
* [[https://etherpad.org/doc/latest/|documentation Etherpad-lite]]
* [[https://github.com/ether/etherpad-lite/wiki/How-to-use-Etherpad-Lite-with-Redis|How to use Etherpad Lite with Redis]]