Beschreibung der Installation unter Ubuntu Karmix Koala (9.10). Für die Installation ist es notwendig mit root-Rechten zu arbeiten. Je nach Konfiguration des Systems, kann man sich als root einloggen oder setzt als „normaler Benutzer“ den Befehl sudo su in einem Terminal ab.
Mit diesen Kommandos wird der Account unter dem etherpad laufen wird angelegt und das Heimatverzeichnis (/opt/etherpad) erstellt.
groupadd etherpad useradd -c "Account fuer etherpad" -d /opt/etherpad -g etherpad -G www-data -m etherpad passwd -l etherpad
PADDIR="/opt/etherpad" export JAVA_HOME="/usr/lib/jvm/java-6-sun" export JAVA="$JAVA_HOME/bin/java" export SCALA_HOME="$PADDIR/scala-2.7.7.final" export SCALA="$SCALA_HOME/bin/scala" export PATH="$JAVA_HOME/bin:$SCALA_HOME/bin:$PATH" export MYSQL_CONNECTOR_JAR="$PADDIR/mysql-connector-java-5.1.10/mysql-connector-java-5.1.10-bin.jar"
apt-get install sun-java6-jdk mysql-server mysql-client mercurial
su - etherpad wget http://ftp.plusline.de/mysql/Downloads/Connector-J/mysql-connector-java-5.1.10.tar.gz tar -zxf mysql-connector-java-5.1.10.tar.gz wget http://www.scala-lang.org/downloads/distrib/files/scala-2.7.7.final.tgz tar -zxf scala-2.7.7.final.tgz
hg clone https://etherpad.googlecode.com/hg/ etherpad-trunk
cd etherpad-trunk/trunk/etherpad ./bin/rebuildjar.sh
mysqladmin -u root -p create etherpad mysql -u root -p
GRANT ALL PRIVILEGES ON etherpad.* TO 'etherpad'@'localhost' IDENTIFIED BY 'secret' WITH GRANT OPTION;
cp etc/etherpad.localdev-default.properties data/etherpad.local.properties vi data/etherpad.local.properties
ajstdlibHome = ../infrastructure/framework-src/modules appjetHome = ./data/appjet devMode = true etherpad.adminPass = admin_secret etherpad.fakeProduction = false etherpad.isProduction = false etherpad.SQL_JDBC_DRIVER = com.mysql.jdbc.Driver etherpad.SQL_JDBC_URL = jdbc:mysql://localhost:3306/etherpad etherpad.SQL_PASSWORD = secret etherpad.SQL_USERNAME = etherpad listen = your.ip.add.ress:9000 logDir = ./data/logs modulePath = ./src transportPrefix = /comet transportUseWildcardSubdomains = true useVirtualFileRoot = ./src
vi src/etherpad/globals.js
var SUPERDOMAINS = { 'domain.tld': true, 'localhost': true, };
./bin/run-local.sh
http://your.ip.add.ress:9000
Wenn Etherpad ohne Angabe eines Ports in der URL aufgerufen werden soll, ist es notwendig Etherpad so zu konfigurieren, dass es Port 80 verwendet. Dies ist allerdings nur möglich, wenn eine IP-Adresse exklusiv für Etherpad zur Verfügung steht. Alternativ kann Apache als reverse-proxy eingesetzt werden, der Port 80 verwendet und die Anfragen an den Port weiterleitet, für den Etherpad konfiguriert wurde.
In diesem konkreten Beispiel wird Etherpad so konfiguriert, dass es auf Port 9000 an localhost (127.0.0.1) aktiv ist und der Webserver die Anfragen aus dem Netz dorthin umleitet. Das geschieht ohne, dass die Benutzer bemerken, an welcher IP und welchem Port Etherpad tatsächlich aktiv ist.
vi data/etherpad.local.properties
ajstdlibHome = ../infrastructure/framework-src/modules appjetHome = ./data/appjet devMode = true etherpad.adminPass = admin_secret etherpad.fakeProduction = false etherpad.isProduction = false etherpad.SQL_JDBC_DRIVER = com.mysql.jdbc.Driver etherpad.SQL_JDBC_URL = jdbc:mysql://localhost:3306/etherpad etherpad.SQL_PASSWORD = secret etherpad.SQL_USERNAME = etherpad listen = 127.0.0.1:9000 logDir = ./data/logs modulePath = ./src transportPrefix = /comet transportUseWildcardSubdomains = true useVirtualFileRoot = ./src
vi src/etherpad/globals.js
var SUPERDOMAINS = { 'host.domain.tld': true, 'localhost': true, };
Um Apache als reverse-proxy einsetzen zu können müssen die Module mod_proxy und proxy_http aktiviert werden. Bei Debian bzw. Ubuntu sind diese Befehle notwendig:
sudo a2enmod mod_proxy sudo a2enmod proxy_http
Die Apache-Konfiguration für den virtuellen Host, sieht dann so aus:
<VirtualHost your.ip.add.ress:80>
ServerName host.domain.tld
ServerAdmin [email protected]
ErrorLog /srv/host.domain.tld/logs/error.log
CustomLog /srv/host.domain.tld/logs/access.log combined
ProxyRequests Off
ProxyPass / http://localhost:9000/
ProxyPassReverse / http://localhost:9000/
ProxyPreserveHost on
<Proxy *>
Options FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
Allow from all
</Proxy>
ServerSignature Off
</VirtualHost>