X-Git-Url: https://git.rohieb.name/stratum0-wiki.git/blobdiff_plain/d8d736e728d3f5a3d5495af710eae19f4f63ad81..89c577108783b3046d6c2e0038b3962820854954:/Regolas.mw?ds=sidebyside diff --git a/Regolas.mw b/Regolas.mw index c2345efcd..84c85e097 100644 --- a/Regolas.mw +++ b/Regolas.mw @@ -1,8 +1,11 @@ {{Hardware -|kontakt=[[Benutzer:Kasalehlia|Kasalehlia]], [[Benutzer:Daniel Bohrer|Daniel Bohrer]] +|kontakt= +* {{Benutzer|drc}} für PrivateBin, +* {{Benutzer|comawill}} für Kalender, +* [[Benutzer:Daniel Bohrer|Daniel Bohrer]] für alles andere |status=working |ort=[[endor]] -|beschreibung=VM für MediaWiki und statische Web-Dinge +|beschreibung=VM für PHP/CGI-Dienste (MediaWiki, Paste, Dudle) und statische Dateien }} == SSH-Keys == @@ -33,10 +36,14 @@ * 4 CPU-Cores * internes Netzwerk via DHCP * HTTP kommt über [[gandolf]] als (SSL-)Proxy -** Webroot in /srv/www/webroot, von dort aus meist Symlinks +** Subdomains kommen von [[gandolf]] mit Host-Header, werden hier auf regolas auch als eigene Subdomains in /etc/nginx/sites-enables/*.stratum0.org geführt * Mail per ssmtp -=== Services === +Services, nach Subdomains getrennt: + +=== stratum0.org === +Alles, was statisch direkt im Webroot liegen kann, sowie Wiki als Hauptseite. Webroot in /srv/www/webroot, von dort aus meist Symlinks. + * MediaWiki ** https://stratum0.org/mediawiki/index.php, https://stratum0.org/wiki/ als Rewrite-Alias ** Dateien in /srv/www/mediawiki-, Extensions in /srv/www/mediawiki-extensions, Medien in /srv/www/mediawiki-images @@ -44,28 +51,82 @@ ** OpenLayers für die OpenStreetMap-Karten unter [[Anfahrt]] in /srv/www/openlayers ** Abhängigkeiten: *** Core: nginx php-fpm php-apcu php-intl php-gd php-mbutils php-xml php-mysql mariadb-server -*** Für SVG/PDF-Support: inkscape ghostscript poppler-utils +*** Für SVG/PDF-Support: librsvg2-bin ghostscript poppler-utils *** Für die MediaWiki-Wartungsskripte: php-cli * Blog -** https://stratum0.org/blog -** statische Dateien von [[bogomir]] (GitLab-CI) per rsync nach /srv/www/blog +** statische Dateien von [[bogomir]] (GitLab-CI) per rsync nach /srv/www/blog-preview/$branchname +*** /srv/www/blog-preview/master → https://stratum0.org/blog +*** /srv/www/blog-preview/preview → https://stratum0.org/blog-preview/preview (don't use, broken links!) → https://sandbox.stratum0.org/blog von [[gandolf]] via Reverse Proxy +*** (funktioniert prinzipiell für alle Branches, aber nur preview und master sind im Moment nach außen richtig verdrahtet. Problem dabei sind absolute Pfade im Blog-Setup auf /blog/…, sodass für jeden Branch im Prinzip eine eigene Domain nötig wäre.) ** Abhängigkeiten: openssh-client * Kalender -** Python-Bot in /home/comawill/stratum0-calendar, läuft als User comawill alle 10 Minuten via User-crontab -** Bot tut statische Dateien nach /srv/www/webroot/kalender/ -** Abhängigkeiten: python2.7 -* PrivateBin -** https://paste.stratum0.org -** PrivateBin 1.1 in /srv/www/privatebin, verschlüsselte Daten in /srv/www/privatebin-data -** Abhängigkeiten: nginx php-fpm php-gd -* data.stratum0.org -** https://data.stratum0.org von [[gandolf]] als Proxy nach http://regolas/data.stratum0.org -** statische Dateien von [[theodem]] kommen per rsync (Unix-User theodem-rsync via SSH-Key) nach /srv/www/data.stratum0.org/ -** Abhängigkeiten: openssh-client +** Git-Repo: https://gitli.stratum0.org/stratum0/calendar/ +** Python-virtualenv in /opt/stratum0-calendar-venv (be root) +** Code in /opt/stratum0-calendar (be root) +** bot.py läuft als User calendar alle 10 Minuten via /etc/cron.d/stratum0-calendar +** tut statische Dateien nach /srv/www/webroot/kalender/ +** Abhängigkeiten: python3 virtualenv, außerdem /opt/stratum0-calendar/requirements.txt im virtualenv +** Außerdem folgende glibc-Locales: de_DE.UTF-8 en_US.UTF-8 fr_CA.UTF-8 fr_FR.UTF-8 * Recordings von [[Vorträge]]n ** statische Dateien in /srv/www/webroot/recordings (direkt im Webroot) +=== paste.stratum0.org === + +PrivateBin als Paste-Service +* PrivateBin 1.3.3 in /srv/www/privatebin, verschlüsselte Daten in /srv/www/privatebin-data +* Abhängigkeiten: nginx php-fpm php-gd + +=== data.stratum0.org === + +Stratum 0 Open Data Portal™ + +* https://data.stratum0.org von [[gandolf]] als Proxy nach http://regolas/data.stratum0.org +* statische Dateien von [[theodem]] kommen per rsync (Unix-User theodem-rsync via SSH-Key) nach /srv/www/data.stratum0.org/ +* Abhängigkeiten: openssh-client + +=== dudle.stratum0.org === + +Dudle zur Terminabstimmung +* Source als Git in /srv/www/dudle +** Updates bitte mit sudo. Es gibt keine Tags, nur direkt den master #yolo. +* FastCGI auf /srv/www/dudle/*.cgi über /run/fcgiwrap.socket (via systemd socket activation) +** neue Umfragen werden nach /srv/www/dudle/slug/* als Git-Repo angelegt +* Cleanup nach 90 Tagen über /etc/cron.daily/dudle-cleanup.sh +* Abhängigkeiten: nginx fcgiwrap spawn-fcgi ruby ruby-gettext git +** Für Updates: gettext potool make +* FIXME: access control https://github.com/kellerben/dudle/issues/76 + +=== fyrebot === +* Update-Endpoint-Glue für den [[Space-Status]], setzt HTTP-Requests auf IRC-Requests um +* Code von https://gitli.stratum0.org/stratum0/status-bot in /home/fyrebot +* Start per fyrebots crontab, wird dort auch nächtlich neu gestartet, um IRC-Timeouts abzufangen +* HTTP per Reverse Proxy über [[gandolf]]s /etc/nginx/sites-enabled/status.stratum0.org +* Abhängigkeiten: python3 python3-irc python3-urllib + +=== stratumnews-bot === +* [https://gitli.stratum0.org/stratum0/stratumnews-bot Git-Repo] in /opt/stratumnews +* läuft via /etc/cron.d/stratumnews als User stratumnews alle 2 Minuten + +== Checkliste für Updates == +* Wenn neues Python: +** venv für Kalender neu anlegen: rm -rf /opt/stratum0-calendar-venv; python3 -m venv /opt/stratum0-calendar-venv; /opt/stratum0-calendar-venv/bin/pip install -r /opt/stratum0-calendar/requirements.txt +* Wenn neues PHP: +** /etc/php-x.y/fpm/php.ini muss manuell migriert werden, siehe [https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=934328 debbug 934328]. etckeeper is your friend. +** neuen Socket in /etc/nginx/snippets/fastcgi-php.conf eintragen. + == Log == +* Dist-Upgrade auf Debian 9 (buster) --[[Benutzer:Daniel Bohrer|Daniel Bohrer]] 21:17, 20. Jun. 2020 (CEST) +* PHP-FPM max_execution_time und nginx fastcgi_read_timeout auf 180 Sekunden, sowie MediaWiki $wgMaxShellFileSize auf 500 MiB hochgesetzt, um PDF-Preview (u.a. für [[:Datei:2020-02-03 Freistellungsbescheid.pdf]]) zu fixen --[[Benutzer:Daniel Bohrer|Daniel Bohrer]] 00:13, 12. Mär. 2020 (CET) +* PrivateBin auf 1.3.3 aktualisiert --[[Benutzer:Drc|drc]] ([[Benutzer Diskussion:Drc|Diskussion]]) 12:46, 16. Feb. 2020 (CET) +* PrivateBin auf 1.3.2 aktualisiert --[[Benutzer:Drc|drc]] ([[Benutzer Diskussion:Drc|Diskussion]]) 18:12, 11. Jan. 2020 (CET) +* PrivateBin auf 1.3.0 aktualisiert --[[Benutzer:Drc|drc]] ([[Benutzer Diskussion:Drc|Diskussion]]) 14:46, 14. Jul. 2019 (CEST) +* MediaWiki kann jetzt Yanone Kaffeesatz ZeroHack rendern (e.g. [[:Datei:Wurstworkshop_Label_Zitrone_r3v3.svg]]) --[[Benutzer:Daniel Bohrer|Daniel Bohrer]] 20:27, 30. Jun. 2019 (CEST) +* MediaWiki: PDF-Thumbnail-Issues durch richtige Benutzung von [https://www.mediawiki.org/wiki/Manual:$wgMaxShellMemory $wgMaxShellMemory] und [https://www.mediawiki.org/wiki/Manual:RefreshImageMetadata.php refreshImageMetadata.php] gefixt --[[Benutzer:Daniel Bohrer|Daniel Bohrer]] 20:27, 30. Jun. 2019 (CEST) +* MediaWiki: Update auf 1.31.2 LTS --[[Benutzer:Daniel Bohrer|Daniel Bohrer]] 20:27, 30. Jun. 2019 (CEST) +* PrivateBin auf 1.2.1 aktualisiert --[[Benutzer:Drc|drc]] ([[Benutzer Diskussion:Drc|Diskussion]]) 22:12, 20. Jun. 2019 (CEST) +* PrivateBin auf 1.1.1 aktualisiert --[[Benutzer:Drc|drc]] ([[Benutzer Diskussion:Drc|Diskussion]]) 20:11, 14. Dez. 2017 (CET) +* nginx-Konfigurationen auf eigene Subdomains aufgetrennt, ist nun übersichtlicher. --[[Benutzer:Daniel Bohrer|Daniel Bohrer]] 00:52, 28. Aug. 2017 (CEST) +* Neu: http://dudle.stratum0.org --[[Benutzer:Daniel Bohrer|Daniel Bohrer]] 00:52, 28. Aug. 2017 (CEST) * Debian jessie → stretch Upgrade. Highlights: PHP 7.0, MySQL → MariaDB, nginx 1.10.3, systemd 232, OpenSSH 7.4p1, Python 3.5. --[[Benutzer:Daniel Bohrer|Daniel Bohrer]] 22:20, 27. Aug. 2017 (CEST) * ZeroBin durch den aktiven Fork [https://privatebin.info/ PrivateBin] ersetzt. Bestehende Bins sollten weiterhin funktionieren. --[[Benutzer:Drc|drc]] ([[Benutzer Diskussion:Drc|Diskussion]]) 14:02, 26. Aug. 2017 (CEST) * MediaWiki: Patch SyntaxHighlight_GeSHi extension [https://github.com/wikimedia/mediawiki-extensions-SyntaxHighlight_GeSHi/commit/2d5a60a89fb3995b73e17df5901d6f023e41df3d], see [https://phabricator.wikimedia.org/T158689 T158689] --[[Benutzer:Daniel Bohrer|Daniel Bohrer]] 23:17, 30. Apr. 2017 (CEST)