Difference between revisions of "Host:Extern"

From Chaosdorf Wiki
Jump to navigation Jump to search
 
(6 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
{{Host
 
{{Host
 
|name=extern.chaosdorf.de
 
|name=extern.chaosdorf.de
|os=Debian Stretch amd64
+
|os=Debian Buster amd64
 
|location=Host:Vm
 
|location=Host:Vm
 
|purpose=öffentliche Dienste
 
|purpose=öffentliche Dienste
 
|disk=20GB
 
|disk=20GB
|ram=2GiB
+
|ram=4GiB
 
|swap=4GB
 
|swap=4GB
 
|admin_toolkit=Yes
 
|admin_toolkit=Yes
Line 11: Line 11:
 
|ssh_pam=Yes
 
|ssh_pam=Yes
 
|ssh_userlogin=No
 
|ssh_userlogin=No
|admins=byte, derf, feuerrot
+
|admins=byte,derf,feuerrot
 
}}
 
}}
 
== Mediawiki ==
 
== Mediawiki ==
Line 26: Line 26:
  
 
* MobileFrontend für Handy- und Tabletsupport (tarball)
 
* MobileFrontend für Handy- und Tabletsupport (tarball)
* LdapAuthentication (git-snapshot, das letzte Release ist uralt und kaputt)
+
* LDAPAuthentication2 (+PluggableAuth+LDAPProvider) (tarball)
 
* SemanticMediaWiki für [[Projects]], [[Resources]] u.ä. (composer)
 
* SemanticMediaWiki für [[Projects]], [[Resources]] u.ä. (composer)
 
* PageForms um Templates per Formular statt Plaintext bearbeiten zu können (tarball)
 
* 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)
 +
* Mediawiki-Tarball entpacken (<tt>tar xf /tmp/mediawiki-X.Y.Z.tar.gz -C /srv/www/de.chaosdorf.wiki --strip-components=1</tt>)
 +
* <tt>sudo chown -R www-data:www-data vendor</tt>)
 +
* <tt>sudo -u www-data composer update --no-dev</tt>
 +
* SMW wieder aktivieren
 +
* <tt>sudo -u www-data php maintenance/update.php</tt>
 +
* Nicht im Mediawiki-Release enthaltene Extensions aktualisieren (Tar-Archive runterladen und entpacken)
  
 
=== SMW updaten ===
 
=== SMW updaten ===
Line 47: Line 62:
  
 
Installiert in <tt>/srv/www/de.chaosdorf</tt>, enthält ein Git-Repo zum Tracken der Installation. Die Nutzdaten liegen in der lokalen MySQL-Datenbank <tt>wordpress</tt>.
 
Installiert in <tt>/srv/www/de.chaosdorf</tt>, enthält ein Git-Repo zum Tracken der Installation. Die Nutzdaten liegen in der lokalen MySQL-Datenbank <tt>wordpress</tt>.
 +
 +
wp-settings enthält zwecks mehr Datenschutz einen [https://developer.wordpress.org/rest-api/frequently-asked-questions/#require-authentication-for-all-requests Filter], der API-Zugriffe nur mit Login erlaubt.
  
 
=== Updates ===
 
=== Updates ===

Latest revision as of 13:39, 26 December 2020

extern.chaosdorf.de
Ort Host:Vm
Zweck öffentliche Dienste
OS Debian Buster amd64
Disks 20GB20,000 MB <br />20,000,000 kB <br />0.02 TB <br />
RAM 4GiB4,096 MiB <br />4,194,304 kiB <br />4,294,967,296 B <br />0.00391 TiB <br />4,294.967 MB <br />
Swap 4GB4,000 MB <br />4,000,000 kB <br />0.004 TB <br />
Admin-Toolkit Yes
ssh key path /var/cache/ssh
PAM? Yes
SSH user login? No
Admins bytex, derfx, feuerrotx

Mediawiki[edit]

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[edit]

  • Neues Mediawiki-Release als Tarball laden
  • SMW deaktivieren (enableSemantics in den LocalSettings auskommentieren)
  • Mediawiki-Tarball entpacken (tar xf /tmp/mediawiki-X.Y.Z.tar.gz -C /srv/www/de.chaosdorf.wiki --strip-components=1)
  • sudo chown -R www-data:www-data vendor)
  • sudo -u www-data composer update --no-dev
  • SMW wieder aktivieren
  • sudo -u www-data php maintenance/update.php
  • Nicht im Mediawiki-Release enthaltene Extensions aktualisieren (Tar-Archive runterladen und entpacken)

SMW updaten[edit]

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

Login[edit]

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

Anonyme Edits sind erlaubt.

Kalender[edit]

Auf shellsx läuft alle 5 Minuten wikicron/current_events über derfxs 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 <https://chaosdorf.de/~derf/cccd.ics> landet.

Wordpress[edit]

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[edit]

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 löschen (irgendwas ist beim Wordpress im Argen…).

WWW-Userdirs[edit]

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[edit]

Per Cronjob werden jede Minute Tür- und Raumstatus von feedbackx angefragt, anhand dessen wird 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 ausgerollt werden.

Dashboard[edit]

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

Prosody[edit]

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

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

TLS[edit]

Das TLS-Zertifikat für nginx und prosody wird einmal monatlich per certbot (LetsEncrypt) erneuert. Über /etc/crontab wird dazu /usr/local/sbin/refresh-tls-cert 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.