GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Comment installer Etherpad de l'éditeur collaboratif en temps réel sur Ubuntu 18.04

Etherpad est un éditeur collaboratif temps réel basé sur Node.js. Il s'agit d'un éditeur collaboratif open source basé sur le Web pour un accès multi-utilisateurs avec la possibilité d'importer/exporter vers divers formats de fichiers bureautiques et un éditeur en ligne hautement personnalisable.

Dans ce tutoriel, je vais vous guider étape par étape pour installer et configurer l'Etherpad-lite sur le serveur Ubuntu 18.04. Nous allons installer l'Etherpad-lite avec MySQL en tant que base de données, le serveur Web Nginx en tant que proxy inverse et y activer la connexion sécurisée HTTPS.

Prérequis

  • Serveur Ubuntu 18.04
  • Privilèges root

Qu'allons-nous faire ?

  1. Installer les dépendances des packages
  2. Installer Nodejs
  3. Installer et configurer MySQL
  4. Télécharger Etherpad
  5. Configurer Etherpad
  6. Configurer Etherpad en tant que service
  7. Configurer Nginx en tant que proxy inverse pour Etherpad
  8. Configurer le pare-feu UFW
  9. Test

Étape 1 - Installer les dépendances des packages

La première étape que nous ferons dans ce guide consiste à installer toutes les dépendances de package pour l'installation de Nodejs.

Exécutez la commande apt ci-dessous.

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

Attendez toute l'installation.

Étape 2 - Installer Nodejs

Etherpad nécessite Node.js>=6.9, et dans cette étape, nous allons installer Nodejs 9.11 qui peut être installé à partir du référentiel nodesource.

Ajoutez le référentiel nodesource Nodejs et installez le package Node.js à l'aide des commandes ci-dessous.

curl -sL https://deb.nodesource.com/setup_9.x | sudo -E bash -
sudo apt install -y nodejs

Après cela, vérifiez les commandes nodejs et npm.

nodejs --version
npm --version

Le Node.js v9.11 a été installé sur le serveur Ubuntu 18.04.

Étape 3 - Installer et configurer MySQL

Dans ce tutoriel, nous utiliserons MySQL comme base de données pour Etherpad.

Installez le serveur de base de données MySQL à l'aide de la commande apt ci-dessous.

sudo apt install mysql-server mysql-client

Une fois l'installation terminée, démarrez le service mysql et activez-le pour qu'il se lance à chaque démarrage du système.

sudo systemctl start mysql
sudo systemctl enable mysql

Le serveur MySQL a été installé.

Ensuite, nous allons configurer le mot de passe root mysql et créer une nouvelle base de données et un nouvel utilisateur pour notre installation etherpad.

Pour configurer le mot de passe root MySQL, exécutez la commande ci-dessous.

mysql_secure_installation

Tapez votre mot de passe root mysql fort.

Connectez-vous maintenant au shell mysql en utilisant l'utilisateur root.

mysql -u root -p

Créez une nouvelle base de données nommée 'etherpad_db' et l'utilisateur 'hakase', et exécutez les requêtes mysql ci-dessous.

créer la base de données etherpad_db ;
accorder tous les privilèges sur etherpad_db.* à [email protected] identifié par '[email protected]#' ;
vider les privilèges ;

La base de données MySQL pour l'installation d'etherpad a été créée.

Étape 4 - Télécharger Etherpad

Dans cette étape, nous allons créer un nouvel utilisateur et télécharger le code source etherpad.

Créez un nouvel utilisateur nommé 'etherpad' et connectez-vous à l'utilisateur.

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

Maintenant, clonez le dépôt etherpad.

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

Accédez au répertoire 'etherpad-lite/' et exécutez le script bash pour démarrer etherpad.

cd etherpad-lite/
bin/run.sh

Vous obtiendrez le résultat ci-dessous.

Ouvrez votre navigateur Web et saisissez l'adresse IP du serveur avec le port '9001'.

http://192.168.33.10:9001/

Et vous verrez la page d'accueil d'etherpad.

Revenez à votre terminal et appuyez sur 'Ctrl+c' pour quitter l'application.

Étape 5 - Configurer Etherpad

Dans cette étape, nous allons faire la configuration de base de l'éditeur collaboratif etherpad.

Connectez-vous à l'utilisateur etherpad et accédez au répertoire "etherpad-lite".

