GNU/Linux >> Tutoriels Linux >  >> Debian

Comment installer Etherpad sur Debian 9

Dans cet article, nous allons vous montrer comment installer Etherpad sur un serveur Debian 9 géré.

Etherpad est un éditeur en temps réel basé sur le Web et fourni sous la forme d'un package open source. Cette application permet aux utilisateurs d'éditer simultanément des documents en temps réel et de voir les différences grâce à l'utilisation de texte en couleur. Etherpad dispose également d'une boîte de discussion qui permet aux utilisateurs de communiquer facilement entre eux, améliorant encore la productivité. Cela ne prendra pas très longtemps à installer, alors commençonsz

Étape 1 :Connectez-vous à votre serveur

Avant de commencer, vous devez vous connecter à votre serveur via SSH en tant qu'utilisateur root ou en tant que compte administrateur. Pour cela, utilisez la commande suivante :

ssh root@IP_ADDRESS -p PORT_NUMBER

Bien sûr, vous devrez remplacer IP_ADDRESS et PORT_NUMBER avec l'adresse IP de votre serveur respectif et le numéro de port SSH. Si nécessaire, remplacez "root" par le nom d'utilisateur de votre compte administrateur.

Une fois connecté, assurez-vous que votre serveur est à jour en exécutant les commandes suivantes :

apt update
apt upgrade

Étape 2 :Installer les dépendances

Une fois connecté, vous devrez exécuter la commande suivante afin de pouvoir installer toutes les dépendances pour l'installation de Node.js.

apt install gzip git curl python libssl-dev pkg-config gcc g++ make build-essential -y

Étape 3 :Installez Node.js

Etherpad nécessite Node.js version 8.9.0 ou supérieure, donc dans ce tutoriel, nous installerons la dernière version de Node.js (au moment de la rédaction de ce tutoriel).

Activez le référentiel NodeSource avec la commande curl suivante :

curl -sL https://deb.nodesource.com/setup_11.x | sudo bash -

Maintenant, vous pouvez installer Node.js avec la commande suivante :

apt install -y nodejs

Vous pouvez vérifier les versions nodejs et npm en utilisant les commandes ci-dessous.

nodejs --version
npm --version

Étape 4 :Installer et configurer MySQL

Un serveur de base de données est l'une des conditions requises pour exécuter Etherpad. Vous pouvez installer MySQL, qui est un excellent serveur de base de données open source. Tapez la commande suivante pour installer MySQL sur votre serveur :

apt install mysql-server mysql-client

Une fois MySQL installé sur votre serveur, vous pouvez utiliser les commandes ci-dessous pour arrêter, démarrer et activer le service MySQL.

systemctl start mysql
systemctl stop mysql
systemctl enable mysql

La commande suivante est facultative, mais recommandée par nous. Vous pouvez exécuter la commande si vous souhaitez sécuriser le serveur MySQL en interdisant l'accès root à distance, en supprimant la base de données de test et en définissant un mot de passe root pour MySQL.

mysql_secure_installation

Lorsque vous y êtes invité, répondez aux questions ci-dessous en suivant le guide.

Enter current password for root (enter for none): Just press the [Enter] key, as no password is set by default.
Set root password? [Y/n]: Y
New password: Enter your password
Re-enter new password: Repeat your password
Remove anonymous users? [Y/n]: Y
Disallow root login remotely? [Y/n]: Y
Remove test database and access to it? [Y/n]: Y
Reload privilege tables now? [Y/n]: Y

Redémarrez le serveur MySQL pour que les modifications prennent effet.

systemctl restart mysql

Vous devriez maintenant pouvoir vous connecter au shell MySQL avec la commande :

mysql -u root -p

Tapez ensuite le mot de passe que vous avez créé ci-dessus pour vous connecter. Une fois que vous êtes dans le shell MySQL, vous pouvez utiliser la commande suivante et créer une base de données appelée etherpad_db pour l'application Etherpad.

