Regolas: Unterschied zwischen den Versionen

Aus Stratum 0
Wechseln zu:Navigation, Suche
(Log: stretch -> buster)
(dudle.stratum0.org: dudle tot)
 
(9 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt)
Zeile 5: Zeile 5:
 
* [[Benutzer:Daniel Bohrer|Daniel Bohrer]] für alles andere
 
* [[Benutzer:Daniel Bohrer|Daniel Bohrer]] für alles andere
 
|status=working
 
|status=working
|ort=[[endor]]
+
|ort=[[endur]]
 
|beschreibung=VM für PHP/CGI-Dienste (MediaWiki, Paste, Dudle) und statische Dateien
 
|beschreibung=VM für PHP/CGI-Dienste (MediaWiki, Paste, Dudle) und statische Dateien
 
}}
 
}}
Zeile 74: Zeile 74:
  
 
PrivateBin als Paste-Service
 
PrivateBin als Paste-Service
* PrivateBin 1.3.3 in /srv/www/privatebin, verschlüsselte Daten in /srv/www/privatebin-data
+
* PrivateBin 1.3.5 in /srv/www/privatebin, verschlüsselte Daten in /srv/www/privatebin-data
 
* Abhängigkeiten: <tt>nginx php-fpm php-gd</tt>
 
* Abhängigkeiten: <tt>nginx php-fpm php-gd</tt>
  
Zeile 85: Zeile 85:
 
* Abhängigkeiten: <tt>openssh-client</tt>
 
* Abhängigkeiten: <tt>openssh-client</tt>
  
=== <tt>dudle.stratum0.org</tt> ===
+
=== <tt><s>dudle.stratum0.org</s></tt> ===
  
Dudle zur Terminabstimmung
+
Decommissioned aufgrund von ungeklärten Wartungsfragen --[[Benutzer:Daniel Bohrer|Daniel Bohrer]] 21:51, 17. Apr. 2023 (CEST)
* Source als Git in <tt>/srv/www/dudle</tt>
 
** Updates bitte mit sudo. Es gibt keine Tags, nur direkt den master #yolo.
 
