etherpad

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)

5 Comments

  1. 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 :)

    Respon
  2. 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

    Respon
  3. 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.

    Respon

Deixa un comentari

L'adreça electrònica no es publicarà. Els camps necessaris estan marcats amb *

Aquest lloc utilitza Akismet per reduir els comentaris brossa. Apreneu com es processen les dades dels comentaris.