CREATE DATABASE etherpad_db;

Pour accorder à l'utilisateur etherpad_user un accès complet à etherpad_db, exécutez la commande :

GRANT ALL PRIVILEGES ON etherpad_db.* TO etherpad_user@localhost IDENTIFIED BY 'Str0n9Pas$worD';

REMARQUE : N'oubliez pas de remplacer 'Str0n9Pas$worD' par un mot de passe unique et fort. Vous pouvez maintenant utiliser l'opération de vidage des privilèges pour recharger les tables de droits, après quoi vous pouvez quitter le shell MySQL.

FLUSH PRIVILEGES;
EXIT;

Étape 5 :Téléchargez et installez Etherpad

Avec les commandes suivantes, vous allez créer un nouvel utilisateur appelé etherpad et passer à cet utilisateur.

useradd -m -s /bin/bash etherpad
su - etherpad

Exécutez la commande git ci-dessous et clonez le dépôt etherpad.

git clone git://github.com/ether/etherpad-lite.git

Après avoir cloné avec succès le référentiel etherpad, vous pouvez entrer dans le répertoire etherpad-lite et exécuter le bin/run.sh script pour démarrer Etherpad.

cd etherpad-lite/
bin/run.sh

Etherpad a maintenant été temporairement démarré. Pour voir la page d'accueil d'Etherpad, vous pouvez ouvrir votre navigateur Web préféré et saisir l'adresse IP publique de votre serveur avec le port 9001.

http://server_IP_address:9001/

Vous devriez pouvoir voir la page d'accueil d'Etherpad.

Pour arrêter l'application, vous pouvez appuyer sur 'Ctrl+c' dans votre terminal. Le problème avec ceci est que le service ne fonctionne que temporairement - uniquement pendant qu'il est ouvert dans votre session de terminal. Pour que le serveur fonctionne de manière persistante, vous devez créer un service pour celui-ci. Ceci est expliqué à l'étape 7 .

Étape 6 :Configurer l'Etherpad

Suite à cette étape de l'article, vous effectuerez une configuration de base de l'éditeur Etherpad.

Connectez-vous à l'utilisateur etherpad et entrez dans le répertoire etherpad-lite.

su - etherpad
cd etherpad-lite/

Ouvrez le settings.json fichier de configuration avec votre éditeur de texte préféré. Dans notre exemple, nous utiliserons nano comme éditeur de texte de choix.

nano settings.json

Changez l'adresse IP dans le fichier de configuration en 'server_IP_address', et éventuellement vous pouvez changer le port d'écoute en non par défaut. Dans notre exemple, nous utiliserons le port par défaut.

"ip": "server_IP_address",
"port" : 9001,

Désactivez la base de données "sale" qui est la valeur par défaut dans le fichier de configuration en utilisant les balises de commentaire /* et */ comme indiqué dans l'exemple ci-dessous.

/*
"dbType" : "dirty",
"dbSettings" : {
"filename" : "var/dirty.db"
},
*/

Décommentez maintenant la configuration de la base de données MySQL et entrez les informations MySQL que vous avez créées à la quatrième étape de cet article.

"dbType" : "mysql",
"dbSettings" : {
"user" : "etherpad_user",
"host" : "localhost",
"port" : 3306,
"password": "Str0n9Pas$worD",
"database": "etherpad_db",
"charset" : "utf8mb4"
},

Vous pouvez activer l'utilisateur administrateur en supprimant le commentaire de ces lignes et en remplaçant Str0n9Pas$worD avec un mot de passe de votre choix.

"users": {
"admin": {
// "password" can be replaced with "hash" if you install ep_hash_auth
"password": "Str0n9Pas$worD",
"is_admin": true
},
"user": {
// "password" can be replaced with "hash" if you install ep_hash_auth
"password": "Str0n9Pas$worD",
"is_admin": false
}
},