* FastCGI auf <tt>/srv/www/dudle/*.cgi</tt> über <tt>/run/fcgiwrap.socket</tt> (via systemd socket activation)
 
** neue Umfragen werden nach <tt>/srv/www/dudle/<i>slug</i>/*</tt> als Git-Repo angelegt
 
* Cleanup nach 90 Tagen über <tt>/etc/cron.daily/dudle-cleanup.sh</tt>
 
* Abhängigkeiten: <tt>nginx fcgiwrap spawn-fcgi ruby ruby-gettext git </tt>
 
** Für Updates: <tt>gettext potool make</tt>
 
* FIXME: access control https://github.com/kellerben/dudle/issues/76
 
  
 
=== fyrebot ===
 
=== fyrebot ===
Zeile 107: Zeile 99:
 
* [https://gitli.stratum0.org/stratum0/stratumnews-bot Git-Repo] in <tt>/opt/stratumnews</tt>
 
* [https://gitli.stratum0.org/stratum0/stratumnews-bot Git-Repo] in <tt>/opt/stratumnews</tt>
 
* läuft via <tt>/etc/cron.d/stratumnews</tt> als User <tt>stratumnews</tt> alle 2 Minuten
 
* läuft via <tt>/etc/cron.d/stratumnews</tt> als User <tt>stratumnews</tt> alle 2 Minuten
 +
 +
=== [[Benutzer:Willenbot]] ===
 +
* [https://gitli.stratum0.org/stratum0/calendar/ Stratum 0 Calendar™] mit MediaWiki-Login-Config  in <tt>/opt/stratum0-calendar/</tt>
 +
* läuft als eigener User per cron alle paar Minuten, siehe <tt>/etc/cron.d/stratum0-calendar</tt>
 +
 +
== Checkliste für Updates ==
 +
* Wenn neues Python:
 +
** venv für Kalender neu anlegen: <tt>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</tt>
 +
* Wenn neues PHP:
 +
** <tt>/etc/php-x.y/fpm/php.ini</tt> muss manuell migriert werden, siehe [https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=934328 debbug 934328]. etckeeper is your friend.
 +
** neuen Socket in <tt>/etc/nginx/snippets/fastcgi-php.conf</tt> eintragen.
  
 
== Log ==
 
== Log ==
 +
* PrivateBin auf 1.5.1 aktualisiert --[[Benutzer:Drc|drc]] 10:12, 2. Feb. 2023 (CET)
 +
* PrivateBin auf 1.3.5 aktualisiert --[[Benutzer:Drc|drc]] 22:40, 5. Apr. 2021 (CEST)
 +
* PrivateBin auf 1.3.4 aktualisiert --[[Benutzer:Drc|drc]] 19:50, 2. Nov. 2020 (CET)
 
* Dist-Upgrade auf Debian 9 (buster) --[[Benutzer:Daniel Bohrer|Daniel Bohrer]] 21:17, 20. Jun. 2020 (CEST)  
 
* Dist-Upgrade auf Debian 9 (buster) --[[Benutzer:Daniel Bohrer|Daniel Bohrer]] 21:17, 20. Jun. 2020 (CEST)  
 
* PHP-FPM <tt>max_execution_time</tt> und nginx <tt>fastcgi_read_timeout</tt> auf 180 Sekunden, sowie MediaWiki <tt>$wgMaxShellFileSize</tt> 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)
 
* PHP-FPM <tt>max_execution_time</tt> und nginx <tt>fastcgi_read_timeout</tt> auf 180 Sekunden, sowie MediaWiki <tt>$wgMaxShellFileSize</tt> 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)

Aktuelle Version vom 17. April 2023, 20:51 Uhr

Regolas
Beschreibung: VM für PHP/CGI-Dienste (MediaWiki, Paste, Dudle) und statische Dateien
Ort: endur
Status: working (Was heißt das?)
Kontakt:

SSH-Keys

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

rohieb@regolas:~$ for i in /etc/ssh/ssh_host_*key.pub; do ssh-keygen -lf $i; done
1024 6f:80:b8:b3:a6:db:22:3b:2d:fe:0d:4b:bf:ec:04:00 /etc/ssh/ssh_host_dsa_key.pub (DSA)
256  5b:0a:6b:f7:b6:87:a2:12:1c:3c:39:ab:d8:1f:43:ea /etc/ssh/ssh_host_ecdsa_key.pub (ECDSA)
256  4e:4d:7a:a8:9e:27:07:b0:4c:0b:e4:e1:a7:4e:37:d9 /etc/ssh/ssh_host_ed25519_key.pub (ED25519)
2048 98:a7:cd:28:f8:f7:f3:83:4b:81:19:c1:c3:93:97:34 /etc/ssh/ssh_host_rsa_key.pub (RSA)
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1

iQEcBAEBCgAGBQJVXoX8AAoJEMOZylE6vjlSynQH/2fdvMNZe+cV8RuzGkYzdnOH
d2aCXw3l7Fofs3ETPV1nv2J5czFDjcNOSKrFdKgjU+gHht+IOWV4WGdTtLDMKOns
N8YKD8mJSE+9AgULYPoYn4XD/JBdR3IpHOXbms5D3MOscR1rFguW8dFFbd1S3iKs
V1Rqp8fIEgG8SKT+8dMKKhM1SDE6dNLONY2cq70rcDXmH85xlKhJ2LZ5w4yQ/Jr6
ZQLPiu49Ws1wH3YlK7u+3/GYGFh323f7iAJiJBn++6UiLkf/1YJQvvnlG7NB51ez
5V4e5OPFv320dvNSjfqR3Lb9gDr4SzJjMXg3psV9nRV5/DdMOY67FlgMAcpAWfs=
=XXiZ
-----END PGP SIGNATURE-----

Doku

  • Debian jessie, systemd
  • 2 GB RAM
  • Platte: 8 GB /, 128 GB /srv
  • 4 CPU-Cores
  • internes Netzwerk via DHCP
  • HTTP kommt über gandolf als (SSL-)Proxy
    • 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, 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-<version>, Extensions in /srv/www/mediawiki-extensions, Medien in /srv/www/mediawiki-images
    • siehe auch: /srv/www/UPGRADING-MEDIAWIKI.markdown
    • 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: librsvg2-bin ghostscript poppler-utils
      • Für die MediaWiki-Wartungsskripte: php-cli
  • Blog
    • statische Dateien von bogomir (GitLab-CI) per rsync nach /srv/www/blog-preview/$branchname
      • /srv/www/blog-preview/masterhttps://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
    • 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ägen
    • statische Dateien in /srv/www/webroot/recordings (direkt im Webroot)

paste.stratum0.org

PrivateBin als Paste-Service

  • PrivateBin 1.3.5 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™

dudle.stratum0.org

Decommissioned aufgrund von ungeklärten Wartungsfragen --Daniel Bohrer 21:51, 17. Apr. 2023 (CEST)

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 gandolfs /etc/nginx/sites-enabled/status.stratum0.org
  • Abhängigkeiten: python3 python3-irc python3-urllib

stratumnews-bot

  • Git-Repo in /opt/stratumnews
  • läuft via /etc/cron.d/stratumnews als User stratumnews alle 2 Minuten

Benutzer:Willenbot

  • Stratum 0 Calendar™ mit MediaWiki-Login-Config in /opt/stratum0-calendar/
  • läuft als eigener User per cron alle paar Minuten, siehe /etc/cron.d/stratum0-calendar

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 debbug 934328. etckeeper is your friend.
    • neuen Socket in /etc/nginx/snippets/fastcgi-php.conf eintragen.

Log

  • PrivateBin auf 1.5.1 aktualisiert --drc 10:12, 2. Feb. 2023 (CET)
  • PrivateBin auf 1.3.5 aktualisiert --drc 22:40, 5. Apr. 2021 (CEST)
  • PrivateBin auf 1.3.4 aktualisiert --drc 19:50, 2. Nov. 2020 (CET)
  • Dist-Upgrade auf Debian 9 (buster) --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 --Daniel Bohrer 00:13, 12. Mär. 2020 (CET)
  • PrivateBin auf 1.3.3 aktualisiert --drc (Diskussion) 12:46, 16. Feb. 2020 (CET)
  • PrivateBin auf 1.3.2 aktualisiert --drc (Diskussion) 18:12, 11. Jan. 2020 (CET)
  • PrivateBin auf 1.3.0 aktualisiert --drc (Diskussion) 14:46, 14. Jul. 2019 (CEST)
  • MediaWiki kann jetzt Yanone Kaffeesatz ZeroHack rendern (e.g. Datei:Wurstworkshop_Label_Zitrone_r3v3.svg) --Daniel Bohrer 20:27, 30. Jun. 2019 (CEST)
  • MediaWiki: PDF-Thumbnail-Issues durch richtige Benutzung von $wgMaxShellMemory und refreshImageMetadata.php gefixt --Daniel Bohrer 20:27, 30. Jun. 2019 (CEST)
  • MediaWiki: Update auf 1.31.2 LTS --Daniel Bohrer 20:27, 30. Jun. 2019 (CEST)
  • PrivateBin auf 1.2.1 aktualisiert --drc (Diskussion) 22:12, 20. Jun. 2019 (CEST)
  • PrivateBin auf 1.1.1 aktualisiert --drc (Diskussion) 20:11, 14. Dez. 2017 (CET)
  • nginx-Konfigurationen auf eigene Subdomains aufgetrennt, ist nun übersichtlicher. --Daniel Bohrer 00:52, 28. Aug. 2017 (CEST)
  • Neu: http://dudle.stratum0.org --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. --Daniel Bohrer 22:20, 27. Aug. 2017 (CEST)
  • ZeroBin durch den aktiven Fork PrivateBin ersetzt. Bestehende Bins sollten weiterhin funktionieren. --drc (Diskussion) 14:02, 26. Aug. 2017 (CEST)
  • MediaWiki: Patch SyntaxHighlight_GeSHi extension [1], see T158689 --Daniel Bohrer 23:17, 30. Apr. 2017 (CEST)
  • Neues favicon.ico von blinry --Valodim (Diskussion) 07:17, 27. Mär. 2017 (CEST)
  • Update MediaWiki 1.28.0 --Daniel Bohrer 00:34, 30. Nov. 2016 (CET)
    • StratumFixes und UploadWizard-config wieder in LocalSettings.php integriert
    • i18n durch Systemnachrichten im MediaWiki-Namensraum abgebildet statt durch i18n/<lang>.json.
    • ⇒ Weniger Plugin-Infrastruktur für i18n nötig.
  • ZeroBin in /srv/www/zerobin.git, dessen Daten liegen in /srv/www/zerobin-data. --Daniel Bohrer 02:54, 3. Apr. 2016 (CEST)
  • Upgrade auf Debian 8.3 --Daniel Bohrer 22:18, 25. Jan. 2016 (CET)
  • Vortrags-Aufzeichnungen von meinem Server nach /srv/www/webroot/recordings/ verschoben --Daniel Bohrer 22:39, 18. Dez. 2015 (CET)
  • Patch mediawiki-1.25.4 [2][3] --Daniel Bohrer 22:23, 18. Dez. 2015 (CET)
  • Captchas für angemeldete Benutzer mit bestätigter Mailadresse abgeschaltet --Daniel Bohrer 18:52, 9. Dez. 2015 (CET)
  • Patch mediawiki-1.25.3 [4][5], failing hunks in vendor/autoload.php.rej und vendor/composer/autoload_real.php.rej ignoriert, die einen Klassennamen mit einer UUID durch eine andere UUID austauschen wollten (siehe mediawiki-l). Bisher läufts. --Daniel Bohrer 22:20, 21. Okt. 2015 (CEST)
    • hab zur Sicherheit die entsprechenden Dateien aus dem Release-Tarball von 1.25.3 genommen. --Daniel Bohrer 22:20, 21. Okt. 2015 (CEST)
  • Patch mediawiki-1.25.2 [6], additional patches:
  • /srv auf 128 GB aufgebohrt, um da auch mal größere Sachen hinlegen zu können. --Daniel Bohrer 04:28, 1. 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:28, 23. Mai 2015 (CEST)
  • Initial setup. -- shoragan, rohieb, 20. Mai 2015 (CEST)