Host:Extern

Mediawiki
wiki.chaosdorf.de (aka "dieses").

Standardsetup mit nginx, php-fpm und MySQL.

Special:Version (inkl. Extensions) / Special:Statistics (inkl. Admins)

Extensions werden bevorzugt per Tarball installiert / aktualisiert. Per Composer installierte Extensions müssen in composer.local.json eingetragen werden.

Wir nutzen folgende nicht im Mediawiki-Release enthaltene Extensions:


 * MobileFrontend für Handy- und Tabletsupport (tarball)
 * LDAPAuthentication2 (+PluggableAuth+LDAPProvider) (tarball)
 * SemanticMediaWiki für Projects, Resources u.ä. (composer)
 * PageForms um Templates per Formular statt Plaintext bearbeiten zu können (tarball)

Und folgende nicht im Mediawiki-Release enthaltene Skins:


 * MinervaNeue für das Mobile Frontend (tarball)

Wiki aktualisieren

 * Neues Mediawiki-Release als Tarball laden
 * SMW deaktivieren (enableSemantics in den LocalSettings auskommentieren, composer.local.json löschen/umbenennen)
 * Mediawiki wie in der Doku beschrieben aktualisieren (Tarball entpacken, php maintenance/update.php)
 * SMW aktualisieren (neue Version in composer.local.json eintragen, sudo -u www-data composer update --no-dev, SMW-spezifische Maintenance-Skripte ausführen)
 * Nicht im Mediawiki-Release enthaltene Extensions aktualisieren (Tar-Archive runterladen und entpacken)

SMW updaten
Ist frickelig. cd /srv/www/de.chaosdorf.wiki, Version in composer.local.json ändern, sudo -u www-data composer update --no-dev.

Login
Per LDAP ("Chaosdorf"), alternativ mit eigens registriertem Account ("local").

Anonyme Edits sind erlaubt.

Kalender
Auf läuft alle 5 Minuten wikicron/current_events über s crontab, welches Chaosdorf_Wiki:Current_events, Template:Current_events_preview und Chaosdorf_Wiki:Past_events generiert. Es erzeugt ebenfalls ein ical, welches per scp auf  landet.

Wordpress
Installiert in /srv/www/de.chaosdorf, enthält ein Git-Repo zum Tracken der Installation. Die Nutzdaten liegen in der lokalen MySQL-Datenbank wordpress.

wp-settings enthält zwecks mehr Datenschutz einen Filter, der API-Zugriffe nur mit Login erlaubt.

Updates
Ein Icinga-Check meldet sich bei anstehenden Updates, installiert werden diese ganz normal über das Webinterface. Nach dem Updaten: Per SSH auf extern:/srv/www/de.chaosdorf verbinden und die Änderungen committen (git add -A .; git commit -m 'wordpress updates'). Teilweise muss man zuvor von Hand /srv/www/de.chaosdorf/.maintenance</tt> löschen (irgendwas ist beim Wordpress im Argen…).

WWW-Userdirs
Nutzer können sich per SFTP einloggen (z.B. 'lftp sftp://user@extern.chaosdorf.de'). Wenn sie dort Dateien in public_html ablegen, sind diese unter https://chaosdorf.de/~ user erreichbar.

Über /etc/pam.d/sshd wird /usr/local/sbin/addquota ausgeführt, um für neue User (!= root) einmalig ein Quota zu setzen.

Raumstatus
Per Cronjob werden jede Minute Tür- und Raumstatus von angefragt, anhand dessen wird https://chaosdorf.de/raumstatus/status.png auf ein passendes Bild gesymlinkt. Die Skripte und Bilder finden sich unter chaosdorf-admin-toolikt/raumstatus und können per fab deploy_raumstatus</tt> ausgerollt werden.

Dashboard
dashboard.chaosdorf.de wird per nginx-Proxy an weitergereicht.

Prosody
Die Konfiguration liegt in /etc/prosody/prosody.cfg.lua</tt>, der VHost chaosdorf.de in /etc/prosody/conf.d/chaosdorf.de.cfg.lua</tt>. Es sind keine NS-Records eingerichtet.

Eine offene Registrierung von Accounts ist aus Ressourcengründen nicht erlaubt. Account anlegen: fab jabber_adduser:foo</tt> lokal oder sudo -u prosody prosodyctl adduser foo@chaosdorf.de</tt> auf extern.

TLS
Das TLS-Zertifikat für nginx und prosody wird einmal monatlich per certbot (LetsEncrypt) erneuert. Über /etc/crontab</tt> wird dazu /usr/local/sbin/refresh-tls-cert</tt> aufgerufen, was per certbot das Zertifikat erneuert und nginx sowie prosody neustartet. Wir nutzen einen nicht ganz üblichen certbot-Workflow mit von uns manuell erstelltem CSR, da wir so einen ECDSA-Key für unser Zertifikat nutzen können.