Apache Authentication Proxy

Aus FhemWiki
Wechseln zu: Navigation, Suche


Um den Zugriff auf FHEMWEB etwas sicherer zu machen, kann man den Webzugriff über einen Apachen laufen lassen. Dies ist ein kurzes Rezept, um Zugriffe auf FHEMWEB über einen Apachen authentifizieren zu lassen. Erstellt wurde es auf Debian Squeeze, sollte aber auch mit Ubuntu funktionieren.


Step 1) FHEMWEB sollte nur noch auf dem Loopback lauschen, also kein 'global' Attribut in der Definition in fhem.cfg

define WEBS FHEMWEB 8084


Step 2) die folgenden Apache2 Module müssen aktiviert sein: mod_proxy + mod_proxy_http

a2enmod proxy
a2enmod proxy_http


Step 3) neue Datei /etc/apache2/conf.d/fhem:

Diese Konfiguration sorgt dafür, dass alle Anfragen unter /fhem weiter nach http://localhost/fhem geleitet werden. Zusätzlich wird eine Basic-Authentifizierung eingeschaltet. Die Benutzerdatenbank ist dann in /etc/fhem-htpasswd zu finden.

<Location /fhem>
    # ProxyPass/ProxyPassReverse leitet HTTP requests auf eine andere URL um
    ProxyPass http://localhost:8084/fhem
    ProxyPassReverse http://localhost:8084/fhem

    # ProxyHTMLURLMap passt Links im HTML/JavaScript Source an
    ProxyHTMLURLMap /               /fhem/
    ProxyHTMLURLMap /fhem/          /fhem/

    AuthType Basic
    AuthName "Password Required"
    AuthUserFile /etc/fhem-htpasswd
    Require valid-user
    Order deny,allow
    Allow from all
</Location>


Step 4) Benutzer-Datenbank in /etc/fhem-htpasswd anlegen

# -c -> create file
# -s SHA encryption
htpasswd -c -s /etc/fhem-htpasswd <username>

# add more users with
htpasswd -s /etc/fhem-htpasswd <username>


Step 5) Apache neu starten

invoke-rc.d apache2 reload


Fertig. FHEM ist jetzt über http://server/fhem erreichbar. Alle Zugriffe müssen aber erst mit Benutzername + Passwort freigeschaltet werden.

Meine Werkzeuge
Namensräume
Varianten
Aktionen
Navigation
Werkzeuge