Besucher/innen

Heute1
Gestern28
Woche202
Monat929
Anzahl Beitragshäufigkeit
359297

Eine ausführlichere Anleitung gibt es unter dieser Adresse: http://de.selfhtml.org/servercgi/server/htaccess.htm (der Link funktioniert leider nicht mehr). Hier habe ich das zusammengestellt, was ohne großen Aufwand schnell umgesetzt werden kann. Verwendet habe ich Debian Etch mit Apache 2. Nachdem der erste Zugang eingerichtet war, habe ich den Webserver ein Mal neu gestartet. Wenn weitere Zugänge eingerichtet werden, ist das nicht erforderlich.

Es empfiehlt sich, den Ordner /administrator bei Joomla-Installationen auf diese Weise zu sichern. Das Verfahren weicht dann möglicherweise von dem hier beschriebenen ab. Lesen Sie dazu die Anleitungen Ihres Providers.

Konfigurationsdatei /etc/apache2/sites-available/default

Die Zeilenumbrüche habe ich wegen der besseren Lesbarkeit geändert.

Interessant ist der Abschnitt im Abschnitt <Directory /var/www/>. In diesem Verzeichnis und darunter werden die Dateien für die Clients gespeichert.
Mit AllowOverride All (fett gedruck) wird zugelassen, dass die Einstellungen des Apache geändert werden dürfen.

Außerdem habe ich das Standardverzeichnis mit einer # auskommentiert, so dass der Ordner /var/www für anzuzeigenden Dateien verwendet wird und nicht /apache2-default/. Das sieht einfach besser aus.

So sieht die Datei jetzt aus:

NameVirtualHost *
<VirtualHost *>
ServerAdmin webmaster@localhost

DocumentRoot /var/www/
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
# Das naechste Kommando laesst es zu,
# Vorgaben zu uebersteuern
AllowOverride All
Order allow,deny
allow from all
# This directive allows us to have apache2's
# default start page
# in /apache2-default/, but still have /
# go to the right place
# naechste Zeile Raute '#' gesetzt
# RedirectMatch ^/$ /apache2-default/
</Directory>

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>

ErrorLog /var/log/apache2/error.log

# Possible values include: debug, info, notice,
# warn, error, crit,
# alert, emerg.
LogLevel warn

CustomLog /var/log/apache2/access.log combined
ServerSignature On

Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>

</VirtualHost>

Ende der Datei

Änderungen anwenden

# /etc/init.d/apache2 reload

Zu schützendes Verzeichnis einrichten

In diesem Test soll unter /var/www ein Verzeichnis test erstellt und geschützt werden.

Verzeichnis erstellen:
mkdir /var/www/test.

Mit cd /var/www/test in das Verzeichnis wechseln

Mit touch .htaccess eine htaccess-Datei erstellen. Die Datei kann mit einem einfachen Texteditor bearbeitet werden.

AuthUserFile /var/www/test/.htusers
AuthType Basic
AuthName "test"
AuthGroupFile /dev/null
<Limit GET>
require valid-user
</Limit>

Die Einträge von .htaccess enthalten unter anderem den Pfad zu der Datei .htusers (vgl. dazu weiter unten). Diese Datei liegt im zu schützenden Ordner. Das ist nicht so supersicher, aber der Apache-Webserver zeigt den Inhalt der Dateien nicht an, wenn Pfad und Name im Browser eingeben werden. Auf einen Ordner außerhalb des Webservers wird man vom Provider aus ohnehin nicht zugreifen können. Zudem werden die Passworte verschlüsselt hinterlegt (siehe weiter unten).

Passwort einrichten

Wenn weder Passwort-Datei noch Benutzer eingerichtet sind, werden im betreffenden Ordner /var/www/test mit htpasswd -c .htusers benutzername die Passwort-Datei und erster Zugang erstellt. Das -c (create) erstellt die Datei. Dabei steht 'benutzername' für den entsprechenden richtigen Benutzernamen.

In den betreffenden Ordner wechseln

# cd /var/www/test

Datei erstellen uns ersten Benutzer einrichten

# htpasswd -c .htusers benutzername

 

 

Es erscheint eine Abfrage, in der das betreffende Passwort zwei Mal eingegeben werden muss.

Weitere Benutzer einrichten

# htpasswd .htusers neuerbenutzername

Sollen weitere Zugänge hinzugefügt werden, so lautet das Kommando htpasswd .htusers neuerbenutzername (ohne -c, sonst würde eine neue Datei erstellt und die alte überschrieben). Neue Zugänge werden in der Datei automatisch unten angefügt.

Zugang löschen

Zugänge lassen sich löschen, indem man die betreffende Zeile der Datei entfernt.