su - etherpad
cd etherpad-lite/

Modifiez la configuration 'settings.json' à l'aide de l'éditeur vim.

vim settings.json

Changez l'adresse IP en '127.0.0.1' ou localhost, car nous exécuterons l'etherpad sur le proxy inverse Nginx.

  "ip":"127.0.0.1",
  "port" :9001,

Désactivez maintenant la base de données sale par défaut en ajoutant le commentaire '/* .... */', et collez la configuration de la base de données MySQL.

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

Configuration de la base de données MySQL.

  "dbType" :"mysql",
  "dbSettings" :{
                  "user"    :"hakase",
                   "host"    :"localhost",
                   "port "    :3306,
                  "password":"[email protected]#",
                   "database":"etherpad_db",
                   "charset" :"utf8mb4"
        /pré>

Ensuite, nous allons activer l'utilisateur administrateur en supprimant le commentaire de ces lignes et en modifiant la valeur du mot de passe avec un nouveau mot de passe.

  "users":{
    "admin":{
      // "password" peut être remplacé par "hash" si vous installez ep_hash_auth
      "password":"[email protected] #",
      "is_admin":true
    },
    "user":{
      // "password" peut être remplacé par "hash" si vous installez ep_hash_auth
      "password":"[email protected]#",
      "is_admin":false
    }
  },

Enregistrez et quittez.

La configuration de base de l'etherpad est terminée.

Étape 6 - Configurer Etherpad en tant que service

Nous allons maintenant exécuter etherpad en tant que service systemd sur notre système Ubuntu.

Allez dans le répertoire '/etc/systemd/system' et créez un nouveau fichier de service nommé 'etherpad.service'.

cd /etc/systemd/system/
vim etherpad.service

Collez les configurations ci-dessous.

[Unité]
Description=Etherpad-lite, l'éditeur collaboratif.
Après=syslog.target network.target

[Service]
Type=simple
Utilisateur=etherpad
Groupe=etherpad
Répertoire de travail=/home/etherpad/etherpad-lite
Environnement=NODE_ENV=production
ExecStart=/usr/bin/nodejs / home/etherpad/etherpad-lite/node_modules/ep_etherpad-lite/node/server.js
Restart=always # utilise mysql plus un settings.json complet pour éviter le dépassement du temps d'attente du service, en planifiant le redémarrage.

[Installer]
WantedBy=multi-user.target

Enregistrez et quittez.

Rechargez les listes de services systemd.

sudo systemctl daemon-reload

Démarrez le service etherpad et activez-le pour qu'il se lance à chaque fois au démarrage du système.

sudo systemctl start etherpad
sudo systemctl enable etherpad

Et l'éther est opérationnel en tant que service sur l'ip localhost avec le port par défaut 9001.

Vérifiez le service à l'aide des commandes ci-dessous.

sudo systemctl status etherpad
netstat -plntu

Étape 7 - Installer et configurer Nginx en tant que proxy inverse

Dans cette étape, nous allons installer et configurer le serveur Web Nginx en tant que proxy inverse pour le service Etherpad.

Installez le serveur Web nginx à l'aide de la commande apt ci-dessous.

sudo apt install nginx -y

Une fois l'installation terminée, accédez au répertoire '/etc/nginx/sites-available' et créez un nouvel hôte virtuel 'etherpad'.

cd /etc/nginx/sites-available/
vim etherpad

Collez les configurations ci-dessous.

serveur {
    écouter      80 ;
    nom_serveur pad.hakase.io ;
    réécrire     ^(.*)   https://$nom_serveur$1 permanent ;
}

# nous sommes dans le contexte http ici
map $http_upgrade $connection_upgrade {
  mise à niveau par défaut ;
  ''      close ;
}

server {
        listen       443 ;
        nom_serveur  pad.hakase.io ;

        access_log  /var/log/nginx/eplite.access.log ;
        error_log   / var/log/nginx/eplite.error.log ;

        ssl                          ;
        ssl_certificate      /etc/nginx/ssl/fullchain.pem ;
        ssl_certificate_key  /etc/nginx/s /privkey.pem ;

        ssl_session_timeout  5 m ;

        ssl_protocols TLSv1 TLSv1.1 TLSv1.2 ;
        ssl_prefer_server_ciphers activé ;
        ssl_ciphers + EECDH+ECDSA AESGCM EECDH+aRSA+AESGCM EECDH+ECDSA+SHA384 EECDH+ECDSA+SHA256 EECDH+aRSA+SHA384 EECDH+aRSA+SHA256 EECDH+aRSA+RC4 EECDH EDH+aRSA RC4 !aNULL !eNULL !LOW !3DES !MD5 !EXP !PSK !SRP !DSS";

        emplacement / {
           proxy_pass             http://localhost:9001/;
            proxy_set_header       Hôte $hôte ;
            proxy_pass_header Server ;
            # attention, cette ligne ne remplace pas tout proxy_buffering on set dans un conf.d/file.conf
            proxy_buffering off ;
            proxy_set_header X-Real- IP $adresse_distante ; # http://wiki.nginx.org/HttpProxyModule
            proxy_set_header X-Forwarded-For $remote_addr ; # Journaux EP pour afficher l'adresse IP distante réelle
            proxy_set_header X-Forwarded-Proto $scheme ; # pour qu'EP définisse un indicateur de cookie sécurisé lorsque https est utilisé
            proxy_set_header Host $host ; # transmettez l'en-tête de l'hôte                                              
            proxy_http_version 1.1 ; # Recommandé avec Keepalive Connections
# WebSocket Proxying - De http://nginx.org/en/docs/http/websocket.html
proxy_set_header upggrade $ http_upgrade;
proxy_set_header connection $ connection_upgrade;

        }
}

Enregistrez et quittez.

Remarque :

  • Assurez-vous de modifier le chemin du SSL avec vos propres certificats SSL.
  • Remplacez le domaine Etherpad "pad.hakase.io" par votre propre nom de domaine.

Activez maintenant l'hôte virtuel etherpad et testez la configuration.

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

Assurez-vous qu'il n'y a pas d'erreur, puis démarrez le service nginx et activez-le pour qu'il se lance à chaque démarrage du système.

sudo systemctl restart nginx
sudo systemctl enable nginx

L'installation et la configuration de Nginx en tant que proxy inverse Etherpad ont été effectuées avec succès.

Étape 8 - Configurer le pare-feu UFW

Pour la configuration du pare-feu, nous voulons simplement ouvrir les services de port SSH, HTTP et HTTPS.

Exécutez les commandes ufw ci-dessous.

sudo fuw autorise ssh
sudo ufw autorise http
sudo ufw autorise https

Activez ensuite le pare-feu ufw.

activer sudo ufw

Et la configuration du pare-feu ufw est terminée.

Étape 9 - Tester

Ouvrez votre navigateur Web et saisissez le nom de domaine Etherpad ; le mien est : http://pad.hakase.io/

Vous allez maintenant être redirigé vers la connexion sécurisée HTTPS.

Créez un nouveau pad en tapant le nom du pad dans la case et cliquez sur le bouton 'OK'.

Et vous obtiendrez l'éditeur Etherpad comme ci-dessous.

Ensuite, ouvrez l'URL d'administration d'etherpad. Le mien est https://pad.hakase.io/admin/

Le nom d'utilisateur et le mot de passe de l'administrateur vous seront demandés. Tapez votre propre nom d'utilisateur et mot de passe, puis cliquez sur le bouton Connexion.

Et vous obtiendrez la page d'administration Etherpad par défaut ci-dessous.

- Configuration Etherpad settings.json

- Gestionnaire de plugins Etherpad

L'installation d'Etherpad avec MySQL et le proxy inverse Nginx sur Ubuntu 18.04 s'est terminée avec succès.


Ubuntu
  1. Comment installer MySQL 8.0 dans Ubuntu 18.04

  2. Comment installer MySQL sur Ubuntu 20.04

  3. Installez l'éditeur collaboratif en temps réel basé sur le Web Etherpad sur Ubuntu 16.04 Linux

  4. Comment installer MySQL sur Ubuntu 18.04

  5. Comment installer Etherpad sur Ubuntu 20.04

Comment installer Kate Editor sur Ubuntu 20.04

Comment installer Lychee sur Ubuntu 14.04

Comment installer Magento sur Ubuntu 14.04

Comment installer Gibbon sur Ubuntu 14.04

Comment installer Moodle sur Ubuntu 14.04

Comment installer MySQL sur Ubuntu 22.04