Instalación de Software · 11 min read · Nov 02, 2025

Cómo instalar Etherpad en AlmaLinux 9

Etherpad es una alternativa gratuita y de código abierto a servicios como Google Docs y Zoho Writer. Etherpad es un editor de texto colaborativo y en tiempo real para tu equipo, es accesible desde cualquier lugar y en cualquier momento porque Etherpad es un editor de texto basado en la web.

Cualquier cambio en Etherpad ocurre en tiempo real, y también Etherpad soporta versionado y formato integrado para equipos. Etherpad es un editor altamente personalizable con el soporte de varios complementos. También soporta formatos de documentos modernos como doc, pdf, odt, markdown, etc.

Este tutorial te mostrará cómo instalar Etherpad en un servidor AlmaLinux 9 con un servidor de base de datos MariaDB y un servidor web Nginx. También asegurarás Etherpad a través de certificados SSL para habilitar el acceso seguro.

Requisitos previos

Para completar este tutorial, asegúrate de tener lo siguiente:

  • Un servidor AlmaLinux 9 - Esta demostración utiliza un AlmaLinux con el nombre de host almalinux9.
  • Un usuario no root con privilegios sudo.
  • Un nombre de dominio apuntando a la dirección IP del servidor.
  • Certificados SSL generados a través de Letsecnrypt y Certbot.

Instalando dependencias

Antes de instalar Etherpad, debes instalar algunas de las dependencias que necesita Etherpad, incluyendo:

  • Herramientas de desarrollo
  • Node.js y NPM (Node Package Manager)
  • Servidor de base de datos MariaDB
  • Servidor web Nginx

Completa estos pasos para instalar las dependencias de Etherpad.

Instalando herramientas de desarrollo

Primero, debes instalar “Herramientas de desarrollo“ en tu servidor AlmaLinux. Ingresa el siguiente comando dnf para instalar “Herramientas de desarrollo“, ingresa y y presiona ENTER para continuar.

sudo dnf group install "Development Tools"

A continuación, ejecuta el siguiente comando para instalar algunas dependencias adicionales. Cuando se te pida, ingresa y para confirmar y presiona ENTER.

sudo dnf install gzip git curl python3-devel openssl-devel pkg-config

install dependencies

Instalando Node.js y NPM

Etherpad es un editor de colaboración y en tiempo real basado en la web principalmente escrito con Node.js. Para instalarlo, debes instalar el entorno de ejecución de JavaScript Node.js y NPM (Node Package Manager).

En el momento de escribir esto, Etherpad requería al menos Node.js v16, que está disponible por defecto en el repositorio appstream de AlmaLinux y puedes instalarlo a través de DNF.

Ejecuta el siguiente comando dnf para instalar Node.js y NPM. Ingresa y para confirmar la instalación y presiona ENTER.

sudo dnf install nodejs npm

Una vez que Node.js esté instalado, ejecuta el siguiente comando para agregar el directorio /usr/local/bin a la variable de entorno PATH. Esto asegurará que algunos archivos binarios que se instalan a través de NPM puedan ejecutarse en el servidor.

echo "export PATH=$PATH:/usr/local/bin" >> ~/.bashrc  
source ~/.bashrc

A continuación, ejecuta el siguiente comando para localizar ambos archivos binarios de Node.js y NPM.

which node  
which npm

Luego, verifica la versión de Node.js y NPM usando el siguiente comando.

node --version  
npm --version

La salida mostrada confirma que Node.js v16 y NPM 8.x están instalados, y ambos archivos binarios se encuentran en el directorio /bin.

checking node.js and npm

Instalando el servidor MariaDB

Por defecto, el Etherpad instalado usaba SQLite como base de datos. Puedes usar MariaDB/MySQL como base de datos para implementaciones grandes de tu instalación de Etherpad.

Ejecuta el comando dnf a continuación para instalar el servidor MariaDB. Cuando se te pida, ingresa y para confirmar y presiona ENTER.

sudo dnf install mariadb-server

install mariadb

Una vez que MariaDB esté instalado, ejecuta el siguiente comando para iniciar y habilitar el servicio de MariaDB.

sudo systemctl start mariadb  
sudo systemctl enable mariadb

