Ollo (Diskussion | Beiträge) (Steckbrief) |
Ollo (Diskussion | Beiträge) (→Rechte) |
||
(5 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 2: | Zeile 2: | ||
|Gerät=BigBrother | |Gerät=BigBrother | ||
|Typ=Raspberry Pi | |Typ=Raspberry Pi | ||
|Betriebsystem= | |Betriebsystem=Debian | ||
|Hersteller Webseite= | |Hersteller Webseite=virtualbrother | ||
|Bild=RaspberryPiLogo.png | |Bild=RaspberryPiLogo.png | ||
|Besitzer= | |Besitzer=C3MA | ||
}} | }} | ||
== | = BigBrother = | ||
Virtuelle Machine auf [[Rechenmaschinen/virtualbrother]] | |||
== System == | == System == | ||
Zeile 29: | 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 42: | 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 68: | 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, 20: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