3.7 KiB
Cette page a été importée automatiquement de notre ancien wiki mais n'a pas encore été révisée.
HowtoEtherpad
Etherpad est un éditeur texte collaboratif en ligne. On utilise désormais la version Etherpad-Lite.
- http://etherpad.org/
- https://github.com/ether/etherpad-lite/
- Statut du package Debian officiel : http://bugs.debian.org/576998
Installation
Debian Jessie :
# apt install gzip git curl python libssl-dev pkg-config build-essential
# apt install nodejs npm
# adduser --system --home=/home/etherpad-lite --group etherpad-lite
$ git clone git://github.com/ether/etherpad-lite.git
# vim /etc/systemd/system/etherpad-lite.service
[Unit]
Description=etherpad-lite (real-time collaborative document editing)
After=syslog.target network.target
[Service]
Type=simple
User=etherpad-lite
Group=etherpad-lite
ExecStart=/home/etherpad-lite/etherpad-lite/bin/run.sh
[Install]
WantedBy=multi-user.target
# systemctl enable etherpad-lite
Created symlink from /etc/systemd/system/multi-user.target.wants/etherpad-lite.service to /etc/systemd/system/etherpad-lite.service.
# systemctl start etherpad-lite
Voir https://github.com/ether/etherpad-lite/wiki/How-to-deploy-Etherpad-Lite-as-a-service
Note : les scripts bin/run.sh et bin/installDeps.sh utilisent la commande "node" et non "nodejs", il peut donc être nécessaire de modifier ou créer un alias node=nodejs
Installation (deprecated)
En installant nodejs depuis les sources. Suivre les infos sur : https://github.com/Pita/etherpad-lite/blob/master/README.md
# aptitude install gzip git-core curl python libssl-dev build-essential
# apt-get build-dep nodejs=0.6.8~dfsg1-1
$ wget <http://nodejs.org/dist/v0.6.10/node-v0.6.10.tar.gz>
$ tar xvf node-v0.6.10.tar.gz
$ cd node-v0.6.10
$ ./configure && make
# make install
$ git clone <https://github.com/Pita/etherpad-lite.git>
$ cd ../etherpad-lite/
$ ./bin/installDeps.sh
$ vim settings.json
$ ./bin/run.sh
Lancer bin/run.sh
Configuration
Cela ce passe dans settings.json
Stockage des données
Par défaut, Etherpad utilise DirtyDB (un fichier à plat) mais on peut utiliser sqlite ou MySQL.
Pour DirtyDB :
"dbType" : "dirty",
"dbSettings" : {
"filename" : "var/dirty.db"
},
Pour MySQL utiliser MySQL :
mysql> create database etherpad;
mysql> grant CREATE,ALTER,SELECT,INSERT,UPDATE,DELETE on `etherpad`.* to 'etherpad'@'localhost' identified by '<password>';
puis :
"dbType" : "mysql",
"dbSettings" : {
"user" : "etherpad",
"host" : "127.0.0.1",
"password": "<password>",
"database": "etherpad"
},
puis :
$ sh bin/installDeps.sh
# systemctl restart etherpad-lite
mysql> show tables
+--------------------+
| Tables_in_etherpad |
+--------------------+
| store |
+--------------------+
mysql> ALTER DATABASE `etherpad` CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
mysql> ALTER TABLE `store` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
Voir https://github.com/ether/etherpad-lite/wiki/How-to-use-Etherpad-Lite-with-MySQL
Reverse Proxy
Avec Nginx :
server {
listen 80;
server_name pad.example.com;
location / {
proxy_pass <http://127.0.0.1:9001/;>
proxy_set_header Host $host;
proxy_pass_header Server;
proxy_buffering off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_<http_version> 1.1;
}
}
Voir https://github.com/ether/etherpad-lite/wiki/How-to-put-Etherpad-Lite-behind-a-reverse-Proxy