RECOMENDACIONES ANTES DE COMENZAR
Utiliza una conexión mediante Terminal o Putty para realizar la instalación, asi podrás copiar/pegar los comandos desde esta web hacia tu computadora virtual 

Todos los tutoriales han sido probados en Ubuntu Server 18.04, te recomendamos utilizar esta distrubución

¿Qué es ETHERPAD?


Etherpad es un editor de texto basado en la colaboración en tiempo real. Permite a varios autores editar simultáneamente un documento de texto en la web, y ver todos los participantes en las ediciones en tiempo real, con la capacidad de mostrar el texto de cada autor en diferente color. También hay una ventana de chat en la barra lateral para permitir la comunicación directa. 


Como siempre iniciamos actualizando repositorios:

free website design templates
sudo apt update

Ahora, Instalamos las dependencias que vamos a utilizar:

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

Descargamos nodejs:

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

y lo instalamos:

sudo apt install -y nodejs

Actualizar NPM

sudo npm install -g npm@latest

Instalamos MySQL, que usaremos para crear la base de datos donde se guardará toda la información del servicio:

sudo apt install mysql-server mysql-client

Iniciar MySQL

sudo systemctl start mysql

Ahora le diremos a la computadora que incie el servicio de manera automática:

sudo systemctl enable mysql

Ahora configuramo la contraseña de MySQL  

sudo mysql_secure_installation

Primero te preguntará si usarás contraseñas seguras o contraseñas simples, en este caso recomendamos usar contraseñas seguras, por lo cuál ante la primera pregunta, respondemos si:

Mobirise
Y

A continuación MySQL te preguntará que nivel de seguridad deseas para tu contraseña, selecciona la opción 1 (Medium):

Mobirise

Luego te pedirá escribir la contraseña que desees para MySQL dos veces, recuerda utilizar una con letras, números, símbolos y altas y bajas.

Mobirise

Ahora te hará varias preguntas, responde a todas ellas con un sí (Y)

Mobirise


Finalizada esa configuración, Ingresamos a MySQL, te pedirá una contraseña, escribes la que acabas de inventar en el paso anterior:

sudo mysql -u root -p

Mobirise

Ahora estamos dentro de MySQL y lo primero que haremos, será crear una base de datos para nuestro Etherpad, aquí se almacenará toda la información contenida en los pads alojados en el servicio.

create database etherpad_db;

En este caso la palabra etherpad_db, es solo a modo de ejemplo, este es el nombre de nuestra base de datos y podemos darle el nombre que deseemos (y recordemos)

En el siguiente paso, daremos los permisos necesarios para que nuestro etherpad pueda ingresar y leer información en la base de datos, para ello:


grant all privileges on etherpad_db.* to etherpad@localhost identified by 'ALGUNA_CLAVE_SEGURA';

En este caso la palabra etherpad_db, es solo a modo de ejemplo, este es el nombre de nuestra base de datos y aquí ponemos el nombre de la base de datos que creamos recientemente para nuestro Etherpad. Así mismo, la frase ALGUNA_CLAVE_SEGURA, es solo un ejemplo, ahí debemos anotar una contraseña que nos inventemos para nuestra base de datos, recuerda utilizar una con letras, números, altas y bajas

Actualizamos los privilegios de MySQL:

flush privileges;

y salimos del programa:

exit

Una vez fuera de MySQL, creamos un usuario llamado etherpad

sudo useradd -m -s /bin/bash etherpad

ahora le asignamos una contraseña que inventemos a este usuario:

sudo passwd etherpad

Ingresamos a la sesión del usuario etherpad, nos pedirá la contraseña que acabas de crear para ese usuario:

su - etherpad

Finalmente tenemos todo listo para comenzar a descargar e instalar etherpad:

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

Vamos a la carpeta donde se descargó etherpad:

cd etherpad-lite/

y ejecutamos el script instalador:

bin/run.sh

Con esto hemos ejecutado Etherpad, y si esta todo correcto debería verse de la siguiente manera:

Mobirise

Cerramos el proceso de Etherpad presionando al mismo tiempo en el teclado crtl + C

