Benutzer-Werkzeuge

Webseiten-Werkzeuge


etherpad

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
etherpad [19.06.2017 17:13] thoogeetherpad [07.04.2020 15:38] (aktuell) – [Etherpad aufsetzen] thooge
Zeile 6: Zeile 6:
 Voraussetzungen Voraussetzungen
 <code> <code>
-apt-get install nodejs nodejs-legacy npm+apt-get install nodejs nodejs-legacy npm curl
 </code> </code>
  
Zeile 19: Zeile 19:
 <code bash> <code bash>
 cd /var/www cd /var/www
-wget https://github.com/ether/etherpad-lite/archive/1.6.1.zip +wget https://github.com/ether/etherpad-lite/archive/1.8.0.zip 
-unzip 1.6.1.zip +unzip 1.8.0.zip 
-rm 1.6.1.zip +rm 1.8.0.zip 
-ln -s etherpad-lite-1.6.etherpad +ln -s etherpad-lite-1.8.etherpad 
-chown -R etherpad etherpad-lite-1.6.1+chown -R etherpad etherpad-lite-1.8.0
 </code> </code>
  
Zeile 29: Zeile 29:
   * die Datenbank soll "etherpad" heißen   * die Datenbank soll "etherpad" heißen
   * der Datenbankbenutzer soll ebenfalls "etherpad" heißen   * der Datenbankbenutzer soll ebenfalls "etherpad" heißen
-  * gutes kennwort für den Benutzer ausdenken. Das dieses lediglich in der Konfiguration eingetragen wird, spricht nichts gegen ein langes, komplexes Kennwort+  * gutes [[Kennwort]] für den Benutzer ausdenken. Das dieses lediglich in der Konfiguration eingetragen wird, spricht nichts gegen ein langes, komplexes Kennwort
  
 <code sql> <code sql>
Zeile 38: Zeile 38:
 > exit > exit
 </code> </code>
 +
 +Kennwort ändern im Fehlerfall
 +  SET PASSWORD FOR 'etherpad'@'localhost' = PASSWORD('new-password-here');
 +  FLUSH PRIVILEGES;
  
 Konfiguration Konfiguration
Zeile 44: Zeile 48:
 cd etherpad cd etherpad
 cp settings.json.template settings.json cp settings.json.template settings.json
 +chown etherpad settings.json
 </code> </code>
  
Zeile 70: Zeile 75:
 </file> </file>
  
-//Oprional:// Proxy konfigurieren, falls Etherpad hinter einem Proxy eingerichtet wird+//Optional:// Proxy konfigurieren, falls Etherpad hinter einem Proxy eingerichtet wird
 <code> <code>
 npm config set proxy http://"user:pass"@proxy.example.com:3128 npm config set proxy http://"user:pass"@proxy.example.com:3128
Zeile 76: Zeile 81:
 </code> </code>
  
-Starten+Starten, das funktioniert nur, wenn der oben angelegte Benutzer einen Shell-Zugang hat. 
 +Mit dem Eintrag ''/bin/false'' geht es **nicht**!
 <code bash> <code bash>
 cd /var/www/etherpad cd /var/www/etherpad
