Dans ce tutoriel, nous allons vous montrer comment installer Etherpad Lite sur Debian Wheezy. Etherpad Lite est un éditeur Web Open Source offrant une édition collaborative en temps réel, y compris une boîte de discussion intégrée. Tout cela se déroule sur l'un de nos plans d'hébergement Linux VPS, mais cela devrait fonctionner aussi bien sur toute autre installation Linux.
La commande suivante installera tous les packages nécessaires
apt-get install gzip git-core curl python libssl-dev pkg-config \ build-essential python g++ make checkinstall \ nginx-full mysql-server
Ensuite, nous devons compiler et installer nodejs
cd /usr/src/ wget http://nodejs.org/dist/node-latest.tar.gz tar xzvf node-latest.tar.gz && cd node-v* ./configure && checkinstall
Lorsque la fenêtre de dialogue s'ouvre, saisissez "3" et supprimez le "v" devant le numéro de version.
Installez nodejs avec la commande suivante
dpkg -i node_*
Créer une base de données MySQL ou MariaDB
CREATE DATABASE etherpad CHARACTER SET utf8 COLLATE utf8_general_ci; GRANT ALL PRIVILEGES ON etherpad.* TO etherpad@localhost IDENTIFIED BY '__yourPasswd__'; FLUSH PRIVILEGES; \q
Installer et configurer Etherpad Lite
Allez dans le répertoire où vous souhaitez installer Etherpad Lite et clonez le dépôt git
cd /var/www/ git clone git://github.com/ether/etherpad-lite.git
Modifier le fichier de configuration
cd etherpad-lite/ cp settings.json.template settings.json vim settings.json
et modifiez les paramètres suivants :
// change the IP Address "ip": "127.0.0.1",
// set a session key "sessionKey" : "rAnD0m5tRIng",
//configure the connection settings "dbType" : "mysql", "dbSettings" : { "user" : "etherpad", "host" : "localhost", "password": "__yourPassword__", "database": "etherpad" },
// add admin user "users": { "admin": { "password": "__yourAdminPassword__", "is_admin": true } },
Créer un utilisateur système
adduser --system --home=/var/www/etherpad-lite/ --group etherpad chown -R etherpad: /var/www/etherpad-lite/
Démarrez Etherpad Lite pour la première fois :
su -c "/var/www/etherpad-lite/bin/run.sh" -s /bin/bash etherpad
Si tout va bien, tuez tous les processus appartenant à l'utilisateur etherpad
pkill -u etherpad
Créez un script d'initialisation à l'aide de votre éditeur préféré
#!/bin/sh ### BEGIN INIT INFO # Provides: etherpad-lite # Required-Start: $local_fs $remote_fs $network $syslog # Required-Stop: $local_fs $remote_fs $network $syslog # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: starts etherpad lite # Description: starts etherpad lite using start-stop-daemon ### END INIT INFO PATH="/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/opt/node/bin" LOGFILE="/var/www/etherpad-lite/etherpad-lite.log" EPLITE_DIR="/var/www/etherpad-lite" EPLITE_BIN="bin/safeRun.sh" USER="etherpad" GROUP="etherpad" DESC="Etherpad Lite" NAME="etherpad-lite" set -e . /lib/lsb/init-functions start() { echo "Starting $DESC... " start-stop-daemon --start --chuid "$USER:$GROUP" --background --make-pidfile --pidfile /var/run/$NAME.pid --exec $EPLITE_DIR/$EPLITE_BIN -- $LOGFILE || true echo "done" } #We need this function to ensure the whole process tree will be killed killtree() { local _pid=$1 local _sig=${2-TERM} for _child in $(ps -o pid --no-headers --ppid ${_pid}); do killtree ${_child} ${_sig} done kill -${_sig} ${_pid} } stop() { echo "Stopping $DESC... " while test -d /proc/$(cat /var/run/$NAME.pid); do killtree $(cat /var/run/$NAME.pid) 15 sleep 0.5 done rm /var/run/$NAME.pid echo "done" } status() { status_of_proc -p /var/run/$NAME.pid "" "etherpad-lite" && exit 0 || exit $? } case "$1" in start) start ;; stop) stop ;; restart) stop start ;; status) status ;; *) echo "Usage: $NAME {start|stop|restart|status}" >&2 exit 1 ;; esac exit 0
chmod +x /etc/init.d/etherpad-lite update-rc.d etherpad-lite defaults /etc/init.d/etherpad-lite start
Créer un nouvel hôte virtuel (bloc de serveur)
vim /etc/nginx/sites-available/domain.tld.conf server { listen 80; server_name domain.tld; location / { proxy_pass http://localhost:9001/; proxy_set_header Host $host; proxy_buffering off; } } ln -s /etc/nginx/sites-available/domain.tld /etc/nginx/sites-enabled/domain.tld /etc/init.d/nginx restart
Si vous utilisez Apache, vous pouvez utiliser la directive d'hôte virtuel suivante
vim /etc/apache2/sites-available/domain.tld <VirtualHost *:80> ServerName domain.tld ServerSignature Off <IfModule mod_proxy.c> ProxyVia On ProxyRequests Off ProxyPass / http://127.0.0.1:9001/ ProxyPassReverse / http://127.0.0.1:9001/ ProxyPreserveHost on <Proxy *> Options FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all </Proxy> </IfModule> </VirtualHost> ln -s /etc/apache2/sites-available/domain.tld /etc/apache2/sites-enabled/domain.tld a2enmod proxy proxy_http /etc/init.d/apache2 restart
C'est ça! Vous pouvez maintenant accéder à Etherpad Lite depuis votre navigateur.
Page d'accueil du projet Etherpad sur GitHub
Si vous recherchez d'autres options, vous pouvez lire notre guide sur Comment installer Etherpad sur Debian 9.