# Passwortschutz für ein Verzeichnis mit Apache

Erfahren Sie, wie Sie ein Verzeichnis mit Hilfe der grundlegenden HTTP-Authentifizierung des Apache mit einem Passwort schützen können. Diese Methode ermöglicht es Ihnen, einen geschützten Bereich Ihrer Website einzurichten, der einen Benutzernamen und ein Passwort für den Zugriff erfordert.

## Anforderungen

- Ein Cloud Server unter Linux (CentOS 7 oder Ubuntu 16.04).
- [Apache Webserver installiert](https://www.ionos.at/digitalguide/server/konfiguration/apache-webserver-einrichten-so-wirds-gemacht/) und läuft.

## Erstellen der Passwort-Datei

Der erste Schritt besteht darin, eine Passwortdatei zu erstellen, mit der der Apache den Benutzernamen und das Passwort überprüft. Diese Datei wird.htpasswd genannt und an einem sicheren Ort abgelegt: /etc/apache2 auf Ubuntu 16.04, und /etc/httpd auf CentOS 7.

Mit dem Befehl htpasswd kann entweder eine Passwortdatei erstellt oder ein Eintrag hinzugefügt werden. Zum ersten Mal werden wir das Flag -c verwenden, um die Datei zu erstellen und den Benutzernamen jdoe hinzuzufügen:

- **CentOS 7:** sudo htpasswd -c /etc/httpd/.htpasswd jdoe
- **Ubuntu 16.04:** sudo htpasswd -c /etc/apache2/.htpasswd jdoe

Sie werden aufgefordert, das neue Passwort für den Benutzer einzugeben und zu bestätigen.

#### Hinzufügen eines neuen Benutzers zu einer bestehenden Datei

Um einen neuen Benutzer zu einer bestehenden Passwortdatei hinzuzufügen, verwenden Sie den gleichen Befehl ohne das Flag -c. Um zum Beispiel einen Benutzer janedoe hinzuzufügen, lautet der Befehl:

- **CentOS 7:** sudo htpasswd /etc/httpd/.htpasswd janedoe
- **Ubuntu 16.04:** sudo htpasswd /etc/apache2/.htpasswd janedoe

Sie werden aufgefordert, das neue Passwort für den Benutzer einzugeben und zu bestätigen.

## Verzeichnisbeschränkung aktivieren

Bevor Sie ein Verzeichnis beschränken können, müssen Sie den Apache so konfigurieren, dass er .htaccess-Dateien erlaubt.

### CentOS 7

Öffnen Sie die Hauptkonfigurationsdatei des Apache zur Bearbeitung mit dem Befehl:

```none
sudo nano /etc/httpd/conf/httpd.conf
```

Scrollen Sie nach unten zum Abschnitt &lt;Verzeichnis&gt; für “/var/wwww/html” und ändern Sie AllowOverride auf All.

Speichern und beenden Sie die Datei. Starten Sie dann den Apache neu, damit die Änderungen wirksam werden:

```none
sudo systemctl restart httpd
```

### Ubuntu 16.04

Öffnen Sie die Hauptkonfigurationsdatei des Apache zur Bearbeitung mit dem Befehl:

```none
sudo nano /etc/apache2/apache2.conf
```

Scrollen Sie nach unten zum Abschnitt &lt;Verzeichnis&gt; für “/var/www” und ändern Sie AllowOverride auf All.

```none
<Directory /var/www/>
    Options Indexes FollowSymLinks
    AllowOverride All
    Require all granted
</Directory>
```

Speichern und beenden Sie die Datei. Starten Sie dann den Apache neu, damit die Änderungen wirksam werden:

```none
sudo systemctl restart apache2
```

## Erstellen des beschränkten Bereichs

Gehen Sie zu dem Verzeichnis, das Sie schützen möchten. Zum Beispiel:

```none
cd /var/www/html/admin
```

Erstellen Sie eine Datei namens.htaccess und öffnen Sie sie zur Bearbeitung:

```none
sudo nano .htaccess
```

Fügen Sie das Folgende in diese Datei ein:

**CentOS 7:**

```none
AuthType Basic
AuthName "Password Required"
Require valid-user
AuthUserFile /etc/httpd/.htpasswd
```

**Ubuntu 16.04:**

```none
AuthType Basic
AuthName "Password Required"
Require valid-user
AuthUserFile /etc/apache2/.htpasswd
```

## Testen der Authentifizierung

Um die Authentifizierung zu testen, besuchen Sie die passwortgeschützte URL in einem Browser. Sie erhalten ein Popup-Fenster, in dem Sie aufgefordert werden, einen Benutzernamen und ein Passwort einzugeben, um fortzufahren.

Hinweis Wenn Ihr Browser über einen Popup-Blocker verfügt, müssen Sie ihn so konfigurieren, dass er Popups für diese Domain zulässt.


This is a markdown version of: [https://www.ionos.at/digitalguide/server/konfiguration/passwortschutz-fuer-ein-verzeichnis-mit-apache/](https://www.ionos.at/digitalguide/server/konfiguration/passwortschutz-fuer-ein-verzeichnis-mit-apache/) for AI/LLM consumption.