GNU/Linux >> Tutoriales Linux >  >> Debian

Cómo instalar Etherpad en Debian 9

En este artículo, le mostraremos cómo instalar Etherpad en un servidor Debian 9 administrado.

Etherpad es un editor en tiempo real basado en la web y viene como un paquete de código abierto. Esta aplicación permite a los usuarios editar documentos simultáneamente en tiempo real y ver las diferencias mediante el uso de texto en color. Etherpad también tiene un cuadro de chat que permite a los usuarios comunicarse fácilmente entre sí, lo que mejora aún más la productividad. No llevará mucho tiempo instalarlo, así que comencemos

Paso 1:Conéctese a su servidor

Antes de comenzar, debe conectarse a su servidor a través de SSH como usuario raíz o como cuenta de administrador. Para hacer esto, use el siguiente comando:

ssh root@IP_ADDRESS -p PORT_NUMBER

Por supuesto, deberá reemplazar IP_ADDRESS y PORT_NUMBER con la dirección IP de su servidor respectivo y el número de puerto SSH. Si es necesario, reemplace "root" con el nombre de usuario de su cuenta de administrador.

Una vez que haya iniciado sesión, asegúrese de que su servidor esté actualizado ejecutando los siguientes comandos:

apt update
apt upgrade

Paso 2:Instalar dependencias

Después de iniciar sesión correctamente, deberá ejecutar el siguiente comando para poder instalar todas las dependencias para la instalación de Node.js.

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

Paso 3:Instalar Node.js

Etherpad requiere Node.js versión 8.9.0 o superior, por lo que en este tutorial instalaremos la última versión de Node.js (al momento de escribir este tutorial).

Habilite el repositorio de NodeSource con el siguiente comando curl:

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

Ahora, puede instalar Node.js con el siguiente comando:

apt install -y nodejs

Puede verificar las versiones de nodejs y npm usando los siguientes comandos.

nodejs --version
npm --version

Paso 4:Instalar y configurar MySQL

Un servidor de base de datos es uno de los requisitos para ejecutar Etherpad. Puede instalar MySQL, que es un excelente servidor de base de datos de código abierto. Escriba el siguiente comando para instalar MySQL en su servidor:

apt install mysql-server mysql-client

Una vez que MySQL esté instalado en su servidor, puede usar los siguientes comandos para detener, iniciar y habilitar el servicio MySQL.

systemctl start mysql
systemctl stop mysql
systemctl enable mysql

El siguiente comando es opcional, pero recomendado por nosotros. Puede ejecutar el comando si desea proteger el servidor MySQL deshabilitando el acceso raíz remoto, eliminando la base de datos de prueba y configurando una contraseña raíz para MySQL.

mysql_secure_installation

Cuando se le solicite, responda las siguientes preguntas siguiendo la guía.

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

Reinicie el servidor MySQL para que los cambios surtan efecto.

systemctl restart mysql

Ahora debería poder iniciar sesión en el shell de MySQL con el comando:

mysql -u root -p

Luego escriba la contraseña que creó anteriormente para iniciar sesión. Una vez que esté en el shell de MySQL, puede usar el siguiente comando y crear una base de datos llamada etherpad_db para la aplicación Etherpad.

CREATE DATABASE etherpad_db;

Para otorgar al usuario etherpad_user acceso completo a etherpad_db, ejecute el comando:

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

NOTA: No olvide reemplazar 'Str0n9Pas$word' con una contraseña única y segura. Ahora puede usar la operación de vaciado de privilegios para recargar las tablas de concesión, después de lo cual puede salir del shell de MySQL.

FLUSH PRIVILEGES;
EXIT;

Paso 5:Descargue e instale Etherpad

Con los siguientes comandos, creará un nuevo usuario llamado etherpad y cambiará a ese usuario.

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

Ejecute el siguiente comando git y clone el repositorio de etherpad.

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

Después de clonar con éxito el repositorio de etherpad, puede ingresar al directorio etherpad-lite y ejecutar bin/run.sh secuencia de comandos para iniciar Etherpad.

cd etherpad-lite/
bin/run.sh

Etherpad ahora se ha iniciado temporalmente. Para ver la página de inicio de Etherpad, puede abrir su navegador web preferido y escribir la dirección IP pública de su servidor con el puerto 9001.

http://server_IP_address:9001/

Debería poder ver la página de inicio de Etherpad.

Para detener la aplicación, puede presionar 'Ctrl+c' en su terminal. El problema con esto es que el servicio solo se ejecuta temporalmente, solo mientras está abierto en la sesión de su terminal. Para que el servidor se ejecute de forma persistente, debe crear un servicio para él. Esto se explica en Paso 7 .

Paso 6:Configurar Etherpad

Siguiendo este paso del artículo, realizará una configuración básica del editor Etherpad.

Inicie sesión en el usuario de etherpad e ingrese al directorio etherpad-lite.

su - etherpad
cd etherpad-lite/

Abra settings.json archivo de configuración con su editor de texto preferido. En nuestro ejemplo, usaremos nano como el editor de texto elegido.

nano settings.json

Cambie la dirección IP en el archivo de configuración a 'server_IP_address' y, opcionalmente, puede cambiar el puerto de escucha a uno que no sea el predeterminado. En nuestro ejemplo, usaremos el puerto predeterminado.

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

Deshabilite la base de datos "sucia", que es la predeterminada en el archivo de configuración, utilizando las etiquetas de comentario /* y */ como se muestra en el siguiente ejemplo.

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

Ahora descomente la configuración de la base de datos MySQL e ingrese la información de MySQL que creó en el cuarto paso de este artículo.

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

Puede habilitar el usuario administrador eliminando el comentario de esas líneas y reemplazando Str0n9Pas$worD con una contraseña de su elección.

