Bernhard: Apache - htaccess unter W2k

Hallo,

wie kann ich den Zugriff auf bestimmte Verzeichnisse unter W2k beschränken?

.htaccess ist im zu schützenden Verzeichnis vorhanden, sowie das Passwordfile.

mein .htaccess:

AuthType Basic
AuthName "privater Bereich"
AuthUserFile C:\Programme\Apache Group\Apache\htdocs\Photoalbum.htpasswd
require valid-user

die .htpasswd:
Bernhard:bernhard

(nicht verschlüsselt, wie in der htaccess-selfhtml anleitung)

Ist der Pfad falsch gesetzt?
Es kommt kein Authentifizierungsfenster... :(
Danke,
Bernhard

  1. Hi,

    AuthUserFile C:\Programme\Apache Group\Apache\htdocs\Photoalbum.htpasswd

    setz den Pfad mal in Anführungszeichen; ansonsten interpretiert Apache ihn nur bis zum Leerzeichen.

    Cheatah

    1. Hi,

      AuthUserFile C:\Programme\Apache Group\Apache\htdocs\Photoalbum.htpasswd

      setz den Pfad mal in Anführungszeichen; ansonsten interpretiert Apache ihn nur bis zum Leerzeichen.

      Cheatah

      Hi Cheatah,

      dank Dir, hat aber keine Anderung gebracht.

      mittlerweile schaut die .htaccess so aus:

      AuthType Basic
      AuthName "Photoalbum"
      AuthUserFile "C:\Programme\Apache Group\Apache\htdocs\Photoalbum.htpasswd"
      deny from     all
      satisfy       all
      require valid-user

      Kriegs echt nicht auf die Reihe!

      Muß in der conf-Datei noch etwas rein, außer "AccessFileName .htaccess"?

      TNX
      Bernhard

      1. Hallo Bernhard,

        Muß in der conf-Datei noch etwas rein, außer "AccessFileName .htaccess"?

        AllowOverride AuthConfig

        (es sei denn, da steht "AllowOverride All" ;-)

        Viele Grüße
        Carsten

        1. AllowOverride AuthConfig

          (es sei denn, da steht "AllowOverride All" ;-)

          Hallo Carsten,

          ich hoffe, ich müll Euch nicht zu, aber nachfolgend stehen alle Einträge, bei denen AllowOverride vorkommt. Die Directories kann ich wohl vernachlässigen und muß ich dann "AllowOverride None" umändern, oder "AllowOverride AuthConfig" hinzufügen?

          Sorry, habs noch nicht probiert, was ich gleich nachhole, doch in Sachen Konfiguration stehe ich recht planlos da.

          TNX
          Bernhard

          <Directory />
              Options FollowSymLinks
              AllowOverride None
          </Directory>

          AllowOverride None

          <Directory "C:/Programme/Apache Group/Apache/icons">
                  Options Indexes MultiViews
                  AllowOverride None
                  Order allow,deny
                  Allow from all
          </Directory>

          <Directory "C:/Programme/Apache Group/Apache/htdocs/manual">
                  Options Indexes FollowSymlinks MultiViews
                  AllowOverride None
                  Order allow,deny
                  Allow from all
          </Directory>

          <Directory "C:/Programme/Apache Group/Apache/cgi-bin">
                  AllowOverride None
                  Options None
                  Order allow,deny
                  Allow from all
          </Directory>

          1. <Directory />
                Options FollowSymLinks
                AllowOverride None
            </Directory>

            Ändere dies in:

            <Directory />
                Options FollowSymLinks
                AllowOverride AuthConfig
            </Directory>

            Cu, Liv

            1. <Directory />
                  Options FollowSymLinks
                  AllowOverride None
              </Directory>

              Ändere dies in:

              <Directory />
                  Options FollowSymLinks
                  AllowOverride AuthConfig
              </Directory>

              Cu, Liv

              Hi Liv,

              vielen Dank für Deine Mühe, aber auch das bringt nach dem Apache-Restart keine Wirkung. Komme ohne Probleme drauf.

              Was ich noch erwähnen wollte, habe den Apache als Localhost laufen.

              TNX
              Bernhard

              1. vielen Dank für Deine Mühe, aber auch das bringt nach dem Apache-Restart keine Wirkung. Komme ohne Probleme drauf.

                Poste bitte (oder mache sie anderweitig verfügbar) deine komplette httpd.conf und die entsprechende .htaccess

                Cu, Liv

                1. Hallo Liv,

                  mit Carstens Hilfe (AllowOverride AuthConfig) wird die Seite nicht mehr angezeigt. Bekomme einen "Internal Server Error".

                  Bräuchte noch Infos, wie ich ein Authentisierungsfenster erhalte.

                  Wie kann ich das wieder gut machen, die Arbeit die Du Dir mit dem Durchstöbern meiner Files machst???? ;-)

                  Vielen Dank

                  Bernhard

                  PS: Mußte die Erklärungen kürzen, da nur "Überprüfen Sie bitte Ihre Mitteilung! Sie ist zu lang (maximal 12288 Zeichen)."

                  httpd.conf:

                  ServerType standalone
                  ServerRoot "C:/Programme/Apache Group/Apache"
                  PidFile logs/httpd.pid
                  ScoreBoardFile logs/apache_runtime_status
                  Timeout 300
                  KeepAlive On
                  MaxKeepAliveRequests 100
                  KeepAliveTimeout 15
                  MaxRequestsPerChild 0
                  ThreadsPerChild 50
                  ClearModuleList
                  #AddModule mod_vhost_alias.c
                  AddModule mod_env.c
                  AddModule mod_log_config.c
                  #AddModule mod_mime_magic.c
                  AddModule mod_mime.c
                  AddModule mod_negotiation.c
                  #AddModule mod_status.c
                  #AddModule mod_info.c
                  AddModule mod_include.c
                  AddModule mod_autoindex.c
                  AddModule mod_dir.c
                  AddModule mod_isapi.c
                  AddModule mod_cgi.c
                  AddModule mod_asis.c
                  AddModule mod_imap.c
                  AddModule mod_actions.c
                  #AddModule mod_speling.c
                  AddModule mod_userdir.c
                  AddModule mod_alias.c
                  #AddModule mod_rewrite.c
                  AddModule mod_access.c
                  AddModule mod_auth.c
                  #AddModule mod_auth_anon.c
                  #AddModule mod_auth_dbm.c
                  #AddModule mod_auth_digest.c
                  #AddModule mod_digest.c
                  #AddModule mod_proxy.c
                  #AddModule mod_cern_meta.c
                  #AddModule mod_expires.c
                  #AddModule mod_headers.c
                  #AddModule mod_usertrack.c
                  #AddModule mod_unique_id.c
                  AddModule mod_so.c
                  AddModule mod_setenvif.c

                  Port 80

                  ServerAdmin bernhard@localhost.info

                  ServerName www.localhost.info
                  DocumentRoot "C:/Programme/Apache Group/Apache/htdocs"
                  <Directory />
                      Options FollowSymLinks
                      AllowOverride None
                  </Directory>
                  <Directory "C:/Programme/Apache Group/Apache/htdocs">
                      Options Indexes FollowSymLinks MultiViews
                      AllowOverride AuthConfig
                      Order allow,deny
                      Allow from all
                  </Directory>
                  <IfModule mod_userdir.c>
                      UserDir "C:/Programme/Apache Group/Apache/users/"
                  </IfModule>
                  <IfModule mod_dir.c>
                      DirectoryIndex index.jsp
                  </IfModule>

                  AccessFileName .htaccess
                  <Files ~ "^.ht">
                      Order allow,deny
                      Deny from all
                      Satisfy All
                  </Files>
                  UseCanonicalName On
                  <IfModule mod_mime.c>
                      TypesConfig conf/mime.types
                  </IfModule>
                  DefaultType text/plain
                  <IfModule mod_mime_magic.c>
                      MIMEMagicFile conf/magic
                  </IfModule>
                  HostnameLookups Off

                  ErrorLog logs/error.log

                  LogLevel warn

                  LogFormat "%h %l %u %t "%r" %>s %b "%{Referer}i" "%{User-Agent}i"" combined
                  LogFormat "%h %l %u %t "%r" %>s %b" common
                  LogFormat "%{Referer}i -> %U" referer
                  LogFormat "%{User-agent}i" agent

                  CustomLog logs/access.log common
                  ServerSignature On

                  <IfModule mod_alias.c>
                      Alias /icons/ "C:/Programme/Apache Group/Apache/icons/"

                  <Directory "C:/Programme/Apache Group/Apache/icons">
                          Options Indexes MultiViews
                          AllowOverride None
                          Order allow,deny
                          Allow from all
                      </Directory>
                      Alias /manual/ "C:/Programme/Apache Group/Apache/htdocs/manual/"

                  <Directory "C:/Programme/Apache Group/Apache/htdocs/manual">
                          Options Indexes FollowSymlinks MultiViews
                          AllowOverride None
                          Order allow,deny
                          Allow from all
                      </Directory>
                      ScriptAlias /cgi-bin/ "C:/Programme/Apache Group/Apache/cgi-bin/"
                      <Directory "C:/Programme/Apache Group/Apache/cgi-bin">
                          AllowOverride None
                          Options None
                          Order allow,deny
                          Allow from all
                      </Directory>

                  </IfModule>
                  <IfModule mod_autoindex.c>

                  IndexOptions FancyIndexing

                  AddIconByEncoding (CMP,/icons/compressed.gif) x-compress x-gzip

                  AddIconByType (TXT,/icons/text.gif) text/*
                      AddIconByType (IMG,/icons/image2.gif) image/*
                      AddIconByType (SND,/icons/sound2.gif) audio/*
                      AddIconByType (VID,/icons/movie.gif) video/*

                  AddIcon /icons/binary.gif .bin .exe
                      AddIcon /icons/binhex.gif .hqx
                      AddIcon /icons/tar.gif .tar
                      AddIcon /icons/world2.gif .wrl .wrl.gz .vrml .vrm .iv
                      AddIcon /icons/compressed.gif .Z .z .tgz .gz .zip
                      AddIcon /icons/a.gif .ps .ai .eps
                      AddIcon /icons/layout.gif .html .shtml .htm .pdf
                      AddIcon /icons/text.gif .txt
                      AddIcon /icons/c.gif .c
                      AddIcon /icons/p.gif .pl .py
                      AddIcon /icons/f.gif .for
                      AddIcon /icons/dvi.gif .dvi
                      AddIcon /icons/uuencoded.gif .uu
                      AddIcon /icons/script.gif .conf .sh .shar .csh .ksh .tcl
                      AddIcon /icons/tex.gif .tex
                      AddIcon /icons/bomb.gif core

                  AddIcon /icons/back.gif ..
                      AddIcon /icons/hand.right.gif README
                      AddIcon /icons/folder.gif ^^DIRECTORY^^
                      AddIcon /icons/blank.gif ^^BLANKICON^^
                      DefaultIcon /icons/unknown.gif

                  IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t

                  </IfModule>
                  <IfModule mod_mime.c>
                      AddLanguage da .dk
                      AddLanguage nl .nl
                      AddLanguage en .en
                      AddLanguage et .ee
                      AddLanguage fr .fr
                      AddLanguage de .de
                      AddLanguage el .el
                      AddLanguage he .he
                      AddCharset ISO-8859-8 .iso8859-8
                      AddLanguage it .it
                      AddLanguage ja .ja
                      AddCharset ISO-2022-JP .jis
                      AddLanguage kr .kr
                      AddCharset ISO-2022-KR .iso-kr
                      AddLanguage nn .nn
                      AddLanguage no .no
                      AddLanguage pl .po
                      AddCharset ISO-8859-2 .iso-pl
                      AddLanguage pt .pt
                      AddLanguage pt-br .pt-br
                      AddLanguage ltz .lu
                      AddLanguage ca .ca
                      AddLanguage es .es
                      AddLanguage sv .se
                      AddLanguage cz .cz
                      AddLanguage ru .ru
                      AddLanguage tw .tw
                      AddLanguage zh-tw .tw
                      AddCharset Big5         .Big5    .big5
                      AddCharset WINDOWS-1251 .cp-1251
                      AddCharset CP866        .cp866
                      AddCharset ISO-8859-5   .iso-ru
                      AddCharset KOI8-R       .koi8-r
                      AddCharset UCS-2        .ucs2
                      AddCharset UCS-4        .ucs4
                      AddCharset UTF-8        .utf8

                  <IfModule mod_negotiation.c>
                          LanguagePriority en da nl et fr de el it ja kr no pl pt pt-br ru ltz ca es sv tw
                      </IfModule>
                      AddType application/x-tar .tgz

                  </IfModule>
                  <IfModule mod_setenvif.c>
                  </IfModule>
                  LoadModule jrun_module "C:/Programme/Allaire/JRun/connectors/apache/intel-win/mod_jrun136.dll"
                  <IfModule mod_jrun.c>
                  JRunConfig jrun.rootdir "C:\Programme\Allaire\JRun"
                  JRunConfig jvmlist default
                  JRunConfig Verbose false
                  </IfModule>

                  .htaccess:

                  AuthType Basic
                  AuthName "Photoalbum"
                  AuthUserFile "C:\Programme\Apache Group\Apache\htdocs\Photoalbum.htpasswd"
                  deny from     all
                  satisfy       all
                  require valid-user

                  .htpasswd:

                  Bernhard:bernhard

                  1. Wie kann ich das wieder gut machen, die Arbeit die Du Dir mit dem Durchstöbern meiner Files machst???? ;-)

                    Confe deinen Server richtig ;-)

                    PS: Mußte die Erklärungen kürzen, da nur "Überprüfen Sie bitte Ihre Mitteilung! Sie ist zu lang (maximal 12288 Zeichen)."

                    Was ich wissen wollte, steht drin. Danke.

                    .htaccess:

                    AuthUserFile "C:\Programme\Apache Group\Apache\htdocs\Photoalbum.htpasswd"
                    deny from     all
                    satisfy       all
                    require valid-user

                    Ich muß geschlafen haben. Dies ist natürlich falsch. Siehe Default Konfiguration:

                    NOTE: Where filenames are specified, you must use forward slashes

                    instead of backslashes (e.g., "c:/apache" instead of "c:\apache").

                    Benutze Slashes "/" statt Backslahes "". Sowohl in der httpd.conf, als auch in der .htaccess-Datei.

                    Übrigens:

                    Alias /manual/ "C:/Programme/Apache Group/Apache/htdocs/manual/"

                    <Directory "C:/Programme/Apache Group/Apache/htdocs/manual">
                            Options Indexes FollowSymlinks MultiViews
                            AllowOverride None
                            Order allow,deny
                            Allow from all
                        </Directory>

                    Folgendes reicht:

                    <Directory "C:/Programme/Apache Group/Apache/htdocs/manual">
                            AllowOverride None
                        </Directory>

                    Der Rest ist bereits durch den DocumentRoot definiert.

                    cu, Liv

                    1. Hallo Liv,

                      danke für Deine Bemühungen, hab es schon hinbekommen, doch konnte ich Dir nicht Bescheid geben, da das Forum eine Zeit nicht zugänglich war.

                      Der Kanckpunkt war in der .htaccess:

                      deny from     all
                      satisfy       all

                      nach dem Entfernen dieser Zeilen --> :-))))))

                      Hat alles gefunzt.

                      Nochmals TNX
                      und Gute Nacht

                      Bernhard

                      1. Hallo Bernhard,

                        eigentlich wollte ich Dir gestern abend noch antworten, aber da kamen genauso wie Dir die Wartungsarbeiten dazwischen, und irgendwann wollte ich meinen Rechner dann doch ausmachen ;-)

                        Der Kanckpunkt war in der .htaccess:

                        deny from     all
                        satisfy       all

                        nach dem Entfernen dieser Zeilen --> :-))))))

                        Hat alles gefunzt.

                        Genau ;-)
                        Denn mit "deny from all" sagst Du, daß alle Hosts/IP-Bereiche erstmal vom Zugang ausgeschlossen sind. Mit "satisfy all" sagst Du, daß alle Zugangsbedingungen (richtiger User/Passwort UND richtige IP) erfüllt sein müssen. Da Du aber keine IP genannt hast (allow from ...), sind die Zugangsbedingungen eben nie erfüllt -> Fehler 401 / Forbidden, ohne daß überhaupt der Einlog-Dialog erscheint.

                        Irgendwo hattest Du auch geschrieben, daß Du einen "Internal Server Error" bekommen hattest, nachdem Du das "AllowOverride AuthConfig" eingefügt hattest. Für Deine Ursprungs-.htaccess müßte es richtig heißen "AllowOverride AuthConfig Limit" (oder eben "All", "Limit" damit Du auch "deny from..." per .htaccess überschreiben darfst, wenn Du es nicht darfst und es trotzdem tust, meckert halt der Server ;-).

                        Allerdings mußte ich auch erstmal wieder nachschlagen, wie es überhaupt ging ;-)
                        http://httpd.apache.org/docs/mod/mod_access.html

                        Viele Grüße
                        Carsten

          2. Hallo Bernhard,

            mit "AllowOverride" wird festgelegt, welche Konfigurationen der httpd.conf durch .htaccess überschrieben werden darf. Wenn Du also schreibst "AllowOverride None", dann sagst Du ausdrücklich, daß nichts überschrieben werden darf.

            Du mußt also entweder

            AllowOverride AuthConfig

            schreiben,
            oder falls Du per .htaccess noch mehr vor hast, eine Kombination aus den verschiedenen Möglichkeiten, z.B.

            AllowOverride AuthConfig Options

            oder gleich den Rundumschlag

            AllowOverride All

            In meiner Standard-httpd.conf ist es übrigens schön kommentiert:

            This controls which options the .htaccess files in directories can

            override. Can also be "All", or any combination of "Options", "FileInfo",

            "AuthConfig", and "Limit"

            AllowOverride All

            und damit es Christoph nicht wieder nachreichen muß ;-)
            http://aktuell.de.selfhtml.org/artikel/server/apacheconf/index.htm

            Viele Grüße
            Carsten

            1. Nochmal hallo,

              In meiner Standard-httpd.conf ist es übrigens schön kommentiert:

              This controls which options the .htaccess files in directories can

              override. Can also be "All", or any combination of "Options", "FileInfo",

              "AuthConfig", and "Limit"

              AllowOverride All

              In der Standard-httpd.conf steht da natürlich "AllowOverride None" ;-)

              Viele Grüße
              Carsten

              1. Nochmal hallo,

                In meiner Standard-httpd.conf ist es übrigens schön kommentiert:

                This controls which options the .htaccess files in directories can

                override. Can also be "All", or any combination of "Options", "FileInfo",

                "AuthConfig", and "Limit"

                AllowOverride All

                In der Standard-httpd.conf steht da natürlich "AllowOverride None" ;-)

                Viele Grüße
                Carsten

                Hallo Carsten,

                DANK DIR! Mit AllowOverride AuthConfig geht es mittlerweile soweit, dass die Seite nicht mehr angezeigt wird, aber ein Fenster popt auch nicht auf!

                Wenn ich Dich noch einmal bemühen darf??? Hast Du noch einen Tip?

                Vielen Dank im Voraus
                Bernhard

                1. DANK DIR! Mit AllowOverride AuthConfig geht es mittlerweile soweit, dass die Seite nicht mehr angezeigt wird, aber ein Fenster popt auch nicht auf!

                  http://aktuell.de.selfhtml.org/artikel/server/htaccess-faq/index.htm#a6