Gapadriel: Unterschied zwischen den Versionen

Aus Stratum 0
Wechseln zu:Navigation, Suche
(Log: Etherpad-Lite v1.5.7)
K (Log: ))
 
(19 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 2: Zeile 2:
 
|kontakt=[[Benutzer:Kasalehlia|Kasalehlia]], [[Benutzer:Daniel Bohrer|Daniel Bohrer]]
 
|kontakt=[[Benutzer:Kasalehlia|Kasalehlia]], [[Benutzer:Daniel Bohrer|Daniel Bohrer]]
 
|status=working
 
|status=working
|ort=[[endor]]
+
|ort=[[endur]]
 
|beschreibung=VM für [[Etherpad]]
 
|beschreibung=VM für [[Etherpad]]
 
|links=https://pad.stratum0.org
 
|links=https://pad.stratum0.org
Zeile 38: Zeile 38:
  
 
=== Etherpad ===
 
=== Etherpad ===
Etherpad-Lite liegt als Git-Repo in <tt>/var/lib/etherpad/etherpad-lite</tt>, wird aus <tt>[https://stratum0.org/wiki/Gapadriel/etherpad-service?action=raw /etc/systemd/system/etherpad.service]</tt> als User <tt>etherpad</tt> gestartet und loggt nach <tt>/var/log/syslog</tt>.  
+
Etherpad-Lite liegt als Git-Repo in <tt>/var/lib/etherpad/etherpad-lite</tt>, wird aus <tt>[https://stratum0.org/wiki/Gapadriel/etherpad-service?action=raw /etc/systemd/system/etherpad.service]</tt> als User <tt>etherpad</tt> gestartet und loggt nach <tt>/var/log/syslog</tt>.
 +
 
 +
Einige Änderungen sind als Commits im Branch <tt>deploy</tt> eingepflegt. Diese beim Update bitte rebasen.
  
 
MySQL als Datenbank, siehe <tt>/var/lib/etherpad/etherpad-lite/settings.json</tt>.
 
MySQL als Datenbank, siehe <tt>/var/lib/etherpad/etherpad-lite/settings.json</tt>.
Zeile 45: Zeile 47:
  
 
==== Update ====
 
==== Update ====
* <tt>systemctl stop etherpad.service</tt>
+
cd /var/lib/etherpad/etherpad-lite
* <tt>cd /var/lib/etherpad/etherpad-lite; sudo git fetch; sudo git checkout release/$version</tt>
+
sudo git fetch
* danach einmal kurz <tt>sudo bin/run.sh</tt> und Ctrl-C, um eventuelle Abhängigkeiten zu installieren
+
sudo systemctl stop etherpad.service
* <tt>systemctl start etherpad.service</tt>
+
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 ====
 
==== Plugins installieren ====
* <tt>cd /var/lib/etherpad/etherpad-lite; sudo npm install ep_$plugin</tt>.
+
Admin-Login auf der Weboberfläche funktioniert zwar lesend, aber kann halt keine Packages installieren, weil der etherpad-User in <tt>node_modules/</tt> nicht schreiben soll. Stattdessen:
* Etherpad-Service muss dazu nicht gestoppt werden
+
 
* Admin-Login auf der Weboberfläche funktioniert zwar lesend, aber kann halt keine Packages installieren, weil der etherpad-User in <tt>node_modules/</tt> nicht schreiben soll.
+
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 ====
 
==== Sonstiges ====
Zeile 59: Zeile 83:
  
 
==== Installierte Plugins ====
 
==== Installierte Plugins ====
* ep_ether-o-meter
+
for module in \
* ep_headings2
+
  ep_headings2 \
* ep_hide_referrer, aus git://git.rohieb.name/ep_hide_referrer.git
+
  ep_subscript_and_superscript \
* ep_infopanel
+
  ep_table_of_contents \
* ep_latexexport
+
  ep_pad_activity_nofication_in_title \
* ep_markdown
+
  ep_infopanel \
* ep_mediawiki
+
  ep_markdown \
** Abhängigkeit von ep_headings, kann aber danach wieder gelöscht werden, ep_headings2 ist ausreichend. <tt>sudo rm -r node_modules/ep_headings</tt>
+
  https://gitli.stratum0.org/stratum0/ep_stratum_faqlink/-/archive/master/ep_stratum_faqlink-master.tar.gz \
* ep_pad_activity_nofication_in_title [sic!]
+
  https://gitli.stratum0.org/kasalehlia/ep_stratum0_blogpreview/-/archive/master/ep_stratum0_blogpreview-master.tar.gz \
* ep_ruler
+
; do
* ep_scrollto
+
  sudo npm i $module
* ep_stratum_faqlink, aus git://git.rohieb.name/ep_stratum_faqlink.git
+
done
* ep_subscript
+
# Abhängigkeit von ep_headings, kann aber danach wieder gelöscht werden, ep_headings2 ist ausreichend:
* ep_superscript
+
sudo rm -rf node_modules/ep_headings
* ep_table_of_contents
+
# damit etherpad beim restart eine node_modules/ep_$plugin/.ep-initialized anlegen kann: -.-
* ep_stratum0_blogpreview, aus https://gitli.stratum0.org/kasalehlia/ep_stratum0_blogpreview.git
+
sudo chown etherpad node_modules/ep_*      
 +
sudo systemctl restart etherpad.service
 +
sudo chown -R root:root node_modules/ep_*
  
 
== Log ==
 
== Log ==
 +
* Update npm 5.8.0+ds6-4+deb10u2 → 7.4.0+ds-1~bpo10+2, etherpad-lite 1.6.0 → 1.8.7 mit neuem Skin. Folgende Plugins wurden entfernt:
 +
** ep_hide_referrer ([https://github.com/ether/etherpad-lite/issues/1603#issuecomment-557937329 seit 1.8.0 upstream])
 +
** ep_scrollto (jetzt [https://github.com/ether/etherpad-lite/commit/38c98271614e4ee2187bdd5fc19c0213c07b6b9f upstream])
 +
** ep_ether-o-meter (was hat es je für uns getan?)
 +
** ep_latexexport (veraltet, nicht kompatibel mit etherpad-lite 1.8.7)
 +
** ep_mediawiki (veraltet, nicht kompatibel mit etherpad-lite 1.8.7)
 +
** --[[Benutzer:Daniel Bohrer|Daniel Bohrer]] 01:31, 9. Feb. 2021 (CET)
 +
* 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 <tt>ep_hide_referrer</tt>, 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)
 
* 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)
 
* 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)

Aktuelle Version vom 9. Februar 2021, 01:33 Uhr

Gapadriel
Beschreibung: VM für Etherpad
Ort: endur
Status: working (Was heißt das?)
Kontakt: Kasalehlia, Daniel Bohrer
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

  • 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

Etherpad

Etherpad-Lite liegt als Git-Repo in /var/lib/etherpad/etherpad-lite, wird aus /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_headings2 \
  ep_subscript_and_superscript \
  ep_table_of_contents \
  ep_pad_activity_nofication_in_title \
  ep_infopanel \
  ep_markdown \
  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
# damit etherpad beim restart eine node_modules/ep_$plugin/.ep-initialized anlegen kann: -.-
sudo chown etherpad node_modules/ep_*        
sudo systemctl restart etherpad.service
sudo chown -R root:root node_modules/ep_*

Log

  • Update npm 5.8.0+ds6-4+deb10u2 → 7.4.0+ds-1~bpo10+2, etherpad-lite 1.6.0 → 1.8.7 mit neuem Skin. Folgende Plugins wurden entfernt:
    • ep_hide_referrer (seit 1.8.0 upstream)
    • ep_scrollto (jetzt upstream)
    • ep_ether-o-meter (was hat es je für uns getan?)
    • ep_latexexport (veraltet, nicht kompatibel mit etherpad-lite 1.8.7)
    • ep_mediawiki (veraltet, nicht kompatibel mit etherpad-lite 1.8.7)
    • --Daniel Bohrer 01:31, 9. Feb. 2021 (CET)
  • Update auf etherpad-lite 1.6.5, deploy-Branch angelegt und font-size-Änderungen revertet --Daniel Bohrer 23:16, 11. Apr. 2018 (CEST)
  • Update etherpad 1.6.1, ep_hide_referrer 0.0.13 + autoredirect --Daniel Bohrer 03:38, 21. Mär. 2017 (CET)
  • Update ep_hide_referrer, fix URL detection: [1]
  • Update auf Etherpad-Lite v1.5.7 --Daniel Bohrer 00:35, 29. Jan. 2016 (CET)
  • Unicode-Issues behoben, die den Server abstürzen ließen: [2], [3] --Daniel Bohrer 00:34, 29. Jan. 2016 (CET)
  • Update auf Debian 8.3 --Daniel Bohrer 22:27, 25. Jan. 2016 (CET)
  • Restart=always in /etc/systemd/system/etherpad.service gesetzt, das stirbt gern mal mit errors. --Daniel Bohrer 04:24, 9. Sep. 2015 (CEST)
  • Datenbankmigration vom alten Pad-Server erfolgreich. --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 --Daniel Bohrer 01:32, 23. Mai 2015 (CEST)
  • Hardware: -CDROM, -Tablet, -3 USB Redirectors, -Sound, RAM auf 1024-2048 MB festgelegt. --Daniel Bohrer 00:09, 22. Mai 2015 (CEST)
  • initial install: --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 shoragan, 21. Mai 2015 (CEST)