Testen Sie Ihre Fähigkeiten mit unseren Hosting-Diensten und erhalten Sie 15% Rabatt!

Code an der Kasse verwenden:

Skills
09.12.2024

Einrichten der Apache htpasswd-Authentifizierung in Ubuntu

Sperren Sie Ihre Website mit Apache htpasswd auf AlexHost Ubuntu VPS

Warum htpasswd verwenden? Htpasswd von Apache ist Ihre schnelle Lösung, um Webverzeichnisse – z.B. Admin-Panels oder Entwicklungsseiten – mit einem einfachen Benutzername/Passwort-Gate zu sichern. Es ist leichtgewichtig, perfekt für grundlegende Zugriffskontrolle und ein Kinderspiel, es auf einem AlexHost Ubuntu VPS mit Apache einzurichten. Dieser Leitfaden führt Sie durch das Hinzufügen dieser Lock-and-Key-Vibe zu Ihrer Website, so dass sensible Bereiche sicher sind, ohne ins Schwitzen zu kommen.

Voraussetzungen

  • Ein Server mit Ubuntu und installiertem Apache2.
  • Rout- oder sudo-Zugriff auf den Server.
  • Grundkenntnisse im Umgang mit der Kommandozeile.

Schritt 1: Installieren Sie Apache (falls nicht bereits installiert)

Wenn Apache nicht auf Ihrem Ubuntu-Server installiert ist, können Sie ihn mit dem folgenden Befehl installieren:

sudo apt update

sudo apt install apache2

Schritt 2: Aktivieren Sie das Dienstprogramm htpasswd

Das Dienstprogramm htpasswd wird vom Paket apache2-utils bereitgestellt, das normalerweise mit Apache installiert wird. Wenn es nicht installiert ist, können Sie es installieren, indem Sie ausführen:

sudo apt install apache2-utils

Dieser Befehl installiert die notwendigen Passwortverwaltungstools für htpasswd-Authentifizierungsdateien.

Schritt 3: Erstellen Sie die .htpasswd-Datei

Die .htpasswd-Datei wird verwendet, um Benutzernamen und verschlüsselte Authentifizierungspasswörter zu speichern.

  1. Um eine neue .htpasswd-Datei zu erstellen und einen Benutzer hinzuzufügen, führen Sie den folgenden Befehl aus:
    sudo htpasswd -c /etc/apache2/.htpasswd your_username

    Ersetzen Sie your_username durch den Benutzernamen, den Sie erstellen möchten.

    • Mit der Option -c wird eine neue .htpasswd-Datei erstellt . Wenn die Datei bereits existiert und Sie -c verwenden, wird sie überschrieben, also verwenden Sie sie nur, wenn Sie die Datei zum ersten Mal erstellen.
  2. Kennwort eingeben und bestätigen: Nach der Ausführung des Befehls werden Sie aufgefordert, ein Kennwort für den Benutzer einzugeben und zu bestätigen. Es wird eine Datei /etc/apache2/.htpasswd mit dem verschlüsselten Kennwort für Ihr_Name erstellt.
  3. Hinzufügen weiterer Benutzer (optional): Um weitere Benutzer hinzuzufügen, ohne die bestehende .htpasswd-Datei zu überschreiben, führen Sie aus:
    sudo htpasswd /etc/apache2/.htpasswd another_username

    Ersetzen Sie another_username durch den neuen Benutzernamen. Dieser Befehl fügt den neuen Benutzer zur bestehenden .htpasswd-Datei hinzu.

Schritt 4: Konfigurieren Sie den Apache für den Passwortschutz

Sie müssen angeben, welches Verzeichnis oder welchen Ort Sie mit einem Passwort schützen wollen. Dies geschieht mithilfe einer .htaccess-Datei oder durch direkte Bearbeitung der Apache-Konfigurationsdatei.

