X-Git-Url: https://git.rohieb.name/stratum0-wiki.git/blobdiff_plain/7ef7c22048d2fa61c630dd5eaad334734838fb7e..e8329ab7dddc933cbd7b8ffe971ccaf5b58154ef:/Gapadriel.mw?ds=sidebyside diff --git a/Gapadriel.mw b/Gapadriel.mw index d22b1b66f..77868cad3 100644 --- a/Gapadriel.mw +++ b/Gapadriel.mw @@ -36,19 +36,50 @@ * 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. +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 ==== -* systemctl stop etherpad.service -* cd /var/lib/etherpad/etherpad-lite; sudo git fetch; sudo git checkout release/$version -* danach einmal kurz sudo bin/run.sh und Ctrl-C, um eventuelle Abhängigkeiten zu installieren -** (TODO TESTME) möglicherweise hilft auch ein cd src; sudo npm i; cd .. -* systemctl start etherpad.service + 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: @@ -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 ==== * /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 ==== -* 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. sudo rm -r node_modules/ep_headings -* 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 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)