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

Respon a Blackhold Cancel·la les respostes

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.