Option 1: Verwendung der .htaccess-Datei

  1. Aktivieren von .htaccess-Dateien: Wenn Sie .htaccess-Dateien zum Einrichten des Passwortschutzes verwenden möchten, stellen Sie sicher, dass die AllowOverride-Direktive für das zu schützende Verzeichnis auf All gesetzt ist. Bearbeiten Sie die entsprechende Apache-Konfigurationsdatei (z. B. /etc/apache2/sites-available/000-default.conf):
    sudo nano /etc/apache2/sites-available/000-default.conf

    Suchen Sie den Abschnitt für Ihr Web-Root (z. B. /var/www/html) und setzen Sie AllowOverride auf All:


    AllowOverride All

  2. Starten Sie Apache neu: Starten Sie Apache nach der Bearbeitung der Konfiguration neu, um die Änderungen zu übernehmen:
    sudo systemctl restart apache2
  3. Erstellen Sie eine .htaccess-Datei: Erstellen oder bearbeiten Sie innerhalb des zu schützenden Verzeichnisses (z. B. /var/www/html) eine .htaccess-Datei:
    sudo nano /var/www/html/.htaccess
  4. Fügen Sie die folgenden Direktiven hinzu: Fügen Sie die folgenden Zeilen in die .htaccess-Datei ein:
    AuthType Basic
    AuthName “Eingeschränkter Inhalt”
    AuthUserFile /etc/apache2/.htpasswd
    Erfordert valid-user
    • AuthType Basic: Legt die grundlegende Authentifizierung fest.
    • AuthName: Nachricht, die in der Authentifizierungsnachricht angezeigt wird.
    • AuthUserFile: Der Pfad zu Ihrer .htpasswd-Datei.
    • Require Valid User: Schränkt den Zugriff auf die in der .htpasswd-Datei aufgeführten Benutzer ein.
  5. Speichern und schließen Sie die Datei.

Option 2: Direkte Verwendung der Apache-Konfigurationsdatei

Wenn Sie es vorziehen, die Authentifizierung direkt in den Apache-Konfigurationsdateien zu verwalten, anstatt .htaccess zu verwenden, führen Sie die folgenden Schritte aus:

  1. Bearbeiten Sie die Konfiguration des virtuellen Hosts: Öffnen Sie die Apache-Konfigurationsdatei für die Website, die Sie sichern möchten (z. B. /etc/apache2/sites-available/000-default.conf):
    sudo nano /etc/apache2/sites-available/000-default.conf
  2. Fügen Sie die Authentifizierungsrichtlinien hinzu: Fügen Sie innerhalb des Blocks oder des Blocks, der dem zu schützenden Verzeichnis entspricht, Folgendes hinzu:
    <Directory "/var/www/html">
    AuthType Basic
    AuthName "Restricted Content"
    AuthUserFile /etc/apache2/.htpasswd
    Require valid-user

  3. Speichern und schließen Sie die Konfigurationsdatei.
  4. Starten Sie Apache neu: Nachdem Sie die Änderungen vorgenommen haben, starten Sie Apache neu:
    sudo systemctl restart apache2

Schritt 5: Testen Sie die Authentifizierung

Rufen Sie nun mit Ihrem Webbrowser die URL des sicheren Verzeichnisses auf (z. B. http://your_server_ip_or_domain). Sie sollten eine Anmeldeaufforderung sehen, die nach einem Benutzernamen und einem Passwort fragt.

  • Geben Sie den Benutzernamen und das Kennwort ein, die Sie mit dem Befehl htpasswd erstellt haben.
  • Wenn die Anmeldedaten korrekt sind, wird Ihnen der Zugriff auf das Verzeichnis gewährt; andernfalls wird Ihnen der Zugriff verweigert.

Schritt 6: Schützen Sie die Datei .htpasswd

Stellen Sie aus Sicherheitsgründen sicher, dass die .htpasswd-Datei außerhalb des Web-Root-Verzeichnisses (z. B. /etc/apache2/.htpasswd) gespeichert wird, damit ein Webbrowser nicht direkt darauf zugreifen kann.

Stellen Sie sicher, dass die .htpasswd-Datei die richtigen Berechtigungen hat:

sudo chmod 640 /etc/apache2/.htpasswd

sudo chown www-data:www-data /etc/apache2/.htpasswd

Damit wird sichergestellt, dass nur der Apache-Benutzer (www-data) und root Lesezugriff auf die Datei .htpasswd haben.

Schlussfolgerung: Sichern Sie Ihre Website mit Leichtigkeit

Apache htpasswd ist Ihre schnelle Lösung für das Sperren von Webverzeichnissen auf Ihrem AlexHost Ubuntu VPS. Installieren Sie die Tools, erstellen Sie

.htpasswd
, konfigurieren Sie
.htaccess
oder Apache, und testen Sie – bumm – die private Zone ist fertig. Sichern Sie die Datei, fügen Sie SSL zur Sicherheit hinzu, und Sie haben es geschafft. Brauchen Sie Hilfe? Der Support von AlexHost ist nur ein Ticket entfernt. Schließen Sie es ab und programmieren Sie weiter!

Testen Sie Ihre Fähigkeiten mit unseren Hosting-Diensten und erhalten Sie 15% Rabatt!

Code an der Kasse verwenden:

Skills