etherpad
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
| etherpad [19.06.2017 17:13] – thooge | etherpad [07.04.2020 15:38] (aktuell) – [Etherpad aufsetzen] thooge | ||
|---|---|---|---|
| Zeile 6: | Zeile 6: | ||
| Voraussetzungen | Voraussetzungen | ||
| < | < | ||
| - | apt-get install nodejs nodejs-legacy npm | + | apt-get install nodejs nodejs-legacy npm curl |
| </ | </ | ||
| Zeile 19: | Zeile 19: | ||
| <code bash> | <code bash> | ||
| cd /var/www | cd /var/www | ||
| - | wget https:// | + | wget https:// |
| - | 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.1 etherpad | + | ln -s etherpad-lite-1.8.0 etherpad |
| - | chown -R etherpad etherpad-lite-1.6.1 | + | chown -R etherpad etherpad-lite-1.8.0 |
| </ | </ | ||
| Zeile 29: | Zeile 29: | ||
| * die Datenbank soll " | * die Datenbank soll " | ||
| * der Datenbankbenutzer soll ebenfalls " | * der Datenbankbenutzer soll ebenfalls " | ||
| - | * gutes kennwort | + | * gutes [[Kennwort]] |
| <code sql> | <code sql> | ||
| Zeile 38: | Zeile 38: | ||
| > exit | > exit | ||
| </ | </ | ||
| + | |||
| + | Kennwort ändern im Fehlerfall | ||
| + | SET PASSWORD FOR ' | ||
| + | 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 | ||
| </ | </ | ||
| Zeile 70: | Zeile 75: | ||
| </ | </ | ||
| - | //Oprional:// Proxy konfigurieren, | + | //Optional:// Proxy konfigurieren, |
| < | < | ||
| npm config set proxy http://" | npm config set proxy http://" | ||
| Zeile 76: | Zeile 81: | ||
| </ | </ | ||
| - | Starten | + | Starten, das funktioniert nur, wenn der oben angelegte Benutzer einen Shell-Zugang hat. |
| + | Mit dem Eintrag ''/ | ||
| <code bash> | <code bash> | ||
| cd / | cd / | ||
| Zeile 82: | Zeile 88: | ||
| </ | </ | ||
| + | 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.: | ||
| + | < | ||
| + | server { | ||
| + | listen | ||
| + | server_name | ||
| + | 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:// | ||
| + | } | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | ===== Init-Script ===== | ||
| + | |||
| + | ++++ SysV-Initscript | | ||
| + | |||
| + | <file bash / | ||
| + | #!/bin/sh | ||
| + | |||
| + | ### BEGIN INIT INFO | ||
| + | # Provides: | ||
| + | # Required-Start: | ||
| + | # Required-Stop: | ||
| + | # Default-Start: | ||
| + | # Default-Stop: | ||
| + | # Short-Description: | ||
| + | # Description: | ||
| + | ### END INIT INFO | ||
| + | |||
| + | PATH="/ | ||
| + | LOGFILE="/ | ||
| + | EPLITE_DIR="/ | ||
| + | EPLITE_BIN=" | ||
| + | USER=" | ||
| + | GROUP=" | ||
| + | DESC=" | ||
| + | NAME=" | ||
| + | |||
| + | # Exit if the package is not installed | ||
| + | [ -x $EPLITE_DIR/ | ||
| + | |||
| + | # Define LSB log_* 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 " | ||
| + | } | ||
| + | |||
| + | #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 / | ||
| + | log_progress_msg " | ||
| + | return 2 | ||
| + | fi | ||
| + | while test -d /proc/$(cat / | ||
| + | | ||
| + | sleep 0.5 | ||
| + | done | ||
| + | rm / | ||
| + | } | ||
| + | |||
| + | do_restart() { | ||
| + | log_progress_msg " | ||
| + | do_stop | ||
| + | if [ $? -eq " | ||
| + | return 2 | ||
| + | fi | ||
| + | sleep 1 | ||
| + | log_progress_msg " | ||
| + | do_start | ||
| + | } | ||
| + | |||
| + | status() { | ||
| + | status_of_proc -p / | ||
| + | } | ||
| + | |||
| + | case " | ||
| + | start) | ||
| + | log_daemon_msg " | ||
| + | do_start | ||
| + | case " | ||
| + | 0|1) log_end_msg 0 ;; | ||
| + | 2) log_end_msg 1 ;; | ||
| + | esac | ||
| + | ;; | ||
| + | stop) | ||
| + | log_daemon_msg " | ||
| + | do_stop | ||
| + | case " | ||
| + | 0|1) log_end_msg 0 ;; | ||
| + | 2) log_end_msg 1 ;; | ||
| + | esac | ||
| + | ;; | ||
| + | restart) | ||
| + | log_daemon_msg " | ||
| + | do_restart | ||
| + | case " | ||
| + | 0|1) log_end_msg 0 ;; | ||
| + | 2) log_end_msg 1 ;; | ||
| + | esac | ||
| + | ;; | ||
| + | status) | ||
| + | status_of_proc -p / | ||
| + | ;; | ||
| + | *) | ||
| + | echo " | ||
| + | exit 1 | ||
| + | ;; | ||
| + | esac | ||
| + | </ | ||
| + | ++++ | ||
| + | ===== Erweiterungen (Plugins) ===== | ||
| + | * adminpads | ||
| + | * font_family | ||
| + | * font_size | ||
| + | * headings | ||
| + | * mypads (Timeslider defekt?) | ||
etherpad.1497892410.txt.gz · Zuletzt geändert: von thooge
