Nach jahrelanger Nutzung von FHEM habe ich mich dazu entschlossen meinem RaspberryPi eine lokale Domain zu geben fhem.local und gleichzeitig den Port 80 (indirekt) zu aktivieren. Es war schon lästig immer die lange IP-Adresse einzugeben gefolgt von dem Port.

Lokale Domain einrichten

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install avahi-daemon

Nun müssen noch zwei Anpassungen vorgenommen werden:

sudo nano /etc/hosts

In der letzten Zeile kann man den Hostnamen entsprechend ändern.

Als nächstes muss der Hostname noch in der folgenden Datei eingetragen werden:

sudo nano /etc/hostname

Die Änderungen müssen jetzt noch mit

sudo /etc/init.d/hostname.sh

gespeichert werden. Anschließend kann das System neu gestartet werden.

 

FHEM über Port 80

Um FHEM über Port 80 aufrufbar zu machen, müssen zwei Voraussetzungen erfüllt sein:

  1. Es darf kein anderer Service auf Port 80 laufen
  2. IPTables muss installiert sein (beim RaspberryPi ist das der Fall)

Über den folgenden Befehl:

iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to 8083
iptables -t nat -A PREROUTING -p tcp --dport 443 -j REDIRECT --to 8083

wird die Firewall so eingestellt, dass externe Anfragen auf Port 80 und Port 443 (https) an den internen Port 8083 weitergeleitet werden.

Diese Einstellungen werden nach dem Neustart wieder gelöscht. Um dies zu verhindern, müssen die Regeln beim Systemstart neu geladen werden

iptables Regeln dauerhaft speichern

mkdir /etc/iptables
iptables-save > /etc/iptables/rules.v4
apt-get install iptables-persistent

Anschließend das System neu starten.