Tus notas online con Etherpad
¿Qué es Etherpad?
Etherpad es una herramienta colaborativa que permite trabajar a varios usuarios sobre un mismo documento.
También tiene una herramienta para exportar / importar los documentos o incluso un chat para poder interactuar entre todas las personas que trabajan en un mismo documento.
Instalación
Actualizar e instalar las dependencias necesarias
apt update && apt -y upgradeapt -y install gzip git curl python libssl-dev pkg-config gcc g++ make build-essential
Node.js / npm / mariaDB
apt install -y nodejs npm mariadb-server mariadb-client
Configurar la base de datos
mysql -u root -p
# Creamos una nueva base de datos llamada etherpad
create database etherpad;
# Creamos un nuevo usuario llamado etherpad con una contraseña
create user 'etherpad'@'localhost' identified by 'password';
# Asignamos privilegios al usuario etherpad dentro de la base de datos etherpad
grant all privileges on etherpad.* to 'etherpad'@'localhost';
# Refrescamos los privilegios
flush privileges;
Instalar etherpad
Creamos un nuevo usuario llamado etherpad
useradd -m -s /bin/bash etherpadsu - etherpadClonamos con git el repositorio de etherpad
git clone https://github.com/ether/etherpad-liteAccedemos al directorio etherpad-lite
cd etherpad-lite/Editamos el fichero de configuración settings.json
Por seguridad, hacemos una copia del fichero y lo renombramos
cp settings.json.template settings.jsonAbrimos el fichero
nano settings.json# Cambiamos el nombre de nuestro Pad "title": "Pad NexoSocial", # Podemos cambiar la ip a localhost y el puerto por defecto "ip": "0.0.0.0", "port": 9001, # Desactivamos la base de datos dirty comentandola y descomentamos la de mysql /* * "dbType": "dirty", * "dbSettings": { * "filename": "var/dirty.db" * } */ "dbType" : "mysql", "dbSettings" : { "user": "etherpad", "host": "localhost", "port": 3306, "password": "password", "database": "etherpad", "charset": "utf8mb4" }, # Configuramos el texto de bienvenida de nuestro pad "defaultPadText" : "Bienvenido al pad colaborativo de NexoSocial.org\n\n Para mas informacion puedes visitar nuestra web en https:\/\/nexosocial.org\n", # Podemos modificar algunas opciones del pad cambiando true / false "padOptions": { "noColors": false, "showControls": true, "showChat": true, "showLineNumbers": true, "useMonospaceFont": false, "userName": false, "userColor": false, "rtl": false, "alwaysShowChat": false, "chatAndUsers": false, "lang": "en-gb" # Cambiamos a true la opción de ocultar errores en el pad "suppressErrorsInPadText": true,
Iniciando el servicio
Opción 1 - Ejecutando el script
cd /bin./run.sh
Como podéis ver al ejecutar el script nos sale un mensaje diciendo que nuestro servidor es accesible desde la dirección ip de la maquina:9001.
Evidentemente si el puerto lo hemos cambiado en el archivo de configuración previamente aquí nos mostraría el puerto personalizado.
Al iniciar un nuevo pad nos aparece el mensaje de bienvenida que previamente hemos configurado en el archivo settings.json
Opción 2 - Configurar etherpad como servicio
Creamos un nuevo archivo llamado etherpad.service
nano /etc/systemd/system/etherpad.servicePegamos el siguiente contenido y guardamos el archivo
[Unit]
Description=Etherpad-lite.
After=syslog.target network.target
[Service]
Type=simple
User=etherpad
Group=etherpad
WorkingDirectory=/home/etherpad/etherpad-lite
Environment=NODE_ENV=production
ExecStart=/usr/bin/nodejs /home/etherpad/etherpad-lite/node_modules/ep_etherpad-lite/node/server.js
Restart=always
[Install]
WantedBy=multi-user.target
Recargamos los servicios de systemd
systemctl daemon-reloadIniciamos y habilitamos el servicio de etherpad que acabamos de crear
systemctl start etherpadsystemctl enable etherpad