Etherpad Lite
Etherpad Lite ist eine Webapplikation, mit der man im Team formatierte Texte in einem Browser erstellen und bearbeiten kann. Zusätzlich steht eine Chat-Funktion zur Verfügung.
Weblinks
Installation
Genau wie auf der Etherpad Lite Homepage beschrieben. Zusätzlich sollten folgende Schritte erfolgen, die auch auf der Homepage beschrieben sind:
- MySQL-Integration
- Boot-Script Integration
- Betrieb hinter einem Apache Reverse Proxy (um Pads in die eigene Homepage zu integrieren)
Bei Update von Node, sollte bin/run.sh wiederholt werden, um die Node Module zu erneuern.
Konfiguration
Im folgenden sind die wichtigsten (geänderten) Konfigurationsparameter für den Betrieb unter openSUSE beschrieben.
MySQL
Einstellungen zur MySQL-Integration in settings.json:
"dbType" : "mysql", "dbSettings" : { "user" : "xxxx", "host" : "localhost", "password": "yyyy", "database": "etherpad_lite" }, "abiword" : "/usr/bin/abiword",
Boot-Script
Boot-Script /etc/init.d/etherpad-lite:
#! /bin/sh
#
# Author: Ralf Kruedewagen
#
# /etc/init.d/etherpad-lite
# and its symbolic link
# /usr/sbin/rcetherpad-lite
#
# System startup script for the router advertisement daemon
#
### BEGIN INIT INFO
# Provides: etherpad-lite
# Required-Start: $local_fs $remote_fs $network $syslog
# Required-Stop: $local_fs $remote_fs $network $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: starts etherpad lite
# Description: starts etherpad lite using start_daemon
### END INIT INFO
PATH="/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin"
LOGFILE="/var/log/etherpad-lite/etherpad-lite.log"
EPLITE_DIR="/opt/etherpad-lite/etherpad-lite"
EPLITE_BIN="bin/safeRun.sh"
USER="etherpad-lite"
GROUP="etherpad-lite"
DESC="Etherpad Lite"
NAME="etherpad-lite"
EPLITE_PIDDIR=/var/run/etherpad-lite
EPLITE_PIDFILE=$EPLITE_PIDDIR/etherpad-lite.pid
. /etc/rc.status
rc_reset
case "$1" in
start)
echo -n "Starting $NAME"
test -d $EPLITE_PIDDIR || install -d -m 755 -o etherpad-lite $EPLITE_PIDDIR
# run script is not a daemon, so send it to background
start_daemon -u $USER -g $GROUP -p $EPLITE_PIDFILE $EPLITE_DIR/$EPLITE_BIN $LOGFILE &
rc_status -v
;;
stop)
echo -n "Shutting down $NAME"
#killproc -p $EPLITE_PIDFILE -TERM $EPLITE_BIN
killall -u $USER safeRun.sh
killall -u $USER node
rc_status -v
;;
try-restart)
$0 stop && $0 start
rc_status
;;
restart)
$0 stop
$0 start
rc_status
;;
status)
echo -n "Checking for $NAME: "
checkproc $EPLITE_DIR/$EPLITE_BIN
rc_status -v
;;
*)
echo "Usage: $0 {start|stop|status|restart}"
exit 1
;;
esac
rc_exit
Hinweise zum Boot-Script:
- Das Script ist recht rudimentär und verbesserungswürdig. Getestet wurde es unter openSUSE 13.1.
- Bei start_daemon muss das Etherpad safeRun.sh Script mit "&" in den Hintergrund geschickt werden. Es wird dabei keine PID angelegt.
- Das Stoppen des Dienstes geschieht daher recht brutal ohne Auswertung der PID. Achtung bei Betrieb mehrerer Etherpad Lite Instanzen!
- Das Script basiert auf dem Script für radvd und ist systemd-kompatibel.
- Ich habe Hinweise erhalten, dass für eine korrekte Funktionsweise unter openSUSE 12.3 das Kommando "
rc_reset
" entfernt werden muss.
Einstellungen in bin/safeRun.sh:
EMAIL_ADDRESS="webmaster@xxx.yy"
Apache Reverse Proxy
Da ich Etherpad Lite nicht explizit in einem eigenen Virtual Host laufen lassen wollte (sprich unter einem eigenen FQDN Namen), sondern in meine normale Homepage eingebettet, habe ich die Beispiel-Konfiguration auf der Etherpad Lite wie folgt angepasst.
Apache Module laden in /etc/sysconfig/apache2:
APACHE_MODULES="... proxy proxy_http"
Apache Reverse Proxy aktivieren in /etc/apache2/conf.d/etherpad-lite.conf:
<IfModule mod_proxy.c>
ProxyRequests Off
ProxyPreserveHost On
ProxyVia On
#RewriteRule muss in Virtual Host gesetzt werden
# / am Ende ist entscheidend fuer rev proxy
<Location "/pad/">
ProxyPass http://127.0.0.1:9001/
ProxyPassReverse http://127.0.0.1:9001/
</Location>
<Proxy *>
Options FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Proxy>
</IfModule>
In allen gewünschten Virtual Hosts sollte nun eine Rewrite-Regel erstellt werden, damit die URL zu Etherpad Lite immer mit einem "/" endet. Ohne "/" am Ende greift und funktioniert der Reverse Proxy nicht.
RewriteEngine On
RewriteRule ^/pad$ /pad/ [R]
Siehe auch: