.htaccess steht für „Hypertext-Zugriff“. Dies ist die standardmäßige Apache-Konfigurationsdatei auf Verzeichnisebene. .htaccess kann verwendet werden, um bestimmte Verzeichnisse auf dem Webserver zu sichern. Eine der häufigsten Anwendungen besteht darin, eine Benutzerauthentifizierung zu verlangen, um bestimmte Webseiten zu bedienen.
.htaccess-Datei erstellen.
Erstellen Sie zunächst eine .htaccess Datei im Dokumentenstammverzeichnis Ihrer Website, um die gesamte Website oder ein bestimmtes Verzeichnis zu schützen und folgenden Inhalt hinzuzufügen.
AuthType Basic AuthName "Secure Content" AuthUserFile /home/myuser/public_html/.htpasswd require valid-user
Benutzer in .htpasswd erstellen
Beginnen Sie nun mit dem Erstellen von Benutzern in .htpasswd, die in der .htaccess-Datei definiert sind. Sie können Benutzer und Passwort entweder im Klartext oder md5-verschlüsselt hinzufügen.
Passwort im Klartextformat hinzufügen:
# htpasswd -c /home/myuser/public_html/.htpasswd myuser
Passwort mit md5-Kryptformat hinzufügen
# htpasswd -cm /home/myuser/public_html/.htpasswd myuser
Apache konfigurieren, um .htaccess-Authentifizierung zuzulassen
Standardmäßig erlaubt Apache die Verwendung von .htaccess nicht. Sie müssen also auch die folgende Einstellung in Ihrer httpd.conf aktualisieren, um die .htaccess-basierte Authentifizierung zu ermöglichen. Wir verwenden die Allowoverride-Variable, um zu definieren, ob .htaccess von Apache gelesen wird oder nicht.
From: AllowOverride none To: AllowOverride AuthConfig
Wenn Sie AuthConfig festlegen, wird nur die Authentifizierung in .htaccess zugelassen, der Rest der Einstellung (falls vorhanden) wird ignoriert. Um alle in der .htaccess-Datei definierten Einstellungen zuzulassen, verwenden Sie „All“ anstelle von „AuthConfig“.
Apache neu starten und Setup testen.
Nachdem Sie Änderungen an der Apache-Konfigurationsdatei (httpd.conf oder apache2.conf) vorgenommen haben, müssen Sie den Apache-Webdienst neu starten.
Für Benutzer von CentOS/RHEL 6/5:
# service httpd restart
Für Benutzer von CentOS/RHEL 7:
# systemctl enable httpd.service
Für Ubuntu/Debian-Benutzer:
# service apache2 restart
Vielen Dank für das Lesen dieses Artikels. Ich hoffe, er hilft Ihnen dabei, die grundlegende Authentifizierung in Apache mit .htaccess einzurichten.