htaccess Passwortschutz für Apache Webserver erstellen

apache logo

Eine oft gestellte Frage: Wie kann ich ein Verzeichnis auf meinem Apache Webserver mit einem Passwortschutz absichern? Oft gegebene Antwort: Ganz einfach mit einer .htaccess Datei.

Hier eine einfache Anleitung wie für ein Verzeichnis auf eurem Apache Webserver ein simpler Passwortschutz via .htaccess Datei erstellt werden kann (Voraussetzung: eigener Webserver oder Managed Server mit .htaccess Unterstützung):

Hinweis: Meine Anleitung bezieht sich wie immer auf Debian (Ubuntu) Linux. Pfade können in anderen Linux Distributionen immer abweichen, aber in der Regel sind sie gleich oder zumindest ähnlich.

Der simple htaccess Passwortschutz (Passwort Authentifizierung von einem oder mehrere Benutzer) besteht grundsätzlich aus zwei Dateien:
*) .htaccess (enthält die Anweisungen für den Webserver)
*) .htpasswd (enthält die Benutzer und zugehörig Passwörter)

.htaccess Datei erstellen

Wer direkt in der Shell arbeitet, kann die .htaccess Datei einfach mit dem Lieblingseditor erstellen. Wer allerdings via FTP arbeitet kann die Datei direkt im FTP Programm via Grafikmodus erstellen oder hochladen (Vorsicht: bei einigen FTP Programmen muss das Anzeigen von Punk (.xxx) Dateien aktiviert werden, da sie sonst unsichtbar sind). In meinem Beispiel wird das gesamte Verzeichnis  /var/www/website1 und darunter liegende Verzeichnisse Passwort geschützt.

vi /var/www/website1/.htaccess

.htaccess Einstellungen festlegen

Folgenden Inhalt schreiben wir in die .htaccess Datei um den Passwortschutz einzuleiten:

AuthType Basic
AuthName "Zugriff verweigert - Bitte User und Passwort eingeben"
AuthUserFile /var/www/website1/.htpasswd
Require valid-user

Die einzelnen Zeilen aufgeschlüsselt:

AuthType Basic: Beschreibt die Art der Authentifizierung. In der Regel wird „Basic“ ( HTTP Basic Authentication) als Authentifizierungsmethode verwendet. Das Passwort wird allerdings vom Browser unverschlüsselt an den Webeserver übertragen. Eine andere Möglichkeit wäre „Digest“ welche die Passwörter verschlüsselt überträgt, aber leider von den wenigsten Browser unterstützt wird.

AuthName „Zugriff verweigert – Bitte User und Passwort eingeben“: Die Bezeichnung (Titel) des Abfragefensters im Browser, welche der Benutzer als kurze Beschreibung sieht.

AuthUserFile /var/www/website1/.htpasswd: Pfad zur .htpasswd Datei, welche die User- und Passwortinformationen zur Authentifizierung enthält.

Require valid-user: Beschreibt welche User aus der .htpasswd Datei Zugriff erhalten. Das können wie bei unserem Beispiel (valid-user) alle Benutzer in der .htpasswd sein, oder nur bestimmte angeführte User (Require user benutzer1 benutzer2)

.htpasswd Datei erstellen

Der Apache liefert unter Linux gleich den Befehl zur Erstellung der .htpasswd Datei mit, welcher ganz einfach angewendet werden kann (benutzer1 entsprechend durch den gewünschten Usernamen ersetzen):

htpasswd -c /var/www/website1/.htpasswd benutzer1

Der Befehl htpasswd ist auf manchen Systemen auch als htpasswd2 zu finden. -c (create) wird nur zum Erstellen der htpasswd Datei verwendet. Um einen weiteren Benutzer hinzuzufügen wird der Befehl ohne -c verwendet:

htpasswd /var/www/website1/.htpasswd benutzer2

htpasswd Generator – .htpasswd Datei online generieren

Wer nicht direkt auf die Linux Commandline oder per SSH auf das System zugreifen kann, der kann die .htpasswd Datei auch mit folgenden htpasswd Generator online generieren:

Ich habe die .htpasswd und .htaccess, der Einfachheit halber, in das gleiche Verzeichnis gelegt. In der Regel sollte die .htpasswd aber ausserhalb des Webserver Verzeichnisses liegen. Auf vielen Managed Servern ist das allerdings ohnehin nicht möglich.

Weiterführende Informationen:
htaccess Passwort Schutz und IP Adressen Schutz kombinieren
Apache Dokumentation

htaccess Passwortschutz für Apache Webserver erstellen, 4.7 out of 5 based on 12 ratings
GD Star Rating
loading...
Patrick Schoyswohl

Patrick Schoyswohl

Systemadministrator
Hallo, mein Name ist Patrick Schoyswohl und ich bin Systemadministrator in einer Agentur für neue Medien und seit 2009 Betreiber und leidenschaftlicher Blogger von SysADMINsLife.com. Meine Leidenschaft gehört den Webservern und der Serverüberwachung auf Open-Source Basis. Falls du gefallen an meinen Artikel hast, kannst du mir gerne auf Google+, Facebook oder Twitter folgen.
Patrick Schoyswohl
Making Sites Uber Fast! Yeah @filiwiese #seokomm https://t.co/avT4fU6pZw - 3 Monaten ago
Patrick Schoyswohl

Tags: , , , , , , , ,

Mittwoch, 21. November 2012 Linux, WebServer Author: Patrick Schoyswohl

4 Comments zum Thema htaccess Passwortschutz für Apache Webserver erstellen

  • Hartmut sagt:

    Dieses gewusst WIE, das war schon immer der Renner. Danke für die Anleitung. Wenn man nur einfache HTML Seiten verschlüsseln möchte, dann ist der Tipp ganz brauchbar.

  • Sebastian sagt:

    Man lernt nie aus, den htpasswd Befehl kannte ich noch nicht. Ich meine aber mal aus Erfahrungswerten, die wenigsten Website Betreiber werden auf der SSH Konsole arbeiten, da ist so ein Onlinegenerator eine feine Sache oder bei Confixx als Admin-Panel, wo man als Endkunde Benutzer anlegen kann für Verzeichnisse.

    Ansonsten gibts auch noch ein interessantes PHP Script, welches sich um die Zugangsverwaltung kümmert:

    http://www.planetc.de/download/php-scripte/planethtaccess/planethtaccess.html

  • Alex sagt:

    Wow… danke für die Detailierte Anleitung, funktionierte Super! Das Tool ist übrigens super spitzenklasse!

  • Atilla Boz sagt:

    Vielen Dank für den Beitrag – besonders der Generator ist sehr praktisch. 7 Daumen hoch!

  • Leave a Reply

    Werbung schalten

    *=Affiliatelink

    Blogverzeichnis - Blog Verzeichnis bloggerei.de