Rechenmaschinen/bigbrother

Aus C3MAWiki
Zur Navigation springenZur Suche springen
BigBrother
Typ Raspberry Pi
Betriebsystem Debian
Zubehör keines
Hersteller Webseite virtualbrother
Wikipedia unbekannt
Besitzer C3MA


BigBrother

Virtuelle Machine auf Rechenmaschinen/virtualbrother

System

Netzwerk Schnittstelle

IP-Adresse auf folgendes setzen:

auto ens18
iface ens18 inet static
	address 10.23.42.10
	netmask 255.255.254.0
	gateway 10.23.42.1

Dienste

Mosqiutto

Folgender Anleitung folgen: http://mosquitto.org/2013/01/mosquitto-debian-repository/

Bridge

Mit einer Brücke werden alle Informationen auf einen Server in unserer Internet-Infrastruktur gespiegelt.

Konfiguration

Datei: /etc/mosquitto/conf.d/bridge.conf

connection bridge-c3ma-room
address $SERVER_DNS_NAME
topic /# out
cleansession true
remote_username $SUPER_GEHEIMER_BENUTZER
remote_password $SUPER_GEHEIMES_PASSWORT
bridge_cafile /tmp/mosquitto/ca-certificates.crt
bridge_insecure false


Service

Zum Start müssen immer die passenden Zertifikate heruntergeladen werden:

ExecStartPre=/home/pi/admin/updateSSLmqtt.sh
systemctrl edit mosquitto.service

Und folgendes hinzufügen

### Anything between here and the comment below will become the new contents of the file
[Service]
ExecStartPre=/home/c3ma/admin/updateSSLmqtt.sh

### Lines below this comment will be discarded

Zertifikat

#!/bin/bash
tmpRamDisk=/data/ramdisk/mosquitto
/bin/echo "Update Certificate $(date)" > $tmpRamDisk/SSLmqtt.log
/bin/echo -n | openssl s_client -connect $SERVER_DNS_NAME:443 2>> $tmpRamDisk/SSLmqtt.log | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > $tmpRamDisk/cert.pem

while [ $(date +%Y) -lt 2022 ]; do
	sleep 5
	echo "Year is $(date +%Y)" >> $tmpRamDisk/SSLmqtt.log
done

/usr/bin/wget --quiet -O $tmpRamDisk/lets-encrypt.pem https://letsencrypt.org/certs/lets-encrypt-r3.pem >> $tmpRamDisk/SSLmqtt.log
/usr/bin/wget --quiet -O $tmpRamDisk/isrgrootx1.pem https://letsencrypt.org/certs/isrgrootx1.pem >> $tmpRamDisk/SSLmqtt.log
# https://serverfault.com/questions/476576/how-to-combine-various-certificates-into-single-pem
/bin/cat $tmpRamDisk/cert.pem $tmpRamDisk/lets-encrypt.pem $tmpRamDisk/isrgrootx1.pem > $tmpRamDisk/ca-certificates.crt
exit 0

Webserver

  • nginx

Folgenden Teil der ConfigurationsDatei aktualisieren:

server {
	listen   80; ## listen for ipv4; this line is default and implied
	#listen   [::]:80 default_server ipv6only=on; ## listen for ipv6

	root /tmp/www;

Der Log-Ordner muss bei jedem Start im Temp-Dateisystem angelegt werden. Dazu folgende Zeilen in /etc/rc.local einfügen: (Vor dem exit 0)

mkdir /var/log/nginx/
chown www-data /var/log/nginx/

Raum Status

Der Raumstatus besteht aus Bash-Skripten. Diese bnötigen folgende Pakete:

  • mosquitto-clients
  • rrdtool

Der Raumstatus ist unter /home/c3ma/raumdaemon/ zu finden. Um auf die Temperatur zuzugreifen muss query-rs485 installiert werden (siehe /home/c3ma/query-rs485).


Rechte

/sbin/usermod -a -G dialout c3ma

Dienst

In cron installieren und alle 3 Minuten für neue Werte sorgen:

*/3 *	* * *	cd /home/c3ma/raumdaemon/ && ./raumstatus_update.sh &> /dev/null