Etherpad

Revision 8 as of 2009-12-20 18:54:20

Clear message

Install packages

Install pre-requisite packages for getting and building Etherpad.

sudo apt-get install sun-java6-jdk scala mysql-server mysql-client libmysql-java mercurial

Etherpad will not build or run with openjdk-6-jdk or openjdk-6-jre. It also is best to use Sun's jar since fastjar seems to have some issues.

Get Etherpad code

There are no releases of Etherpad at the moment, so we grab directly from mercurial.

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

You will need to patch the etherpad code to build on Ubuntu:

diff -r 81287c8af1ac trunk/infrastructure/bin/makejar.sh
--- a/trunk/infrastructure/bin/makejar.sh       Fri Dec 18 18:44:23 2009 +1100
+++ b/trunk/infrastructure/bin/makejar.sh       Sat Dec 19 09:50:05 2009 -0500
@@ -32,11 +32,11 @@
 
 TMPSTORE=/tmp/ajbuild-tmpstore-`date +%s`
 
-JARFILES=`echo $SCALA_HOME/lib/scala-library.jar lib/*.jar lib/manifest`
+JARFILES=`echo $SCALA_HOME/scala-library.jar lib/*.jar lib/manifest`
 function genjar {
     echo "unzipping JARs..."
     pushd $1 >> /dev/null
-    $JAR xf $SCALA_HOME/lib/scala-library.jar
+    $JAR xf $SCALA_HOME/scala-library.jar
     rm -rf META-INF
     for a in ../../lib/*.jar; do
        $JAR xf $a

Be sure to add you domain to the list of SUPERDOMAINs:

diff -r 81287c8af1ac trunk/etherpad/src/etherpad/globals.js
--- a/trunk/etherpad/src/etherpad/globals.js    Fri Dec 18 18:44:23 2009 +1100
+++ b/trunk/etherpad/src/etherpad/globals.js    Sat Dec 19 09:50:05 2009 -0500
@@ -29,6 +29,8 @@
 var SUPERDOMAINS = {
   'localbox.info': true,
   'localhost': true,
+  'yourdomain.com': true,
+  'yourdomain.org': true,
   'etherpad.com': true
 };

Configure Environment

$ export JAVA_HOME=/usr/lib/jvm/java-6-sun/
$ export SCALA_HOME=/usr/share/java
$ export MYSQL_CONNECTOR_JAR=/usr/share/java/mysql-connector-java.jar

Configure MySQL

Set the variable "mysql" in the db setup script, to the name of your mysql client executable.

diff -r 81287c8af1ac -r 5ea3ba9d10f7 trunk/etherpad/bin/setup-mysql-db.sh
--- a/trunk/etherpad/bin/setup-mysql-db.sh      Fri Dec 18 18:44:23 2009 +1100
+++ b/trunk/etherpad/bin/setup-mysql-db.sh      Sun Dec 20 15:53:08 2009 +0530
@@ -19,6 +19,7 @@
   exit 1
 fi
 
+mysql="mysql"
 db="etherpad"
 
 echo "Creating etherpad ${db}..."

Run the db setup script.

$ cd trunk/etherpad
$ bin/setup-mysql-db.sh

Compiling Etherpad

From trunk/etherpad:

$ bin/rebuildjar.sh

Running Etherpad

$ bin/run-local.sh