Zeile 310:
Zeile 310:
==cert_client==
==cert_client==
−
==SSH konfigurieren==
+
===SSH konfigurieren===
'''/root/.ssh/config''':Cron läuft als root, deswegen brauchen wir die config hier. $Hostname gegen den cert_client ersetzen, $cert_master gegen hostname cert_master.
'''/root/.ssh/config''':Cron läuft als root, deswegen brauchen wir die config hier. $Hostname gegen den cert_client ersetzen, $cert_master gegen hostname cert_master.
Zeile 324:
Zeile 324:
<source lang=bash inline>sftp $cert_master</source> muss ohne Eingabe funktionieren.
<source lang=bash inline>sftp $cert_master</source> muss ohne Eingabe funktionieren.
+
+
===Cron===
+
/etc/cron.daily/ssl_certs: Hier wird das Zertifikat des Hosts $cert_client abgerufen. Dann werden Permissions angepasst und Dienste neu gestartet. Andere Dienste erfordern hier Anpassung (z.B. mail).
+
<source lang=bash>
+
#!/bin/sh
+
+
DOMAINS="$cert_client.freifunk-mwu.de"
+
+
rm /etc/apache2/ssl/* -r
+
for DOMAIN in $DOMAINS;
+
do
+
mkdir -p /etc/apache2/ssl/$DOMAIN
+
sftp -q -r zuckerwatte:/$DOMAIN /etc/apache2/ssl/ > /dev/null
+
+
chmod 0550 /etc/apache2/ssl/$DOMAIN
+
chmod 0440 /etc/apache2/ssl/$DOMAIN/*
+
done
+
+
chown -R www-data.admin /etc/apache2/ssl/
+
apache2ctl restart
+
</source>