Une fois que vous avez terminé toutes les modifications, vous pouvez enregistrer le fichier de configuration et quitter.

Étape 7 :Configurer Etherpad en tant que service

Méthode 1 :Systemd

Dans cette étape, vous configurerez Etherpad pour qu'il s'exécute en tant que service systemd sur votre système Debian 9.

Exécutez la commande suivante pour pouvoir créer un nouveau fichier de service nommé "etherpad.service".

cd /etc/systemd/system/ && nano etherpad.service

Collez ensuite la configuration suivante.

[Unit]
Description=etherpad-lite (real-time collaborative document editing)
After=syslog.target network.target

[Service]
Type=simple
User=etherpad
Group=etherpad
WorkingDirectory=/home/etherpad/etherpad-lite
Environment=NODE_ENV=development
ExecStart=/usr/bin/nodejs /home/etherpad/etherpad-lite/node_modules/ep_etherpad-lite/node/server.js
Restart=always # use mysql plus a complete settings.json to avoid Service hold-off time over, scheduling restart.

[Install]
WantedBy=multi-user.target

Vous pouvez ensuite enregistrer le fichier de configuration et quitter. Utilisez la commande ci-dessous pour recharger la liste des services systemd sur votre serveur.

systemctl daemon-reload

Vous pouvez maintenant utiliser le systemctl afin que vous puissiez démarrer et activer l'application Etherpad facilement et de manière persistante. Lorsque le service est activé, il démarre automatiquement à chaque démarrage du système.

systemctl start etherpad
systemctl enable etherpad

Méthode 2 :Init.d

Si vous préférez utiliser init, vous pouvez créer un nouveau script initial avec la commande suivante.

nano /etc/init.d/etherpad

Collez le script suivant.

#!/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

Enregistrez et fermez le fichier. Rendez le script exécutable en modifiant les autorisations du fichier et autorisez-le à démarrer au démarrage.

chmod +x /etc/init.d/etherpad
update-rc.d etherpad defaults
/etc/init.d/etherpad start

Vous pouvez vérifier que l'application est opérationnelle sur le port 9001 avec les commandes suivantes.

systemctl status etherpad
and
netstat -tunlp | grep 9001

Étape 8 :Configurer un proxy inverse

Parce qu'Apache et Nginx sont l'un des serveurs Web les plus populaires sur Internet, dans cette étape, nous vous montrerons comment créer un proxy inverse pour eux afin que vous puissiez ouvrir le site Web contenant Etherpad avec un nom de domaine. Cela a en outre l'avantage de ne pas nécessiter la spécification d'un numéro de port pour accéder à Etherpad.

Nous supposons que vous avez déjà installé Apache ou Nginx sur votre serveur. Vous pouvez vérifier l'état du serveur Web avec les commandes ci-dessous.

Pour Apache2 :

systemctl status apache2

Pour Nginx :

systemctl status nginx

Si Apache2 est installé sur votre serveur, vous pouvez créer un nouveau fichier de configuration d'hôte virtuel afin de pouvoir accéder à l'application Etherpad avec un nom de domaine.

nano /etc/apache2/sites-available/domain_name.conf

ajoutez le contenu suivant au fichier :

<VirtualHost *:80>
    ServerName domain_name.com ServerAlias www.domain_name.com ServerSignature Off <IfModule mod_proxy.c> ProxyVia On ProxyRequests Off ProxyPass / http://server_IP_address:9001/ ProxyPassReverse / http://server_IP_address:9001/ ProxyPreserveHost on <Proxy *> Options FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all </Proxy> </IfModule> </VirtualHost>

Bien sûr, vous devrez remplacer domain_name.com par votre nom de domaine enregistré réel, ainsi que remplacer server_IP_address par l'adresse IP publique de votre serveur. Une fois que vous avez terminé de modifier le fichier de configuration, enregistrez le fichier et quittez.

Les modules Apache suivants doivent être installés :

a2enmod proxy
a2enmod proxy_http
a2enmod headers

