• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

[gelöst] Apache2 kein Zugriffsschutz auf Verzeichnisse

rudibert

Newbie
Hallo,

ich habe folgendes Problem:

Ich moechte, dass alle Seiten auf meinem Web-Server (SUSE-Linux 9.1, Apache 2) nur mit Passwort erreichbar sind.
Ich habe unter /etc/apache2 eine Datei .htpasswd mit Inhalt User:passwort (verschluesselt) eingerichtet. Hat aber nicht funktioniert. Dann habe ich versucht, mein System ganz zuzumachen (siehe httpd.conf). Leider bleibt mein System offen, was ich auch anstelle.
Hier meine httpd.conf

Include /etc/apache2/uid.conf
Include /etc/apache2/server-tuning.conf
ErrorLog /var/log/apache2/error_log
Include /etc/apache2/sysconfig.d/loadmodule.conf
Include /etc/apache2/listen.conf
Include /etc/apache2/mod_log_config.conf
Include /etc/apache2/sysconfig.d/global.conf
Include /etc/apache2/mod_status.conf
Include /etc/apache2/mod_info.conf
Include /etc/apache2/mod_usertrack.conf
Include /etc/apache2/mod_autoindex-defaults.conf
TypesConfig /etc/apache2/mime.types
DefaultType text/plain
Include /etc/apache2/mod_mime-defaults.conf
Include /etc/apache2/errors.conf
Include /etc/apache2/ssl-global.conf
<Directory />
Options All
AllowOverride None
Order deny,allow
Deny from All
</Directory>
AccessFileName .htaccess
<Files ~ "^\.ht">
Order allow,deny
Deny from all
</Files>
DirectoryIndex index.html index.html.var
Include /etc/apache2/default-server.conf
Include /etc/apache2/sysconfig.d/include.conf
Include /etc/apache2/vhosts.d/*.conf

Es existieren keine Dateien mit dem Namen .htaccess .
Eigentlich muesste mein System jetzt für alle gesperrt sein oder uebersehe ich da was?

Um das System für einen User, der in der .htpasswd steht, zugaenglich zu machen, sollte dier Directory-Eintrag in der httpd.conf doch folgendermaßen aussehen:

<Directory />
Options All
AllowOverride None
Order deny,allow
Deny from All
AuthType Basic
AuthName "geschütztes Verzeichnis"
AuthUserFile /etc/apache2/.htpasswd
Require valid-user
</Directory>

Kann mir jemand einen Tip geben?
 

nobbiew

Hacker
  1. Ein einfaches Anlegen der .htpasswd reicht alleine nicht aus. Was du aber offensichtlich schon erkannt hast.
  2. Bist du dir sicher, dass nicht ein einer der Includierten Konfigurationen weitere Regelungen für Directory o. Location gemacht werden, die deine Regelung für <Directory /> wieder aufheben?
  3. Nach jeder Änderung in den Conf-Dateien musst du min. einen "rcapache reload" oft sogar einen "rcpache restart" ausführen, damit die Änderungen auch aktiv werden.
  4. Dein Abschnitt <Directory /> ist soweit OK.
 
rudibert schrieb:
Hier meine httpd.conf

[..]
Include /etc/apache2/default-server.conf

In dieser default-server.conf sind die Direktiven für den Document Root (/srv/www/htdocs) definiert. Die überstimmen die globalen Einstellungen in der httpd.conf, die für alle Verzeichnisse gelten, welche keine eigenen Direktiven haben. 8)


Ich habe versuchsweise den Zugriff wie folgt geregelt (übertragen auf deine Einstellungen):

/etc/apache2/default-server.conf (Auszug):
Code:
<Directory "/srv/www/htdocs">
        Options None
        AllowOverride AuthConfig
        Order allow,deny
        Allow from all
</Directory>

Und dann einer .htaccess-Datei im Verzeichnis /srv/www/htdocs:
Code:
AuthType Basic
AuthName "geschütztes Verzeichnis"
AuthUserFile /etc/apache2/.htpasswd
Require valid-user

Andersrum kann ich's nicht ausprobieren, da ich grad keinen Webserver zur Hand habe, den ich komplett blockieren dürfte.. :roll:
 
OP
R

rudibert

Newbie
Danke das wars.

Als ich in der default-server.conf den Eintrag AllowOverride auf AuthConfig gesetzt hatte, klappte alles so, wie ich es haben wollte.

Vielen Dank für die Hilfe.

MfG

Rudi
 
Oben