Etherpad: un editor de documentos colaborativo en línea basado en web en tiempo real para Linux


Etherpad es una herramienta de edición de documentos gratuita basada en la web que permite a un grupo de usuarios trabajar conjuntamente en un documento en tiempo real, como un editor de varios jugadores que se ejecuta en un navegador web. Los autores de Etherpad pueden editar y al mismo tiempo ver las ediciones de los demás en tiempo real con la capacidad de mostrar el texto del autor en sus propios colores.

Esta herramienta tiene un cuadro de chat independiente en la barra lateral que permite a los autores comunicarse durante la edición. Etherpad está escrito en JavaScript tanto en el lado del servidor como en el lado del cliente, por lo que es fácil para los desarrolladores mantener y agregar nuevas funciones.

Etherpad está diseñado de tal manera que puede tener acceso a todos los datos a través de una API HTTP bien documentada. Este software también le ayuda a importar/exportar datos a muchos formatos de intercambio y también viene con traducciones donde los autores pueden entregar el idioma correcto para su configuración local.

Para su referencia, he adjuntado una demostración de Etherpad Lite en el siguiente enlace.

  1. Watch EtherPad Demo

En este tutorial, describiré cómo instalar y configurar Etherpad Lite, una aplicación de edición de documentos colaborativa en tiempo real basada en la web en RHEL, CentOS, Fedora, Debian, Ubuntu y Linux Mint.

Instalación de Etherpad Lite en Linux

Primero, necesitamos descargar e instalar algunas bibliotecas y herramientas de desarrollo necesarias. Abra la terminal y ejecute el siguiente comando como root o agregando sudo al comienzo de cada comando.

Necesitará gzip, git, curl, libssl python, desarrollar bibliotecas, paquetes python y gcc.

# yum install gzip git-core curl python openssl-devel && yum groupinstall "Development Tools" For FreeBSD: portinstall node, npm, git
$ sudo apt-get install gzip git-core curl python libssl-dev pkg-config build-essential

Además, también deberá descargar y compilar la última versión estable de Node.js de los paquetes fuente utilizando los siguientes comandos.

$ wget http://nodejs.org/dist/node-latest.tar.gz
$ tar xvfvz node-latest.tar.gz
$ cd node-v0.10.23     [Replace a version with your own]
$ ./configure
$ make
$ sudo make install

Una vez que haya instalado correctamente, verifique la versión de Node.js usando el comando de la siguiente manera.

$ node --version

v0.10.23

Crearemos un usuario separado llamado "etherpad" para ejecutar la aplicación Etherpad de forma independiente. Entonces, primero cree un usuario con su directorio de inicio.

# useradd --create-home etherpad

Ahora cambie al usuario "etherpad" y descargue la última versión estable de Etherpad Lite usando el repositorio GIT como se muestra.

# su - etherpad
$ cd /home/etherpad
$ git clone http://github.com/ether/etherpad-lite.git

Una vez que haya descargado los archivos fuente, cámbielos al directorio recién creado que contiene el código fuente clonado.

$ cd etherpad-lite/bin

Ahora, ejecute el script run.sh.

$ ./run.sh
Copy the settings template to settings.json...
Ensure that all dependencies are up to date...  If this is the first time you have run Etherpad please be patient.
[2013-12-17 05:52:23.604] [WARN] console - DirtyDB is used. This is fine for testing but not recommended for production.
[2013-12-17 05:52:24.256] [INFO] console - Installed plugins: ep_etherpad-lite
[2013-12-17 05:52:24.279] [INFO] console - Your Etherpad git version is 7d47d91
[2013-12-17 05:52:24.280] [INFO] console - Report bugs at https://github.com/ether/etherpad-lite/issues
[2013-12-17 05:52:24.325] [INFO] console -    info  - 'socket.io started'
[2013-12-17 05:52:24.396] [INFO] console - You can access your Etherpad instance at http://0.0.0.0:9001/
[2013-12-17 05:52:24.397] [WARN] console - Admin username and password not set in settings.json.  To access admin please uncomment and edit 'users' in settings.json

Ahora debería poder navegar por la interfaz web de Etherpad Lite en http:/localhost: 9001 o http:/your-ip-address: 9001 en un navegador web.

Cree un nuevo documento dando un nombre de Pad. Recuerde, ingrese un nuevo nombre al crear un nuevo documento o ingrese el nombre del documento previamente editado para acceder.

Por ejemplo, he creado un nuevo documento llamado "tecmint". El usuario puede crear varios blocs de notas nuevos en ventanas independientes, la ventana del documento de cada usuario aparece en otra ventana automáticamente en tiempo real. La ventana de cada usuario está resaltada en dos colores diferentes y también los usuarios pueden interactuar entre sí mediante el cuadro de chat incorporado.

