vermischte Anleitungen
Hier finden sich sämtliche Informationen, Anregungen und Umsetzungsbeschreibungen von verschiedenen Dingen, die noch in keine andere Kategorie passen. Auch hier gilt: es kommt hin, was mich zu längeren Nachforschungen trieb, die ich fortan anderen ersparen möchte :)
Etherpad auf Debian Lenny installieren
Die Anleitung lasse ich noch online - vielleicht will sich ja wirklich jemand noch etherpad antun... ich habe inzwischen Etherpad-Lite getestet und für wesentlich einfacher zu installieren und wesentlich schlanker in der Nutzung befunden...
Etherpad steht seit einiger Zeit quelloffen zur Verfügung und kann somit auf jedem beliebigen Rechner installiert werden.
Da es momentan allerdings noch nicht im Repo der großen Distributionen angelangt ist, gestaltet sich diese Installation oft schwieriger als gewünscht.
Es gibt ein paar Tutorials, die allerdings immer mal ein paar Schritte auslassen.
Auch diese Anleitung wird nicht vollständig sein können, aber hat zumindest mir zur Installation von Etherpad geholfen. ;-)
Zunächst muss man bei Debian Lenny vorerst die Sid-Quellen in die apt-sourcen eintragen.
Dazu ersetzt man in der Zeile der /etc/apt/sources.list , wo http://ftp.de.debian.org/debian lenny main non-free steht durch
deb http://ftp.de.debian.org/debian sid main non-free
und führt
apt-get update apt-get install sun-java6-jdk
aus.
Die Ausgabe von
java -version
sollte nun java version 1.6.0_22 oder höher ausgeben. Ist dies nicht der Fall (wird beispielsweise gij angezeigt), muss man mit folgendem Befehl das eben installierte java von sun als standard-ausführungsdatei für den befehl java einstellen.
update-alternatives --config java
Anschließend braucht man noch scala, den mysql-server, libmysql-java und mercurial:
apt-get install scala mysql-server libmysql-java mercurial
Nun müssen noch einige Anpassungen in /etc/profile getätigt werden. Dazu werden folgende Zeilen hinzugefügt, so sie nicht schon vorhanden sind:
export PATH export JAVA_HOME="/usr/lib/jvm/java-6-sun" export SCALA_HOME="/usr/share/java" export JAVA="/usr/bin/java" export SCALA="/usr/bin/scala" export PATH="/usr/bin:/usr/bin:/usr/local/mysql/bin:$PATH" export MYSQL_CONNECTOR_JAR="/usr/share/java/mysql-connector-java-5.1.10.jar" export JAVA_HOME SCALA_HOME JAVA SCALA MYSQL_CONNECTOR_JAR PATH umask 022
Nun kann etherpad heruntergeladen werden:
hg clone https://etherpad.googlecode.com/hg/ /usr/local/etherpad
Um nicht erst die Terminalsession neu zu starten, werden die Variablen von oben nun exportiert:
export JAVA_HOME="/usr/lib/jvm/java-6-sun" export SCALA_HOME="/usr/share/java" export JAVA="/usr/bin/java" export SCALA="/usr/bin/scala" export PATH="/usr/bin:/usr/bin:/usr/local/mysql/bin:$PATH" export MYSQL_CONNECTOR_JAR="/usr/share/java/mysql-connector-java-5.1.10.jar" export mysql=mysql
Nun wird die Konfigurationsdatei an die Produktivstelle kopiert:
cd /usr/local/etherpad/trunk/etherpad cp etc/etherpad.localdec-default.properties data/etherpad.local.properties vim data/etherpad.local.properties
und editiert es so, dass folgende Einstellungen überschrieben/ neu geschrieben werden:
in data/etherpad.local.properties:
devMode = false etherpad.adminPass = PASSWORT etherpad.isProduction = true etherpad.SQL_PASSWORD = PASSWORT listen = 0.0.0.0:9000
Natürlich sollten die Passworte geändert werden...
in bin/setup-mysql-db.sh:
echo "create database ${db};" | ${mysql} -u root -p echo "grant all privileges on ${db}.* to 'etherpad'@'localhost' identified by 'PASSWORT';"\ | ${mysql} -u root -p
in src/main.js:
var newurl = "http://EIGENE_DOMAIN.de"+request.path;
in /src/templates/pro/admin/admin-template.ejs:
<div class="fpcontent"> <table id="admin-layout-table"> <tr> <% if (validLicense) { %> <-- Zeile entfernen!!! <td width="1%" id="admin-leftnav"> <%= renderAdminLeftNav() %> </td> <% } %> <-- Zeile entfernen!!! <td width="99%" id="admin-right"> <%= getAdminContent() %> </td>
in /src/templates/framed/framedheader-pro.ejs:
<div id="pro-topnav"> <div id="pro-topnav-inner"> <% if (validLicense && account) { %> <-- Zeile entfernen!!! <%= renderProTopNav() %> <%= helpers.clearFloats() %> <% } %> <-- Zeile entfernen!!! </div> </div>
in /src/static/crossdomain.xml:
<allow-access-from domain="*.tokbox.com" to-ports="*"/> <-- Zeile entfernen!!! <allow-access-from domain="tokbox.com" to-ports="*"/> <-- Zeile entfernen!!! <allow-access-from domain="*.EIGENE_DOMAIN.de" to-ports="*"/> <allow-access-from domain="EIGENE_DOMAIN.de" to-ports="*"/>
in /src/etherpad/pro/pro_utils.js:
function getEmailFromAddr() { var fromDomain = 'EIGENE_DOMAIN.de'; <-- anpassen if (pne_utils.isPNE()) {
in /src/etherpad/globals.js:
var SUPERDOMAINS = { 'localbox.info': true, <-- Zeile entfernen!!! 'localhost': true, 'EIGENE_DOMAIN.de': true <-- anpassen!!! };
in /src/etherpad/control/pro/pro_main_control.js:
// evalExpDate: licensing.getLicense().expiresDate, <-- auskommentieren!!!
Das Etherpad-System ist nun fertig zur Installation durch:
./bin/setup-mysql-db.sh
und kann mit
bin/run-local.sh
gestartet werden.
Nun sollte das System lauffähig unter Port 9000 auf das Erstellen von Pads warten.
Wenn das noch nicht der Fall seien sollte und derselbe Fehler auftritt, wie bei mir: 2: Collab operation rejected due to missing value, case 13, so sollte man in /src/etherpad/sessions.js folgende Änderungen vornehmen:
return "." + d; <= austauschen gegen => return undefined;
Anschließend das System nochmal starten und hoffen, dass alles nun funktioniert (so wie bei mir) ;-)