1 Termine ins Archiv verschoben
[stratum0-wiki.git] / Gapadriel.mw
index d22b1b6..77868ca 100644 (file)
 * 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 <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>.
 
 Etherpad-Updates etc. bitte per <tt>sudo</tt>, nicht <tt>sudo -u etherpad</tt>. Aus Sicherheitsgründen soll der etherpad-Benutzer möglichst wenig irgendwohin schreiben können.
 
 ==== Update ====
-* <tt>systemctl stop etherpad.service</tt>
-* <tt>cd /var/lib/etherpad/etherpad-lite; sudo git fetch; sudo git checkout release/$version</tt>
-* danach einmal kurz <tt>sudo bin/run.sh</tt> und Ctrl-C, um eventuelle Abhängigkeiten zu installieren
-** (TODO TESTME) möglicherweise hilft auch ein <tt>cd src; sudo npm i; cd ..</tt>
-* <tt>systemctl start etherpad.service</tt>
+ 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 <tt>node_modules/</tt> nicht schreiben soll. Stattdessen:
@@ -56,32 +87,37 @@ Admin-Login auf der Weboberfläche funktioniert zwar lesend, aber kann halt kein
  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 chmod etherpad node_modules/ep_$plugin        
+ sudo chown etherpad node_modules/ep_$plugin        
  sudo systemctl restart etherpad.service
- sudo chmod -R root node_modules/ep_$plugin
+ sudo chown -R root:root node_modules/ep_$plugin
 
 ==== Sonstiges ====
 * <tt>/var/lib/etherpad/etherpad-lite/var/</tt> muss für die Gruppe <tt>etherpad</tt> schreibbar sein, dort werden beim Start des Dienstes die minifizierten CSS/JS-Files abgelegt.
 
 ==== Installierte Plugins ====
-* ep_ether-o-meter
-* ep_headings2
-* ep_hide_referrer, aus https://gitli.stratum0.org/rohieb/ep_hide_referrer/commits/feature/auto-redirect
-* ep_infopanel
-* ep_latexexport
-* ep_markdown
-* ep_mediawiki
-** 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>
-* ep_pad_activity_nofication_in_title [sic!]
-* ep_ruler
-* ep_scrollto
-* ep_stratum_faqlink, aus https://gitli.stratum0.org/stratum0/ep_stratum_faqlink.git
-* ep_subscript
-* ep_superscript
-* ep_table_of_contents
-* ep_stratum0_blogpreview, aus https://gitli.stratum0.org/kasalehlia/ep_stratum0_blogpreview.git
+ 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 ==
+* 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)
This page took 0.031347 seconds and 4 git commands to generate.