Zeile 82: Zeile 88:
 </code> </code>
  
 +Im Produktivbetrieb sollte das Pad hinter einem echten Webserver betrieben werden,
 +wie z.B. Nginx oder Apache. Dieser muß als Reverse-Proxy konfiguriert werden. Für
 +Nginx z.B.:
 +<code>
 +server {
 +    listen       80;
 +    server_name  pad.example.com;
 +    root html;
 +    index index.html index.htm;
 +    location = / {
 +        proxy_set_header X-Real-IP $remote_addr;
 +        proxy_set_header X-Forwarded-For $remote_addr;
 +        proxy_set_header Host $host;
 +        proxy_pass http://127.0.0.1:9001;
 +    }
 +}
 +</code>
 +
 +===== Init-Script =====
 +
 +++++ SysV-Initscript |
 +
 +<file bash /etc/init.d/etherpad-lite>
 +#!/bin/sh
 +
 +### 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-stop-daemon
 +### END INIT INFO
 +
 +PATH="/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/opt/node/bin"
 +LOGFILE="/var/log/etherpad-lite.log"
 +EPLITE_DIR="/var/www/etherpad-lite"
 +EPLITE_BIN="bin/safeRun.sh"
 +USER="etherpad"
 +GROUP="etherpad"
 +DESC="Etherpad Lite"
 +NAME="etherpad-lite"
 +
 +# Exit if the package is not installed
 +[ -x $EPLITE_DIR/$EPLITE_BIN ] || exit 0
 +
 +# Define LSB log_* functions
 +. /lib/lsb/init-functions
 +
 +# Create logfile with proper user if not exists
 +if [ ! -e $LOGFILE ]; then
 +    touch $LOGFILE
 +    chmod 660 $LOGFILE
 +    chgrp $GROUP $LOGFILE
 +fi
 +
 +do_start() {
 +    start-stop-daemon --start --chuid "$USER:$GROUP" --background --make-pidfile --pidfile /var/run/$NAME.pid --exec $EPLITE_DIR/$EPLITE_BIN -- $LOGFILE || true
 +}
 +
 +#We need this function to ensure the whole process tree will be killed
 +killtree() {
 +    local _pid=$1
 +    local _sig=${2-TERM}
 +    for _child in $(ps -o pid --no-headers --ppid ${_pid}); do
 +        killtree ${_child} ${_sig}
 +    done
 +    kill -${_sig} ${_pid}
 +}
 +
 +do_stop() {
 +    if [ ! -f /var/run/$NAME.pid ]; then
 +        log_progress_msg "Process not found..."
 +        return 2
 +    fi
 +    while test -d /proc/$(cat /var/run/$NAME.pid); do
 +         killtree $(cat /var/run/$NAME.pid) 15
 +         sleep 0.5
 +    done
 +    rm /var/run/$NAME.pid
 +}
 +
 +do_restart() {
 +    log_progress_msg "stopping..."
 +    do_stop
 +    if [ $? -eq "2" ]; then
 +        return 2
 +    fi
 +    sleep 1
 +    log_progress_msg "starting..."
 +    do_start
 +}
 +
 +status() {
 +    status_of_proc -p /var/run/$NAME.pid "" "etherpad-lite" && exit 0 || exit $?
 +}
 +
 +case "$1" in
 +  start)
 +      log_daemon_msg "Starting $DESC" "$NAME"
 +      do_start
 +      case "$?" in
 +          0|1) log_end_msg 0 ;;
 +          2) log_end_msg 1 ;;
 +      esac
 +      ;;
 +  stop)
 +      log_daemon_msg "Stopping $DESC" "$NAME"
 +      do_stop
 +      case "$?" in
 +          0|1) log_end_msg 0 ;;
 +          2) log_end_msg 1 ;;
 +      esac
 +      ;;
 +  restart)
 +      log_daemon_msg "Restarting $DESC" "$NAME"
 +      do_restart
 +      case "$?" in
 +          0|1) log_end_msg 0 ;;
 +          2) log_end_msg 1 ;;
 +      esac
 +      ;;
 +  status)
 +      status_of_proc -p /var/run/$NAME.pid "$EPLITE_DIR/$EPLITE_BIN" "$NAME" && exit 0 || exit $?
 +      ;;
 +  *)
 +      echo "Usage: $NAME {start|stop|restart|status}" >&2
 +      exit 1
 +      ;;
 +esac
 +</file>
 +++++
  
 +===== Erweiterungen (Plugins) =====
  
 +  * adminpads
 +  * font_family
 +  * font_size
 +  * headings
  
 +  * mypads (Timeslider defekt?)
  
etherpad.1497892410.txt.gz · Zuletzt geändert: 19.06.2017 17:13 von thooge

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki