Rechenmaschinen/bigbrother: Unterschied zwischen den Versionen

Aus C3MAWiki
(Steckbrief)
 
(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=Raspbian
|Betriebsystem=Debian
|Hersteller Webseite=http://raspberry.org/
|Hersteller Webseite=virtualbrother
|Bild=RaspberryPiLogo.png
|Bild=RaspberryPiLogo.png
|Besitzer=??
|Besitzer=C3MA
|Wikipedia=[https://de.wikipedia.org/wiki/Raspberry_Pi Raspberry Pi]
}}
}}


== Temp Dateisystem aufm Raspberry ==
= BigBrother =
=== Weitere Dateisystem einhängen ===
Folgende Zeilen in '''/etc/fstab''' anhängen:
<pre>
tmpfs    /tmp    tmpfs    defaults,noatime,nosuid,size=50m    0 0
tmpfs    /var/tmp    tmpfs    defaults,noatime,nosuid,size=30m    0 0
tmpfs    /var/log    tmpfs    defaults,noatime,nosuid,mode=0755,size=50m
  0 0
tmpfs    /var/run    tmpfs    defaults,noatime,nosuid,mode=0755,size=2m
  0 0
</pre>


=== Quelle ===
Virtuelle Machine auf [[Rechenmaschinen/virtualbrother]]
* [Expand the Life of a SDCard
http://www.zdnet.com/article/raspberry-pi-extending-the-life-of-the-sd-card/]


== System ==
== System ==
Zeile 29: Zeile 16:
IP-Adresse auf folgendes setzen:
IP-Adresse auf folgendes setzen:
<pre>
<pre>
auto eth0
auto ens18
#allow-hotplug eth0
iface ens18 inet static
#iface eth0 inet manual
iface eth0 inet static
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/pi/raumdaemon/''' zu finden.
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