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)
Hi,
I just spotted your comment on my Etherpad instructions. Glad to see everything working now :)
Islam
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 :)
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
hola,
lo mejor es usar debian squeeze, ya viene en los repositorios y usa openjdk ;)
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.