HTTP authentication with Apache 2

Zuerst muss Apache2 installiert werden.

apt install apache2

Zusäätzlich muss zur Authentifizierung noch folgende PAket installiert werden:

sudo apt install apache2-utils

Darin befindet sich das htpasswd Programm. Ein Benutzer und ein Kennwort werden mit folgenden Befehl erstellt.

htpasswd -c /etc/apache2/.htpasswd user1234

Nun muss noch Apache konfiguriert werden. Die Konfiguratuion wird in der Datei /etc/apache2/sites-enabled/000-default.conf eingetragen.

<VirtualHost *:80>
  ServerAdmin webmaster@localhost
  DocumentRoot /var/www/html
  ErrorLog ${APACHE_LOG_DIR}/error.log
  CustomLog ${APACHE_LOG_DIR}/access.log combined

  <Directory "/var/www/html">
      AuthType Basic
      AuthName "Restricted Content"
      AuthUserFile /etc/apache2/.htpasswd
      Require valid-user
  </Directory>
</VirtualHost>

Nun muss der Apache Service noch mit service apache2 restart neu gestartet werden. Beim Zugriff auf dem Webserver sollte nun ein Authentifizierungsfenster erscheinen.