# Passwortauthentifizierung mit NGINX einrichten

Erfahren Sie, wie Sie ein einfaches HTTP-Authentifizierungssystem einrichten. Auf diese Weise können Sie bestimmte Verzeichnisse auf Ihrer Website mit einem Passwort schützen. Diese Form des Passwortschutzes ist ein schneller und einfacher Weg, um ein grundlegendes Sicherheitsniveau über die Zugangsberechtigung zu einer Website zu erreichen.

## Anforderungen

- Ein Server unter Linux (Ubuntu 16.04 oder CentOS 7)
- NGINX installiert und läuft.

## Erstellen der Passwort-Datei mit OpenSSH

Auf Ihrem Server wird höchstwahrscheinlich bereits OpenSSH installiert sein. Wenn nicht, können Sie es mit den folgenden Befehlen installieren:

**CentOS 7:**

```none
sudo yum install openssh openssh-server openssh-clients openssl-libs
```

**Ubuntu 16.04:**

```none
sudo apt-get install openssh-server
```

Verwenden Sie den folgenden Befehl, um eine Datei namens.htpasswd im Verzeichnis /etc/nginx zu erstellen:

```none
sudo sh -c "echo -n '[username]:' >> /etc/nginx/.htpasswd"
```

Um beispielsweise den Benutzer jdoe hinzuzufügen, lautet der Befehl:

```none
sudo sh -c "echo -n 'jdoe:' >> /etc/nginx/.htpasswd"
```

Fügen Sie dann mit dem Befehl ein Passwort für diesen Benutzer hinzu:

```none
sudo sh -c "openssl passwd -apr1 >> /etc/nginx/.htpasswd"
```

Sie werden aufgefordert, das Passwort zweimal einzugeben, um es zu bestätigen.

## Einrichten der Passwortauthentifizierung in NGINX

Der nächste Schritt ist das Hinzufügen der Kennwortauthentifizierungsanweisungen zur NGINX-Konfigurationsdatei für die Domain, in der Sie [Joomla installieren](https://www.ionos.de/digitalguide/hosting/cms/joomla-installieren/ "Joomla installieren").

Die Konfigurationsdatei der Domain befindet sich bei CentOS7 in **/etc/nginx/conf.d** und bei Ubuntu 16.04 in **/etc/nginx/sites-** .

Diese Datei bearbeiten:

**CentOS 7:**

```none
sudo nano /etc/nginx/conf.d/example.com.conf
```

**Ubuntu 16.04:**

```none
sudo nano /etc/nginx/sites-available/example.com.conf
```

Fügen Sie folgende Zeilen zu dieser Datei hinzu:

```none
auth_basic "Password Required";
    auth_basic_user_file /etc/nginx/.htpasswd;
```

---

### Hinweis

Diese beiden Direktiven stellen eine grundlegende Passwort-Beschränkung für das angegebene Verzeichnis dar. NGINX bietet viele Möglichkeiten, den Passwortschutz für verschiedene Dateien und Verzeichnisse einzurichten, einschließlich der Möglichkeit, nach Dateityp zu filtern. Wenn Sie ein komplizierteres System für den Passwortschutz einrichten möchten, lesen Sie die [offizielle NGINX-Dokumentation](http://nginx.org/en/docs/http/ngx_http_auth_basic_module.html "NGINX") für weitere Details.

---

Um die gesamte NGINX-Location zu schützen, fügen Sie die Anweisungen in den bestehenden Location Command Block ein. Wenn kein Location Command Block vorhanden ist, fügen Sie einen hinzu:

```none
location / {
    auth_basic "Password Required";
    auth_basic_user_file /etc/nginx/.htpasswd;
}
```

Wenn Sie ein Unterverzeichnis mit einem Passwort schützen möchten, geben Sie stattdessen dieses Verzeichnis an:

```none
location /admin {
    auth_basic "Password Required";
    auth_basic_user_file /etc/nginx/.htpasswd;
}
```

Achten Sie darauf, dass Sie diesen Location Block innerhalb des Server-Block hinzufügen. Zum Beispiel, wenn Ihre Konfigurationsdatei so aussieht:

```none
server {
    listen       80;
    server_name  example.com;
    root /usr/share/nginx/example.com/html/;
    index index.php index.html index.htm;
}
```

Nachdem Sie den neuen Abschnitt hinzugefügt haben, sieht er so aus:

```none
server {
        listen             80;
        server_name    example.com;
        root /usr/share/nginx/example.com/html/;
        index index.php index.html index.htm;
location / {
        auth_basic "Password Required";
        auth_basic_user_file /etc/nginx/.htpasswd;
    }
}
```

Speichern und beenden Sie die Datei und starten Sie NGINX neu:

```none
sudo nginx -s reload
```

Um die Konfiguration zu testen, besuchen Sie die URL in einem Browser. Wenn die Konfiguration korrekt eingerichtet ist, wird eine Popup-Meldung angezeigt, in der Sie aufgefordert werden, den Benutzernamen und das Passwort einzugeben.


This is a markdown version of: [https://www.ionos.de/digitalguide/server/konfiguration/nginx-passwortauthentifizierung/](https://www.ionos.de/digitalguide/server/konfiguration/nginx-passwortauthentifizierung/) for AI/LLM consumption.