Host:nixe.k4cg.org
Host:nixe.k4cg.org | |
Hostname | nixe.k4cg.org |
IPv4 | 213.95.86.180 |
Network | 255.255.255.248 |
Gateway | 213.95.86.177 |
DNS | 62.128.1.53 |
OS | nixOS |
Location | noris network (NBG 6) |
General
Hostet:
- Mailingliste k4cg@k4cg.org
- https://k4cg.org - Wiki
- Altes Wiki
- Rezeptionistin IRC BOT
- IRC Bounter
- Tor Relay
- pass
OS
Wir betreiben hier ein NixOS. Warum? Wir sind ein Hackspace und probieren neue Dinge aus.
NixOS zeichnet aus, dass es sehr einfach deklarativ zentral beschrieben wird, in nur einer einzigen Datei (theoretisch).
Was bedeutet das?
Du möchtest was an der Mailingliste ändern? -> NixOS Config!
Du willst einen neuen vHost anlegen? -> NixOS Config!
Du willst einen neuen User anlegen? -> NixOS Config!
Du willst einen neuen cron task anlegen? -> NixOS Config!
IPv6
Wir haben mal wieder eine IPv6 Adresse.
In /etc/nixos/configuration.nix
networking = { hostName = "nixe.k4cg.org"; nameservers = ["62.128.1.53"]; hostId = "e0ca53c8"; defaultGateway = "213.95.86.177"; defaultGateway6 = "2001:780:124::1"; enableIPv6 = true; interfaces.eno16780032.ip4 = [ { address = "213.95.86.180" ; prefixLength = 29 ; } ]; interfaces.eno16780032.ip6 = [ { address = "2001:780:124::42" ; prefixLength = 64 ; } ]; };
Wiki
Wir haben sowohl das alte, als auch das neue Wiki am laufen. Die Config dazu sieht in etwa so aus.
In /etc/nixos/services/wiki.nix
services.httpd = { enable = true; enablePHP = true; hostName = "nixe.k4cg.org"; adminAddr = "admin@k4cg.org"; extraModules = [ "rewrite" ]; virtualHosts = [ { documentRoot = "/var/www/k4cg.org"; enableSSL = true; port = 443; hostName = "k4cg.org"; serverAliases = [ "www.k4cg.org" ]; adminAddr = "admin@k4cg.org"; sslServerCert = "/etc/ssl/k4cg.org.crt"; sslServerKey = "/etc/ssl/k4cg.org.key"; sslServerChain = "/etc/ssl/intermediate-k4cg.org.crt"; } ]; };
Das sieht am Anfang verwirrend aus, aber wenn man sich auf der NixOS Site unter Options umsieht, findet sich zu jedem Punkt der gesamten Optionen eine Erklärung.
MariaDB
Das Backend für das Wiki ist in unserem Fall keine MySQL sondern eine MariaDB, was aber keinen Unterschied macht. Nichts spezielles konfiguriert. Nur Installiert.
HTTPS
Die Zertifikate für SSL stammen aus StartSSL, Account von noqqe. Diese werde ich verlängern, verifiziert durch die Mailadressen die in der Domain k4cg.org hinterlegt sind.
Die Zertifikate befinden sich unter
nixe:/etc/ssl/
Ein extra Account bei StartSSL dafür empfand ich als Overhead.
Mailingliste
Die Mailingliste besteht aus mlmmj und postfix. Bedient wird alles über das NixOS Modul mlmmj.
mlmmj
Die Mailinglisten Software mlmmj ist simpel und filebasiert.
Das Homedirectory ist unter /var/spool/mlmmj/k4cg/
Logs anzeigen
less /var/spool/mlmmj/k4cg/mlmmj.operation.log
Alle subscribers anzeigen
cat /var/spool/mlmmj/k4cg/subscribers.d/*
Die Mailingliste ist auf Subscribe-Only Messaging gestellt. Um das zu aktivieren muss man folgendes file touchen
touch /var/spool/mlmmj/k4cg/control/subonlypost
Weitere Mailadressen
Weitere Mailadressen die für den Betrieb oder Admin Tätigkeiten benötigt werden sind:
admin: info hostmaster: info postmaster: info info: simon,noqqe,gpunkt,nico,seismo
Diese Aliase werden ebenfalls vom opensmtpd auf troll an die Zieladressen deliviered. Sollte jemand einen Mailalias benötigen, kann er gerne auf Benutzer:noqqe zukommen.
Backup
Gebackupped werden:
- Mailingliste
- Documentroot (wiki, Guenthers lustige Seiten)
und zwar nach:
nixe:/backups/*
Das Backup wird über Rsnapshot und Mysqldump geregelt.
pass
Wir speichern alle Passwörter zu Maschinen usw im `pass` im root user auf nixe
sudo -iu root pass # show all entries pass Sites/vimeo.com # show password pass edit Sites/vimeo.com # edit password
Das Passwort gibts nur auf Anfrage und ist nur den Schlüsselträgern zugänglich.
Offsite Backup
Außerdem werden alle Backups nochmal offsite auf die Heimat transferiert
heimat:/home/backups/documentroot/* heimat:/home/backups/mailinglist/*
Über Cronjobs auf der Heimat:
0 5 * * * /usr/local/bin/rsync -avi root@troll.k4cg.org:/home/k4cg/mailinglist* /home/backups/mailinglist/ 0 5 * * * /usr/local/bin/rsync -avi root@troll.k4cg.org:/home/k4cg/documentroot* /home/backups/documentroot/
Admin Interface über VMWare
Noris Admin Interface:
https://vc-extern01.vmware.noris.de/
User + PW stehen im pass
Obacht, dafür braucht man erst ein VPN https://info.noris.net/index.php/Technische_Infos/VMware