====== 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]]