Luego, verifica el estado del servicio de MariaDB usando el siguiente comando.

sudo systemctl status mariadb

Si el servidor MariaDB está en funcionamiento, la salida debería mostrarse así:

start enable mariadb

Instalando el servidor web Nginx

Después de instalar el servidor MariaDB, instalarás el servidor web Nginx que se utilizará como un proxy inverso para Etherpad. Así que, antes de continuar, asegúrate de tener un nombre de dominio apuntando a la dirección IP de tu servidor y certificados SSL generados a través de Letsencrypt y Certbot.

Ejecuta el comando dnf a continuación para instalar el servidor web Nginx. Cuando se te pida, ingresa para confirmar y presiona ENTER.

sudo dnf install nginx

install nginx

Ahora, ejecuta el siguiente comando para iniciar y habilitar el servicio de Nginx.

sudo systemctl start nginx  
sudo systemctl enable nginx

Después de eso, ingresa el siguiente comando para verificar el servicio de Nginx y asegurarte de que el servicio esté en funcionamiento.

sudo systemctl status nginx

Si el servicio de Nginx está en funcionamiento, deberías obtener una salida como esta:

start enable verify nginx

A continuación, ejecuta el siguiente comando para abrir los puertos HTTP y HTTPS en tu servidor.

sudo firewall-cmd --add-service={http,https} --permanent  
sudo firewall-cmd --reload

Verifica la lista de puertos y servicios abiertos usando el siguiente comando. Deberías ver que tanto HTTP como HTTPS están habilitados en firewalld.

sudo firewall-cmd --list-all

configure firewalld

Configurando el servidor MariaDB

En esta sección, asegurarás el servidor MariaDB con la utilidad mariadb-secure-installation, luego crearás una nueva base de datos y un usuario que se utilizarán para Etherpad.

Ejecuta el siguiente comando para comenzar a asegurar el servidor MariaDB.

sudo mariadb-secure-installation

Después de ejecutar el comando, se te preguntará sobre las siguientes configuraciones:

  • Cambiar el método de autenticación para el usuario root de MariaDB a unix_socket. Ingresa n para No.
    Configurar la contraseña root de MariaDB. Ingresa y para confirmar y escribe la nueva contraseña root de MariaDB y repite.
    Deshabilitar el inicio de sesión remoto para el usuario root de MariaDB. Ingresa y para confirmar.
    Eliminar la base de datos predeterminada de prueba de MariaDB. Ingresa y para confirmar.
    Eliminar el usuario anónimo de la MariaDB. Ingresa y para confirmar.
    Por último, ingresa y nuevamente para recargar los privilegios de la tabla para aplicar los cambios.

Con el servidor MariaDB asegurado, a continuación crearás una nueva base de datos y usuario de MariaDB.

Inicia sesión en el servidor MariaDB usando el comando mariadb a continuación.

sudo mariadb -u root -p

Ejecuta las siguientes consultas para crear una nueva base de datos y usuario de MariaDB para Etherpad. En este ejemplo, crearás una nueva base de datos etherpad_lite_db y el usuario etherpaduser con la contraseña StrongPasswordEtherpadDB.

CREATE DATABASE etherpad_lite_db CHARACTER SET utf8mb4;  
CREATE USER etherpaduser@localhost IDENTIFIED BY 'StrongPasswordEtherpadDB';  
GRANT CREATE,ALTER,SELECT,INSERT,UPDATE,DELETE on etherpad_lite_db.* to etherpaduser@localhost;  
FLUSH PRIVILEGES;

create new database and user

Ahora, ejecuta la siguiente consulta para verificar los privilegios para el usuario de MariaDB etherpaduser.

SHOW GRANTS FOR etherpaduser@localhost;  
quit

Notarás que el usuario de MariaDB etherpaduser tiene privilegios para acceder a la base de datos etherpad_lite_db.

show mariadb user privileges

Escribe quit para salir de MariaDB.

Descargando e instalando Etherpad

En esta sección, comenzarás la instalación de Etherpad creando el usuario del sistema, descargando el código fuente de Etherpad, instalando dependencias para Etherpad, integrando Etherpad con la base de datos MariaDB, y luego verificando la instalación ejecutándola a través de la línea de comandos.