Ahora, salimos del usuario etherpad:

exit

y vamos a la carpeta donde está el servicio:

cd /home/etherpad/etherpad-lite

Y abrimos el archivo de configuraciones de Etherpad:

sudo nano settings.json

Nos deslizamos hasta donde viene la información del puerto y la IP

Mobirise

y agregamos la IP (y el puerto opcionalmente) de la computadora donde hemos instalado el servicio de Etherpad

Mobirise

  "ip": "192.168.1.101",


  "port" : 9001,

   

    En este caso el 192.168.1.101 es un ejemplo, aquí va la ip de la máquina donde hemos instalado Etherpad.

 Ahora viene una parte un poco complicada, lo que haremos será deshabilitar la base de datos "dirty" y activaremos la configuración para que el servicio use la base de datos que hemos creado anteriormente para ella.

    Los archivos de configuración en texto si bien son distintos unos de otros, por lo general tienen una misma regla, y es que hay que señalares de alguna manera que frases son efectvamente configuraciones y cuales son solo textos explicando las funciones de las configuraciones. En este caso, Etherpad utiliza el siguiente método:

    Las frases contenidas entre un /* y un */ , el software asumirá que son textos explicativos por lo que no las leerá, y por el contrario, las frases que carezcan de este símbolo serán tomadas por el softwate como instrucciones de configuración y éstas afectaran el funcionamiento de Etherpad

    Entonces, buscamos dónde la Dirty DataBase se encuentra activa:

Mobirise

y la desactivamos de dejándola de la siguiente manera:

Mobirise

Ahora, en el mismo archivo de configuración de Etherpad viene un ejemplo de una base de datos:

Mobirise

La modificamos quitando  los /*   */ y agregando  la información que entregamos a MySQL cuando creamos nuestra base de datos:

Mobirise

En este caso las palabras etherpad_db y ALGUNA_CLAVE_SEGURA, son solo a modo de ejemplo, este es el nombre de nuestra base de datos y la contraseña que creamos anterioremente dentro de MySQL

Cerramos el documento con crtl + X y aceptamos guardar las modificaciones

 Ya estamos casi acabando, ahora lo que haremos es crear el servicio de Etherpad en Systemd, para que podemos controlar y chekar el status de Etherpad con unos simples comandos

cd /etc/systemd/system/

Creamos un documento en blanco, donde pondremos las configuraciones:

sudo nano etherpad.service

Copiamos y pegamos en él la siguiente configuracion:


[Unit]


Description=Etherpad-lite, the collaborative editor.


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 # use mysql plus a complete settings.json to avoid Service hold-off time over, scheduling restart.


[Install]


WantedBy=multi-user.target

Cerramos el documento con crtl + X y aceptamos guardar las modificaciones


reiniciamos el sistema de control de servicios:

sudo systemctl daemon-reload

iniciamos etherpad

sudo systemctl start etherpad

dejamos etherpad con inicio automático

sudo systemctl enable etherpad

y finalmente reiniciamos etherpad

sudo systemctl restart etherpad

y comprobamos que etherpad funcione correctamente

sudo systemctl status etherpad

Si no hay errores, ahora podemos acceder desde cualquier navegador web, anotando en la barra de direcciones la IP o Dominio de la máquina, acompañado del puerto :9001, a modo de ejemplo el Etherpad de esta guía lo encontraríamos en:

http://192.168.1.101:9001
Mobirise

Comandos de Control

sudo systemctl status etherpad

sudo systemctl stop etherpad

sudo systemctl start etherpad

sudo systemctl restart etherpad

sudo nano /home/etherpad/etherpad-lite/settings.json

IMPORTANTE
Esta información es para uso personal. En ningún caso se pretende dar conocimientos, consejos, formaciones, herramientas, ni soluciones técnicas de ámbito comercial ni profesional. Simplemente es información que se ha recopilado, organizado y redactado con la finalidad promover la creación y uso de servicios de comunicación digitales con software libre. 

Si usted no está seguro de la fiabilidad de la información, no cumple con sus expectativas o no es de su agrado, le ruego que abandone este sitio web.