Afin d'activer l'hôte virtuel que vous venez de créer, lancez le a2ensite commande :

a2ensite domain_name

Pour que les modifications que vous avez apportées prennent effet, vous devez redémarrer Apache :

apache2ctl restart

Si Nginx est installé sur votre serveur, vous pouvez créer un nouveau bloc de serveur afin de pouvoir accéder à l'application Etherpad avec un nom de domaine et aucun numéro de port.

Créez le nouveau bloc serveur etherpad avec la commande :

nano /etc/nginx/sites-available/etherpad.conf

ajoutez le contenu suivant au fichier :

server {
 listen 80;
 server_name domain_name.com;
   location / {
   proxy_pass http://server_IP_address:9001/
   proxy_set_header Host $host;
   proxy_buffering off;
              }
        }

Vous devrez remplacer nom_domaine.com par votre nom de domaine enregistré réel, ainsi que remplacer adresse_IP_serveur par l'adresse IP publique de votre serveur. Lorsque vous avez terminé de modifier le fichier de configuration, enregistrez le fichier et quittez.

Pour activer l'hôte virtuel etherpad, vous pouvez créer un lien symbolique avec la commande :

ln -s /etc/nginx/sites-available/etherpad /etc/nginx/sites-enabled/

Une fois cela fait, testez la configuration Nginx.

nginx -t

Avant de démarrer et d'activer le service Nginx, vous devez vous assurer qu'il n'y a pas d'erreurs lors du test de configuration Nginx. Si tout est vérifié, vous pouvez exécuter les commandes suivantes :

systemctl restart nginx
systemctl enable nginx

Étape 9 :Accéder à Etherpad

Ouvrez maintenant votre navigateur Web préféré et entrez votre nom de domaine.
http://domain_name.com/
Vous devriez pouvoir voir l'éditeur Etherpad dans votre navigateur.

Entrez le nom de votre nouveau Pad et cliquez sur le bouton OK.

Vous devriez maintenant pouvoir voir l'éditeur Etherpad comme indiqué dans l'image ci-dessous.

Pour accéder à l'URL d'administration, ajoutez /admin/ à la fin de votre nom de domaine.

http://domain_name.com/admin/

Vous serez invité à entrer un nom d'utilisateur et un mot de passe d'administrateur. Saisissez votre nom d'utilisateur et votre mot de passe d'administrateur, puis cliquez sur le bouton Se connecter.

Toutes nos félicitations. Vous avez installé et configuré avec succès l'éditeur Etherpad.

Dans cet article, nous vous avons montré comment installer Etherpad sur Debian 9. Vous pouvez maintenant continuer à utiliser et à explorer cette incroyable application open source.

Bien sûr, si vous êtes l'un de nos clients d'hébergement Debian, vous n'avez pas besoin d'installer Etherpad sur votre VPS Debian 9 - demandez simplement à nos administrateurs, asseyez-vous et détendez-vous. Nos administrateurs installeront et configureront immédiatement Etherpad sur Debian 9 pour vous.

PS. Si vous avez aimé cet article sur l'installation d'Etherpad sur un VPS Debian 9, partagez-le avec vos amis sur les réseaux sociaux à l'aide des boutons de partage ci-dessous, ou laissez simplement un commentaire dans la section des commentaires. Merci.


Debian
  1. Comment installer MySQL 8.0 / 5.7 sur Debian 11 / Debian 10

  2. Comment installer le serveur MySQL sur Debian 9

  3. Comment installer MySQL Workbench sur Debian 11

  4. Comment installer PHP-Fusion 9 sur Debian 8

  5. Comment installer MySQL sur Debian 11

Comment installer MySQL 8 sur Debian 10

Comment installer Debian 11

Comment installer Go sur Debian 10

Comment installer Etherpad sur Debian 11

Comment installer MySQL/MariaDB sur Debian 11

Comment installer MySQL sur Debian 10