Cada documento recién creado tiene su propia estructura de URL. Por ejemplo, mi nuevo pad "tecmint" obtiene una URL como http:/your-ip-address: 9001/p/tecmint. Puede compartir la URL de este documento con sus amigos y colegas. Incluso puede incrustar la ventana del editor en otra página web HTML como un iframe.

Puede guardar el documento mientras se está editando haciendo clic en el botón ESTRELLA, sin embargo, se crean periódicamente. Para acceder a una revisión guardada del documento, agregue el número de la revisión guardada. Por ejemplo, si desea ver el número de revisión guardado (es decir, 2) en este caso, reemplace el número 6 con 2 en http:/your-ip-address: 9001/p/tecmint/6/export/text .

Etherpad también viene con una función incorporada llamada importación y exportación, donde puede importar cualquier documento externo o exportar un documento guardado actual a un archivo separado. El documento se puede descargar en formato HTML, Open Document, Microsoft Word, PDF o texto sin formato.

Una función de "control deslizante de tiempo" permite a cualquiera explorar la historia de la almohadilla.

De forma predeterminada, Etherpad almacena documentos en una base de datos de archivos planos. Le sugiero que utilice MySQL como backend para almacenar documentos creados y editados. Para ello, debe tener MySQL instalado en su sistema. Si no lo tiene, instálelo en el sistema, puede instalarlo usando los siguientes comandos como usuario root o usando sudo.

# yum install mysql-server mysql
# service mysqld start
# chkconfig mysqld on
# apt-get install mysql-server mysql-client
# service mysqld start

Una vez que se haya instalado MySQL, conéctese al shell de mysql ejecutando el siguiente comando.

# mysql -u root -p

Una vez que esté en el shell mysql, emita el siguiente comando para crear la base de datos.

create database etherpad_lite;

Otorgue permisos a una cuenta de base de datos recién creada. Reemplace "su-contraseña" con su propia contraseña.

grant all privileges on etherpad_lite.* to 'etherpad'@'localhost' identified by 'your-password';

Deja el cliente mysql.

exit;

Ahora, cambie al usuario "etherpad" y vaya al directorio de etherpad y ejecute los siguientes comandos:

# su - etherpad
$ cd /home/etherpad/etherpad-lite    
$ cp settings.json.template settings.json

A continuación, abra settings.json con el editor que elija y cambie la configuración como se muestra a continuación.

# vi settings.json

Busque el siguiente texto.

"sessionKey" : "",

Agregue SECURESTRING con un mínimo de 10 cadenas alfanuméricas.

"sessionKey" : "Aate1mn160",

Entonces busca:

"dbType" : "dirty",
  //the database specific settings
  "dbSettings" : {
                   "filename" : "var/dirty.db"
                 },

Y comentarlo así:

// "dbType" : "dirty", */
  //the database specific settings
  // "dbSettings" : {
  //                   "filename" : "var/dirty.db"
  //                 },

A continuación, establezca la configuración de administrador y mysql como se muestra a continuación.

  /* An Example of MySQL Configuration
   "dbType" : "mysql",
   "dbSettings" : {
                    "user"    : "etherpad",
                    "host"    : "localhost",
                    "password": "your-password",
                    "database": "etherpad_lite"
                  },

  */
  "users": {
    "admin": {
      "password": "your-password",
      "is_admin": true
    },

Asegúrese de reemplazar "su-contraseña" con la contraseña que creó anteriormente mientras configura una nueva cuenta de base de datos y una contraseña de administrador con su propio valor. Ahora, necesitamos instalar algunos paquetes de dependencia adicionales con el siguiente comando.

./bin/installDeps.sh

Una vez que se complete el script, tendremos que ejecutar el script Etherpad nuevamente. Entonces, puede crear las tablas apropiadas en la base de datos.

./bin/run.sh

Una vez que Etherpad se haya cargado correctamente, presione Ctrl + C para finalizar el proceso. Nuevamente inicie sesión en el shell mysql y modifique la base de datos para usarla correctamente.

mysql -u root -p
alter database etherpad_lite character set utf8 collate utf8_bin;
use etherpad_lite;
alter table store convert to character set utf8 collate utf8_bin;
exit;

Finalmente, instalamos y configuramos Etherpad con éxito para usar el backend de MySQL. Ahora ejecute etherpad nuevamente para usar MySQL como backend.

./bin/run.sh

El script inicializará Etherpad y luego iniciará el proceso. Tenga en cuenta que la aplicación Etherpad terminará su proceso cuando cierre la ventana de sesión de su terminal. Opcionalmente, puede usar el comando de pantalla para colocar Etherpad en una sesión de pantalla para facilitar el acceso.

Eso es todo por ahora, hay muchas otras cosas para explorar y mejorar su instalación de Etherpad, que no se tratan aquí. Por ejemplo, puede utilizar Etherpad como servicio en un sistema Linux o proporcionar acceso seguro a la conexión HTTPS/SSL de su usuario. Para obtener más información sobre la configuración adicional, visite la página oficial en:

  1. Etherpad Lite Wiki