"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
}
},

Una vez que haya terminado con todas las modificaciones, puede guardar el archivo de configuración y salir.

Paso 7:Configure Etherpad como servicio

Método 1:Systemd

En este paso, configurará Etherpad para que se ejecute como un servicio systemd en su sistema Debian 9.

Ejecute el siguiente comando para que pueda crear un nuevo archivo de servicio llamado 'etherpad.service'.

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

Luego pegue la siguiente configuración.

[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

A continuación, puede guardar el archivo de configuración y salir. Use el siguiente comando para recargar la lista de servicios systemd en su servidor.

systemctl daemon-reload

Ahora puedes usar el systemctl comando para que pueda iniciar y habilitar la aplicación Etherpad de manera fácil y persistente. Cuando el servicio está habilitado, se iniciará automáticamente cada vez que se inicie el sistema.

systemctl start etherpad
systemctl enable etherpad

Método 2:Init.d

Si prefiere usar init, puede crear un nuevo script inicial con el siguiente comando.

nano /etc/init.d/etherpad

Pegue el siguiente script.

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

Guarde y cierre el archivo. Haga que el script sea ejecutable cambiando los permisos del archivo y habilítelo para que se inicie en el arranque.

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

Puede verificar que la aplicación esté funcionando en el puerto 9001 con los siguientes comandos.

systemctl status etherpad
and
netstat -tunlp | grep 9001

Paso 8:Configuración de un proxy inverso

Debido a que Apache y Nginx son uno de los servidores web más populares en Internet, en este paso le mostraremos cómo crear un proxy inverso para ellos para que pueda abrir el sitio web que contiene Etherpad con un nombre de dominio. Además, esto tiene la ventaja de que no es necesario especificar un número de puerto para acceder a Etherpad.

Suponemos que ya ha instalado Apache o Nginx en su servidor. Puede comprobar el estado del servidor web con los siguientes comandos.

Para Apache2:

systemctl status apache2

Para Nginx:

systemctl status nginx

Si tiene Apache2 instalado en su servidor, puede crear un nuevo archivo de configuración de host virtual para poder acceder a la aplicación Etherpad con un nombre de dominio.

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

agregue el siguiente contenido al archivo:

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

Por supuesto, deberá reemplazar nombre_dominio.com con su nombre de dominio registrado real, así como también reemplazar dirección_IP_servidor con la dirección IP pública de su servidor. Una vez que haya terminado de editar el archivo de configuración, guarde el archivo y salga.

Se deben instalar los siguientes módulos de Apache:

a2enmod proxy
a2enmod proxy_http
a2enmod headers

Para habilitar el host virtual que acaba de crear, ejecute a2ensite comando:

a2ensite domain_name

Para que los cambios realizados surtan efecto, debe reiniciar Apache:

apache2ctl restart

Si tiene Nginx instalado en su servidor, puede crear un nuevo bloque de servidor para poder acceder a la aplicación Etherpad con un nombre de dominio y sin número de puerto.

Cree el nuevo bloque de servidor etherpad con el comando:

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

agregue el siguiente contenido al archivo:

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

Deberá reemplazar nombre_dominio.com con su nombre de dominio registrado real, así como también reemplazar dirección_IP_servidor con la dirección IP pública de su servidor. Cuando termine de editar el archivo de configuración, guarde el archivo y salga.

Para activar el host virtual de etherpad, puede crear un enlace simbólico con el comando:

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

Una vez hecho esto, pruebe la configuración de Nginx.

nginx -t

Antes de iniciar y habilitar el servicio Nginx, debe asegurarse de que no haya errores durante la prueba de configuración de Nginx. Si todo sale bien, puede ejecutar los siguientes comandos:

systemctl restart nginx
systemctl enable nginx

Paso 9:Acceso a Etherpad

Ahora abra su navegador web favorito e ingrese su nombre de dominio.
http://domain_name.com/
Debería poder ver el editor Etherpad en su navegador.

Introduzca el nombre de su nuevo Pad y haga clic en el botón Aceptar.

Ahora debería poder ver el editor Etherpad como se muestra en la imagen a continuación.

Para acceder a la URL de administración, agregue /admin/ hasta el final de su nombre de dominio.

http://domain_name.com/admin/

Se le pedirá un nombre de usuario y una contraseña de administrador. Ingrese su nombre de usuario y contraseña de administrador y luego haga clic en el botón Iniciar sesión.

Felicidades. Ha instalado y configurado correctamente el editor Etherpad.

En este artículo, le mostramos cómo instalar Etherpad en Debian 9. Ahora puede continuar usando y explorando esta increíble aplicación de código abierto.

Por supuesto, si usted es uno de nuestros clientes de Debian Hosting, no tiene que instalar Etherpad en su Debian 9 VPS, simplemente pregúntele a nuestros administradores, siéntese y relájese. Nuestros administradores instalarán y configurarán Etherpad en Debian 9 inmediatamente.

PD. Si le gustó esta publicación sobre cómo instalar Etherpad en un VPS Debian 9, compártala con sus amigos en las redes sociales utilizando los botones de compartir a continuación, o simplemente deje un comentario en la sección de comentarios. Gracias.


Debian
  1. Cómo instalar MySQL 8.0/5.7 en Debian 11/Debian 10

  2. Cómo instalar el servidor MySQL en Debian 9

  3. Cómo instalar MySQL Workbench en Debian 10

  4. Cómo instalar MySQL en Debian 11

  5. Cómo instalar MySQL Workbench en Debian 11

Cómo instalar MySQL 8 en Debian 10

Cómo instalar Debian 11

Cómo instalar Go en Debian 10

Cómo instalar Etherpad en Debian 11

Cómo instalar MySQL/MariaDB en Debian 11

Cómo instalar MySQL en Debian 10