Apache Authentication Proxy: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
K (Fehlermeldung und Behebung hinzugefügt) |
||
Zeile 43: | Zeile 43: | ||
Fertig. FHEM ist jetzt über [http://server/fhem http://server/fhem] erreichbar. Alle Zugriffe müssen aber erst mit Benutzername + Passwort freigeschaltet werden. | Fertig. FHEM ist jetzt über [http://server/fhem http://server/fhem] erreichbar. Alle Zugriffe müssen aber erst mit Benutzername + Passwort freigeschaltet werden. | ||
Falls nach dem Neustart des Apache folgende Fehlermeldung kommt: | |||
<nowiki>Invalid command 'ProxyHTMLURLMap', perhaps misspelled or defined by a module not included in the server configuration | |||
Action 'configtest' failed. | |||
The Apache error log may have more information.</nowiki> | |||
fehlt das Paket libapache2-mod-proxy-html. Einfach mit | |||
<nowiki>apt-get install libapache2-mod-proxy-html</nowiki> | |||
nachinstallieren. | |||
[[Kategorie:HOWTOS]] | [[Kategorie:HOWTOS]] |
Version vom 22. Mai 2013, 13:48 Uhr
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.
Falls nach dem Neustart des Apache folgende Fehlermeldung kommt:
Invalid command 'ProxyHTMLURLMap', perhaps misspelled or defined by a module not included in the server configuration Action 'configtest' failed. The Apache error log may have more information.
fehlt das Paket libapache2-mod-proxy-html. Einfach mit
apt-get install libapache2-mod-proxy-html
nachinstallieren.