Rechenmaschinen/bigbrother: Unterschied zwischen den Versionen
Weitere Optionen
Ollo (Diskussion | Beiträge)  Bigbrother  | 
				Ollo (Diskussion | Beiträge)  | 
				||
| (7 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
| Zeile 1: | Zeile 1: | ||
==   | {{Rechenmaschinen  | ||
=  | |Gerät=BigBrother  | ||
|Typ=Raspberry Pi  | |||
|Betriebsystem=Debian  | |||
|Hersteller Webseite=virtualbrother  | |||
|Bild=RaspberryPiLogo.png  | |||
|Besitzer=C3MA  | |||
}}  | |||
= BigBrother =  | |||
Virtuelle Machine auf [[Rechenmaschinen/virtualbrother]]  | |||
== System ==  | == System ==  | ||
| Zeile 19: | Zeile 16: | ||
IP-Adresse auf folgendes setzen:  | IP-Adresse auf folgendes setzen:  | ||
<pre>  | <pre>  | ||
auto   | auto ens18  | ||
iface ens18 inet static  | |||
iface   | |||
	address 10.23.42.10  | 	address 10.23.42.10  | ||
	netmask 255.255.254.0  | 	netmask 255.255.254.0  | ||
| Zeile 32: | Zeile 27: | ||
Folgender Anleitung folgen:  | Folgender Anleitung folgen:  | ||
http://mosquitto.org/2013/01/mosquitto-debian-repository/  | 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''  | |||
<pre>  | |||
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  | |||
</pre>  | |||
==== Service ====  | |||
Zum Start müssen immer die passenden Zertifikate heruntergeladen werden:  | |||
<pre>ExecStartPre=/home/pi/admin/updateSSLmqtt.sh</pre>  | |||
<pre>  | |||
systemctrl edit mosquitto.service  | |||
</pre>  | |||
Und folgendes hinzufügen  | |||
<pre>  | |||
### 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  | |||
</pre>  | |||
==== Zertifikat ====  | |||
<pre>  | |||
#!/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  | |||
</pre>  | |||
=== Webserver ===  | === Webserver ===  | ||
| Zeile 45: | Zeile 93: | ||
</pre>  | </pre>  | ||
Log Ordner   | Der Log-Ordner muss bei jedem Start im Temp-Dateisystem angelegt werden.  | ||
'''/etc/  | Dazu folgende Zeilen in '''/etc/rc.local''' einfügen: (Vor dem ''exit 0'')  | ||
<pre>  | <pre>  | ||
mkdir /var/log/nginx/  | |||
chown www-data /var/log/nginx/  | |||
</pre>  | </pre>  | ||
| Zeile 66: | Zeile 106: | ||
* rrdtool  | * rrdtool  | ||
Der Raumstatus ist unter '''/home/  | Der Raumstatus ist unter '''/home/c3ma/raumdaemon/''' zu finden.  | ||
Um auf die Temperatur zuzugreifen muss '''query-rs485''' installiert werden.  | Um auf die Temperatur zuzugreifen muss '''query-rs485''' installiert werden (siehe '''/home/c3ma/query-rs485''').  | ||
==== Rechte ====  | |||
<pre>  | |||
/sbin/usermod -a -G dialout c3ma  | |||
</pre>  | |||
==== Dienst ====  | |||
In cron '''installieren''' und alle 3 Minuten für neue Werte sorgen:  | |||
<pre>  | |||
*/3 *	* * *	cd /home/c3ma/raumdaemon/ && ./raumstatus_update.sh &> /dev/null  | |||
</pre>  | |||
Aktuelle Version vom 12. Juli 2023, 19:33 Uhr
| 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
				