Primero, ejecuta el siguiente comando para crear un nuevo usuario y grupo del sistema ‘etherpad‘. Este usuario se utilizará para ejecutar el servicio de Etherpad.

sudo groupadd etherpad  
sudo adduser -r -M -d /opt/etherpad-lite -g etherpad etherpad

Descarga el código fuente de Etherpad a través de git en el directorio de destino /opt/etherpad-lite.

git clone --branch master https://github.com/ether/etherpad-lite.git /opt/etherpad-lite

Una vez que el código fuente de Etherpad esté descargado, ejecuta el siguiente comando para cambiar la propiedad del directorio /opt/etherpad-lite al usuario y grupo ‘etherpad‘.

sudo chown -R etherpad:etherpad /opt/etherpad-lite

create user and download etherpad source code

A continuación, mueve el directorio de trabajo al directorio /opt/etherpad-lite e instala las dependencias de Etherpad usando el siguiente comando.

cd /opt/etherpad-lite  
sudo su -s /bin/bash -c "./bin/installDeps.sh" etherpad

Después de ejecutar el comando, deberías obtener el proceso de instalación así:

install etherpad dependencies

Cuando la instalación haya finalizado, abre la configuración de Etherpad settings.json usando el siguiente comando del editor nano.

nano settings.json

Cambia el título de tu instalación de Etherpad.

  "title": "Etherpad AlmaLinux 9",

Cambia la dirección IP predeterminada para que Etherpad se ejecute en localhost o 127.0.0.1.

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

Elimina la configuración de base de datos predeterminada a continuación.

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

Cambia los detalles de la base de datos para usar el servidor MySQL/MariaDB así. Y asegúrate de cambiar el nombre de la base de datos, el usuario y la contraseña.

  "dbType" : "mysql",  
  "dbSettings" : {  
    "user":     "etherpaduser",  
    "host":     "localhost",  
    "port":     3306,  
    "password": "StrongPasswordEtherpadDB",  
    "database": "etherpad_lite_db",  
    "charset":  "utf8mb4"  
  },

Guarda el archivo y cierra el editor cuando hayas terminado.

A continuación, ejecuta el siguiente comando para verificar y ejecutar Etherpad.

/bin/node --experimental-worker /opt/etherpad-lite/node_modules/ep_etherpad-lite/node/server.js

Si la configuración de la base de datos y la instalación de Etherpad son exitosas, se mostrará la siguiente salida:

running check etherpad

Presiona Ctrl+c para terminar el proceso.

Ejecutando Etherpad como servicio Systemd

Con Etherpad instalado, ahora configurarás Etherpad como un servicio systemd. Esto te permite ejecutar Etherpad en segundo plano y gestionar Etherpad fácilmente a través de la línea de comandos systemctl.

Para comenzar, crea un nuevo archivo de servicio systemd /lib/systemd/system/etherpad.service usando el siguiente comando del editor nano.

sudo nano /lib/systemd/system/etherpad.service

Inserta la siguiente configuración en el archivo.

[Unit]  
Description=Etherpad-lite, el editor colaborativo.  
After=syslog.target network.target mariadb.service nginx.service  
  
[Service]  
Type=simple  
User=etherpad  
Group=etherpad  
WorkingDirectory=/opt/etherpad-lite  
Environment=NODE_ENV=production  
ExecStart=/bin/node --experimental-worker /opt/etherpad-lite/node_modules/ep_etherpad-lite/node/server.js  
# usa mysql más un settings.json completo para evitar el tiempo de espera del servicio, programando reinicio.  
Restart=always  
  
[Install]  
WantedBy=multi-user.target

Guarda y cierra el archivo cuando hayas terminado.

Ahora, ejecuta el siguiente comando para recargar el administrador de systemd y aplicar el archivo de servicio de Etherpad a tu sistema.

sudo systemctl daemon-reload

Luego, inicia y habilita el servicio de Etherpad usando el siguiente comando.

sudo systemctl start etherpad  
sudo systemctl enable etherpad

Verifica el servicio de Etherpad usando el siguiente comando. Si el servicio de Etherpad está en funcionamiento, deberías obtener una salida como ‘ active (running) ‘.

sudo systemctl status etherpad

verify etherpad service

