Blackhold

etherpad

Posted on juliol 6th, 2010 by admin

fijo que algunos conocéis gobby, un sistema de edición colaborativo cliente-servidor.

Hace unos días me pasaron un link a una especie de gobby pero via web, simplemente me encantó, este gobby via web se llama etherpad. Si queréis probarlo podéis ir a piratepad.net y ver su potencia :)

Como en esto del software libre esto del culo veo culo quiero es posible, me puse a pelearme con la instalación, pero al ser una herramienta basada en java, su configuración era una ardua tarea. Pero tras media semana rascando por fin he conseguido ponerlo en marcha :D


Para realizar la instalación necesitaremos instalar algunos programas:

# apt-get install mercurial scala libmysql-java openjdk-6-jre openjdk-6-jdk
# cd /usr/share/java && mkdir lib && cd lib && ln -s ../scala-library.jar .

ahora escojemos un directorio de instalación, en mi caso /var y descargamos los sources

# hg clone https://etherpad.googlecode.com/hg/ etherpad

luego definiremos algunas variables de entorno

# cd /root
# vi .bashrc
APP_DIR=”/var/etherpad”
export JAVA_HOME=”/usr/lib/jvm/java-6-openjdk/”
export SCALA_HOME=”/usr/share/java”
export SCALA_LIBRARY_JAR=”/usr/share/java/scala-library.jar”
export MYSQL_CONNECTOR_JAR=”/usr/share/java/mysql-connector-java.jar”
export JAVA=”/usr/lib/jvm/java-6-openjdk/bin/java”
export SCALA=”/usr/bin/scala”
export PATH=”/usr/lib/jvm/java-6-openjdk/bin:$PATH”

Los manuales que hay por ahí cuentan como hacerlo con el java privativo de sun, pero aquí somos mas chulos que nadie y usamos la versión liberada de java, la openjdk (que posiblemente ya venga instalada en nuestro sistema, si no es así lo instalamos, el paquete se llama openjdk-6-jre).

etherpad requiere una base de datos para funcionar, así que entramos en mysql (que si no está instalado lo instalamos, mysql-server) y creamos la base de datos y un usuario:

# mysql -uroot -p
mysql> CREATE DATABASE etherpad;
CREATE USER ‘etherpad’@’localhost’ IDENTIFIED BY ‘password’;
GRANT ALL PRIVILEGES ON etherpad.* TO ‘etherpad’@’localhost’ WITH GRANT OPTION;
mysql> flush privileges;
mysql> exit;

Ahora compilaremos el programa:

# cd /var/etherpad/trunk/etherpad
# ./bin/rebuildjar.sh
# ./bin/run-local.sh

Y ahora ya tenemos el etherpad funcionando:

# netstat -lanp |grep ‘9000’
tcp6 0 0 :::9000 :::* LISTEN 4807/java

Como ahora mismo estoy haciendo la instalación en remoto y no tengo acceso al router y no puedo hacer el nat del puerto 9000 a este puerto de esta máquina, voy a hacer un tunnel ssh y conectarme localmente a mi máquina como si estuviese en la máquina remota

maquina externa$ ssh -L 9000:192.168.1.5:9000 usuario@x.x.x.x

y en nuestro navegador escribimos http://localhost:9000 y ya tenemos a nuestro etherpad en marcha con software libre :D

explicación del tunnel:
ssh -L: tunnel ssh
el primer 9000: en qué puerto queremos montar el túnnel, es decir, cuando escribimos localhost:9000 estaremos accediendo a este túnnel
192.168.1.5:9000 la ip local de la máquina a la que nos estamos conectando y el puerto que queremos pasar por el tunnel
usuario@x.x.x.x la connexión ssh de toda la vida

Nota: root@server:/var/etherpad/trunk/etherpad/src/etherpad# vi globals.js (añadir accesos al pad)

This entry was posted on dimarts, juliol 6th, 2010 at 13:58 and is filed under Linux. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

5 Responses to “etherpad”

Blackholdjuliol 6th, 2010 at 23:44

thanks you much for your post :) it helped me a lot!

simply searching a little bit more I found the solution and also using the opensourced version of java!

now my etherpad is working, maybe tomorrow I will build it on a machine that is turned on all the day and will have a public etherpad for social movements :)

Flowermarç 14th, 2011 at 20:18

Hola,

gracias por la informacion. únicamente una pregunta. cuando declaras las variables de entorno en el archivo .bashrc luego tenemos que indicar el source dentro del archivo makejar.sh ?
el problema que tengo es el siguiente:
cp ${MYSQL_CONNECTOR_JAR} lib/” but the mysql_connector_jar is undefined

entonces no se si directamente coge la ruta o si es que le tenemos que indicar que las definiciones de las rutas estan en el .bashrc

gràcies

Flowermarç 15th, 2011 at 03:12

me gustaria tenerlo en ubuntu ya mas que nada por cabezoneria.. :p sino ya cmabiare a debian..
pero esque el error es al hacer el rebuildjar.sh

> ./bin/rebuildjar.sh
using JAR jar…
cp: missing destination file operand after `lib/’

tengo declarados los exports en los siguientes archivos:
/root/.bashrc
/etc/profile

y tambien tengo declarado ele export mysql_connector_java en
/etc/environment

al hacer cambios he reiniciado la sesion para que adquiera bien los cambios.. pero el error sigue siendo el mismo.

he intentado tambien creando un archivo exports.sh en /root/ y luego en makejar.sh donde pone resouce he puesto /root/exports.sh

alguna sugerencia mas? o donde tenga que declarar el mysql_connector ?

muchisimas gracias

can somebody please tell where exactly have you declared all these exports, in which files?

thank you in advanced.

Leave a Response

« »

guy fawkes