Etherpad

Revision 7 as of 2009-12-20 13:59:58

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

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