También puedes verificar la lista de puertos abiertos en tu sistema usando el siguiente comando. Y deberías ver que Etherpad utiliza el puerto 9001.

ss -tulpn | grep 9001

Configurando Nginx como un proxy inverso

En este punto, Etherpad está en funcionamiento en el puerto 9001. Para hacerlo accesible para los usuarios finales, puedes usar Nginx que se utilizará como un proxy inverso. Antes de comenzar, asegúrate de tener el nombre de dominio que se utilizará para Etherpad, y asegúrate de haber generado certificados SSL a través de Letsencrypt y Certbot.

Crea una nueva configuración de bloque de servidor Nginx /etc/nginx/conf.d/etherpad.conf usando el comando del editor nano a continuación.

sudo nano /etc/nginx/conf.d/etherpad.conf

Inserta la siguiente configuración y asegúrate de cambiar los detalles del nombre de dominio y la ruta de los certificados SSL.

# forzar HTTPS  
server {  
    listen       80;  
    server_name  etherpad.howtoforge.local;  
    return 301   https://$host$request_uri;  
}  
  
# estamos en el contexto http aquí  
map $http_upgrade $connection_upgrade {  
    default upgrade;  
    ''      close;  
}  
  
server {  
    listen       443 ssl http2;  
    server_name  etherpad.howtoforge.local;  
  
    access_log  /var/log/nginx/eplite.access.log;  
    error_log   /var/log/nginx/eplite.error.log;  
  
    ssl_certificate      /etc/letsencrypt/live/etherpad.howtoforge.local/fullchain.pem;  
    ssl_certificate_key  /etc/letsencrypt/live/etherpad.howtoforge.local/privkey.pem;  
  
    ssl_session_timeout  5m;  
  
    ssl_protocols TLSv1.2;  
    ssl_prefer_server_ciphers on;  
    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";  
  
    location / {  
        proxy_pass         http://127.0.0.1:9001;  
        proxy_buffering    off; # ten cuidado, esta línea no anula ningún proxy_buffering establecido en un conf.d/file.conf  
        proxy_set_header   Host $host;  
        proxy_pass_header  Server;  
  
        # Nota que también podrías querer pasar estos encabezados etc.  
        proxy_set_header    X-Real-IP $remote_addr; # https://nginx.org/en/docs/http/ngx_http_proxy_module.html  
        proxy_set_header    X-Forwarded-For $remote_addr; # EP logs para mostrar la IP remota real  
        proxy_set_header    X-Forwarded-Proto $scheme; # para EP para establecer la bandera de cookie segura cuando se usa https  
        proxy_http_version  1.1; # recomendado con conexiones keepalive  
  
        # Proxy de WebSocket - de https://nginx.org/en/docs/http/websocket.html  
        proxy_set_header  Upgrade $http_upgrade;  
        proxy_set_header  Connection $connection_upgrade;  
    }  
}

Guarda el archivo y cierra el editor cuando hayas terminado.

Ahora, ejecuta el siguiente comando para asegurarte de que tienes la configuración correcta y adecuada. Si es exitoso, deberías obtener un mensaje como “La sintaxis es correcta - la prueba es exitosa“.

sudo nginx -t

A continuación, ingresa el siguiente comando para reiniciar el servicio de Nginx y aplicar los cambios.

sudo systemctl restart nginx

configure nginx as reverse proxy

Después de eso, abre tu navegador web y visita el nombre de dominio de la instalación de Etherpad (es decir: https://etherpad.howtoforge.local/). Deberías ver la página de inicio predeterminada de tu editor colaborativo Etherpad.

Ahora crea un nuevo pad escribiendo el nombre del pad y haz clic en OK.

create new pad

A continuación, puedes comenzar a usar Etherpad como el editor colaborativo.

etehrpad collaboratuive editor

Conclusión

Felicidades, has completado la instalación de Etherpad con la base de datos MariaDB y el servidor web Nginx en un servidor AlmaLinux 9. También has asegurado Etherpad con certificados SSL además de eso. Ahora puedes comenzar a usar Etherpad como el editor colaborativo principal con tus amigos/grupos/equipo.

Share: X/Twitter LinkedIn

Recibe nuevas publicaciones en tu bandeja de entrada.

No spam. Cancela la suscripción en cualquier momento.