X-Git-Url: https://git.rohieb.name/stratum0-wiki.git/blobdiff_plain/f05415d34c58b2fc224dabcfb300ad6da5b4b6ce..52327c1c5d0de25c49fa0f7cbf046e2b6c2fc87c:/Gapadriel.mw?ds=sidebyside diff --git a/Gapadriel.mw b/Gapadriel.mw index 259087e53..77868cad3 100644 --- a/Gapadriel.mw +++ b/Gapadriel.mw @@ -1,16 +1,141 @@ {{Hardware -|kontakt=[[Benutzer:Daniel Bohrer|Daniel Bohrer]] +|kontakt=[[Benutzer:Kasalehlia|Kasalehlia]], [[Benutzer:Daniel Bohrer|Daniel Bohrer]] |status=working |ort=[[endor]] -|beschreibung=VM für Etherpad +|beschreibung=VM für [[Etherpad]] |links=https://pad.stratum0.org }} +== SSH-Keys == + -----BEGIN PGP SIGNED MESSAGE----- + Hash: SHA512 + + $ for i in /etc/ssh/ssh_host_*.pub; do ssh-keygen -lf $i; done + 1024 59:75:2b:98:88:d7:a0:ed:62:54:c4:78:07:2b:0c:3f /etc/ssh/ssh_host_dsa_key.pub (DSA) + 256 25:95:d4:0b:eb:67:fc:7e:b1:4a:eb:59:dc:f1:0a:b0 /etc/ssh/ssh_host_ecdsa_key.pub (ECDSA) + 256 80:60:fb:21:d3:e1:2d:12:53:83:e8:bc:cb:9a:2b:17 /etc/ssh/ssh_host_ed25519_key.pub (ED25519) + 2048 4d:e6:78:d4:9c:21:c4:da:ae:7f:b0:ba:60:b6:96:51 /etc/ssh/ssh_host_rsa_key.pub (RSA) + + -----BEGIN PGP SIGNATURE----- + Version: GnuPG v1 + + iQEcBAEBCgAGBQJVXhO2AAoJEMOZylE6vjlS+Q0H/3uXhm9edAb14iLA4KVm54Cn + 7raApgCyAxX7OdDffRr41N9tT2BJobmYLFx9tla7EekE2lijCSF4YGDDXdamH2nT + TxCSIl9711W8BZA+zVg/u7UKcL20HenqzQRW2VSz+u7580uIQ8oJ8SWTtfWbcNdj + YswKrESRxd6NrIbEHTpzhYe2yQ/DTlRwLituN1F5VwMon5xjQHRHllBH55re5oTo + NgXxJ1LcpbkqlvJ7fy1qnx22gtAqt8Z7p8ZaL7G9Bh/gW6v6WV0RqG7+1uQIbASR + /MSoOVKGnxrFUgfOCRxv5dI/f14KcY6Z78eZ/AY945zRLa+fqAW7BtL6bBsgQy0= + =nmaB + -----END PGP SIGNATURE----- + == Doku == -Etherpad-Lite liegt als Git-Repo in /var/lib/etherpad/etherpad-lite, wird aus /etc/init.d/etherpad-lite als User etherpad gestartet. Updates bitte per sudo git checkout release/$version. +* Debian jessie, systemd +* 1 GB RAM mit Option bis 2 GB +* 8 GB Platte +* 4 CPU-Kerne +* Netzwerk intern, per DHCP +* HTTP kommt über [[gandolf]] als (SSL-)Proxy + +=== Node.js / npm === + +Debian hat kein npm mehr. Etherpad braucht npm. (Keine schöne, aber eine) Lösung: [https://nodejs.org/en/download/package-manager/#debian-and-ubuntu-based-linux-distributions] + + sudo apt install apt-transport-https + NODEREPO="node_10.x" + DISTRO=$(lsb_release -c -s) + echo "deb https://deb.nodesource.com/${NODEREPO} ${DISTRO} main" | sudo tee -a /etc/apt/sources.list.d/nodesource.list + wget https://deb.nodesource.com/gpgkey/nodesource.gpg.key + sudo apt-key add nodesource.gpg.key + sudo apt update + sudo apt install nodejs # bringt npm mit + +=== Etherpad === +Etherpad-Lite liegt als Git-Repo in /var/lib/etherpad/etherpad-lite, wird aus [https://stratum0.org/wiki/Gapadriel/etherpad-service?action=raw /etc/systemd/system/etherpad.service] als User etherpad gestartet und loggt nach /var/log/syslog. + +Einige Änderungen sind als Commits im Branch deploy eingepflegt. Diese beim Update bitte rebasen. + +MySQL als Datenbank, siehe /var/lib/etherpad/etherpad-lite/settings.json. + +Etherpad-Updates etc. bitte per sudo, nicht sudo -u etherpad. Aus Sicherheitsgründen soll der etherpad-Benutzer möglichst wenig irgendwohin schreiben können. + +==== Update ==== + cd /var/lib/etherpad/etherpad-lite + sudo git fetch + sudo systemctl stop etherpad.service + sudo git rebase -i $version + sudo bin/installDeps.sh # und dann warten. + # falls wd failt: (siehe https://github.com/admc/wd/issues/483#issuecomment-410725658 ) + # sudo npm install --unsafe-perm wd + # sudo bin/installDeps.sh # und dann warten. + + sudo chmod go-w . + sudo chown root:etherpad . + sudo chmod g+rw -R var/ # CSS minified cache muss schreibbar sein + sudo chown etherpad:etherpad -R var/ + sudo chmod g+r -R settings.json # config muss lesbar sein + sudo chown root:etherpad settings.json + + # damit etherpad Plugins initialisieren und ep_$module/.ep_initialized anlegen kann -.- + sudo chmod g+w node_modules/ep_* + + sudo systemctl start etherpad.service + sudo chmod g-w node_modules/ep_* + +==== Plugins installieren ==== +Admin-Login auf der Weboberfläche funktioniert zwar lesend, aber kann halt keine Packages installieren, weil der etherpad-User in node_modules/ nicht schreiben soll. Stattdessen: + + cd /var/lib/etherpad/etherpad-lite + sudo npm install ep_$plugin + # damit etherpad beim restart eine node_modules/ep_$plugin/.ep-initialized anlegen kann: -.- + sudo chown etherpad node_modules/ep_$plugin + sudo systemctl restart etherpad.service + sudo chown -R root:root node_modules/ep_$plugin + +==== Sonstiges ==== +* /var/lib/etherpad/etherpad-lite/var/ muss für die Gruppe etherpad schreibbar sein, dort werden beim Start des Dienstes die minifizierten CSS/JS-Files abgelegt. + +==== Installierte Plugins ==== + for module in \ + ep_ether-o-meter \ + ep_headings2 \ + ep_infopanel \ + ep_latexexport \ + ep_markdown \ + ep_pad_activity_nofication_in_title \ + ep_scrollto \ + ep_subscript \ + ep_superscript \ + ep_table_of_contents \ + ep_mediawiki \ + https://gitli.stratum0.org/rohieb/ep_hide_referrer/-/archive/feature/auto-redirect/ep_hide_referrer-feature-auto-redirect.tar.gz \ + https://gitli.stratum0.org/stratum0/ep_stratum_faqlink/-/archive/master/ep_stratum_faqlink-master.tar.gz \ + https://gitli.stratum0.org/kasalehlia/ep_stratum0_blogpreview/-/archive/master/ep_stratum0_blogpreview-master.tar.gz \ + ; do + sudo npm i $module + done + # Abhängigkeit von ep_headings, kann aber danach wieder gelöscht werden, ep_headings2 ist ausreichend: + sudo rm -rf node_modules/ep_headings -== Log== -* apt-get install npm, curl, git clone etherpad. ln -s /usr/bin/nodejs /usr/bin/node --[[Benutzer:Daniel Bohrer|Daniel Bohrer]] 17:32, 21. Mai 2015 (CEST) +== Log == +* Update auf etherpad-lite 1.6.5, deploy-Branch angelegt und [https://github.com/ether/etherpad-lite/pull/3280 font-size-Änderungen] revertet --[[Benutzer:Daniel Bohrer|Daniel Bohrer]] 23:16, 11. Apr. 2018 (CEST) +* Update etherpad 1.6.1, ep_hide_referrer 0.0.13 + autoredirect --[[Benutzer:Daniel Bohrer|Daniel Bohrer]] 03:38, 21. Mär. 2017 (CET) +* Update ep_hide_referrer, fix URL detection: [https://github.com/JohnMcLear/ep_hide_referrer/pull/16/files] +* Update auf Etherpad-Lite v1.5.7 --[[Benutzer:Daniel Bohrer|Daniel Bohrer]] 00:35, 29. Jan. 2016 (CET) +* Unicode-Issues behoben, die den Server abstürzen ließen: [https://github.com/ether/etherpad-lite/issues/2516#issuecomment-79659984], [https://github.com/ether/etherpad-lite/pull/2862/files] --[[Benutzer:Daniel Bohrer|Daniel Bohrer]] 00:34, 29. Jan. 2016 (CET) +* Update auf Debian 8.3 --[[Benutzer:Daniel Bohrer|Daniel Bohrer]] 22:27, 25. Jan. 2016 (CET) +* Restart=always in /etc/systemd/system/etherpad.service gesetzt, das stirbt gern mal mit errors. --[[Benutzer:Daniel Bohrer|Daniel Bohrer]] 04:24, 9. Sep. 2015 (CEST) +* Datenbankmigration vom alten Pad-Server erfolgreich. --[[Benutzer:Daniel Bohrer|Daniel Bohrer]] 03:58, 2. Aug. 2015 (CEST) +* unattended-upgrades eingerichtet, erstmal nur aus debian-security. siehe /etc/apt/apt.conf.d/02.periodic und /etc/cron.daily/apt für Doku --[[Benutzer:Daniel Bohrer|Daniel Bohrer]] 01:32, 23. Mai 2015 (CEST) +* Hardware: -CDROM, -Tablet, -3 USB Redirectors, -Sound, RAM auf 1024-2048 MB festgelegt. --[[Benutzer:Daniel Bohrer|Daniel Bohrer]] 00:09, 22. Mai 2015 (CEST) +* initial install: --[[Benutzer:Daniel Bohrer|Daniel Bohrer]] 23:48, 21. Mai 2015 (CEST) +** apt-get install npm curl nodejs-legacy (letzters für Symlink /usr/bin/node -> nodejs) +** überflüssige Pakete entfernt: eject, m4, nfs-common, rpcbind, laptop-detect, procmail, mutt, tasksel, [wi]{american,british}, ungenutze Libs und ungenutzte automatisch installierte Pakete +*** pinentry-gtk2 -> pinentry-curses, vim-tiny -> vim-runtime +** git clone etherpad, checkout releases/1.5.6 +** einmal sudo bin/run.sh, um Abhängigkeiten zu installieren +** chgrp etherpad, chmod g+rwxs /var/lib/etherpad/etherpad-lite/var/ +** Plugins per npm installiert +** systemd-Unit-File für etherpad geschrieben und unter /etc/systemd/system abgelegt * System aufgesetzt von [[Benutzer:shoragan|shoragan]], 21. Mai 2015 (CEST) [[Kategorie:Virtuelle Maschine]]