• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Viele hassen ihn, manche schwören auf ihn, wir aber möchten unbedingt sehen, welche Bilder Ihr vor Eurem geistigen Auge bzw. vor der Linse Eures iPhone oder iPad sehen könnt, wenn Ihr dieses Wort hört oder lest. Macht mit und beteiligt Euch an unserem Frühjahrsputz ---> Klick

Apache verweigert mir den Zugriff

stk

Grünapfel
Registriert
05.01.04
Beiträge
7.141
Moin,

frisch von Urlaub und ATUT zurückkehrt mag mein interner Websever nach dem Hochfahren des Netzes nicht mehr mitspielen :(.

Anfangs ließen sich nicht mal die VHosts konfigurieren, sprich ich bekam eine leere Liste präsentiert. Das Thema ist nach einigem Hin- und Her jetzt wohl beerdigt. Ich habe wieder einen primären Host eingerichtet und bekomme auch den Apachen gestartet. Aber egal von welchem Rechner aus (lokal vom Server selbst) ich was auch immer (nur Domain, mit einem gültigen Verzeichnis- oder einem gültigen Dateinamen, ungültige Dateinamen) und wie (DNS-Name, IP-Nummer des Servers, mit/ohne Port 80-Anhang) aufrufe ich bekomme grundsätzlich die Standard 403 Seite (also keine Berechtigung:
Code:
You don't have permission to access <Aufruf> on this server.
) gezeigt.

Binde ich eine eigene 403 Seite für meinen VHost ein, bekomme ich zusätzlich:
Code:
You don't have permission to access <Aufruf> on this server.
Additionally, a 403 Forbidden error was encountered while trying to use an ErrorDocument to handle the request.

Also ein grundlegendes Rechteproblem in der httpd.conf würde ich mal tippen?! Aber wo, wie oder was - ich such mir schon die Finger wund :oops:.

Basis meiner httpd.conf ist die mitgeliefert httpd.conf.default, die ich um die Einträge meiner zuletzt laufenden Installation (insbesondere gewählte Module) angepaßt habe.

Das komplette Webhome-Verzeichnis "/Library/WebServer/Documents" (inkl. aller Unterordner) gehört www:www - dem Benutzer unter dem auch der Apache läuft. User und Group sind r/w, World ist readonly. Es ist zudem per ACL-Eintrag den Teammitgliedern auf AFP freigegeben. Ein entsprechender Eintrag ist auch bei den Realms des VHosts eingetragen.

Sachdienliche Hinweise bitte an unsere Aufnahmestudios oder die Kantonspolizei.

Gruß Stefan
 

mathilda

Leipziger Reinette
Registriert
17.02.05
Beiträge
1.787
Schau auch mal direkt auf dem Filesystem, wie da die Rechte gesetzt sind. Der Apache-user (bei mir ganz scheunentormäßig nobody) sollte in die Verzeichnisse schauen können.
Verzeichnisse brauchen auch immer das executable Tag, damit in diese "gestiegen" (also diese ausgeführt) werden dürfen.

99,99% aller *nix Probleme sind Rechteprobleme.
 

stk

Grünapfel
Registriert
05.01.04
Beiträge
7.141
Moin,

Schau auch mal direkt auf dem Filesystem, wie da die Rechte gesetzt sind. Der Apache-user (bei mir ganz scheunentormäßig nobody) sollte in die Verzeichnisse schauen können.

Also das /etc/httpd/ samt notwendigen Unterverzeichnissen gehört root:wheel und nur root hat r/w-Rechte. Der Rest readonly. Das sollte nach meinem Verständnis für den Betrieb des Apachen ausreichen.

Die Datenverzeichnisse mit den Webs dem Web (für den Anfang würde mir ja eines reichen) drin gehören wie gesagt dem Benutzer www und der Gruppe www. Alle Dateien sind rw-rw-rw; alle Verzeichnisse rwxrwxr-x. Selbst das Abändern des Hauptverzeichnisses auf 777 bringt keine Änderung.

Verzeichnisse brauchen auch immer das executable Tag, damit in diese "gestiegen" (also diese ausgeführt) werden dürfen.

Yep - auch klar.

99,99% aller *nix Probleme sind Rechteprobleme.

Schon klar. Und das ist meiner Meinung nach auch hier das Thema. Oder ein entsprechender Eintrag der Rechte verwaltet in der httpd.conf.

[edit]/usr/sbin/apachectl configtest verprobt die conf-Dateien aus /etc/httpd/sites und meldet Syntax OK. Was er nicht verprobt (soll das so sein?) ist die Haupt httpd.conf. Ein apachectl fullstatus schlägt fehl. Wie auch beim Aufruf auf Port 80 schlägt der damit getriggerte Aufruf auf Port 9010 mit access denied fehl.[/edit]

Gruß Stefan
 
Zuletzt bearbeitet:

pepi

Cellini
Registriert
03.09.05
Beiträge
8.740
ACLs setzen auf die POSIX Permissions auf, wenn also keine gültige ACL vorhanden ist, dann werden die POSIX Permissions herangezogen. Nachdem Du ACLs verwendest, könnte auch dort eine Regel zur Anwendung kommen, die dem Apache den Zugriff verweigert!

Mit ls -le kannst Du Dir die ACLs im Terminal ansehen! Mit SandBox gibts auch ein nettes GUI für 10.4.

Was auch noch sein kann, daß das Directory Listing für den vHost verboten ist. in dem Fall bekommt man ein Access Denied für den Ordner wenn er kein Index File findet. (Üblicherweise index.html oder index.php)
Gruß Pepi
 

stk

Grünapfel
Registriert
05.01.04
Beiträge
7.141
Moin,

ACLs setzen auf die POSIX Permissions auf, wenn also keine gültige ACL vorhanden ist, dann werden die POSIX Permissions herangezogen. Nachdem Du ACLs verwendest, könnte auch dort eine Regel zur Anwendung kommen, die dem Apache den Zugriff verweigert!

Mit ls -le kannst Du Dir die ACLs im Terminal ansehen!

ls -le sächt:
Code:
drwxrwxr-x + 77 www     www    2618 Sep  6 10:26 Documents
 0: group:meinteam allow list,add_file,search,delete,add_subdirectory,delete_child,readattr,writeattr,readextattr,writeextattr,readsecurity,writesecurity,chown,file_inherit,directory_inherit
und entsprechend bei den darin enthaltenen Dateien und Unterverzeichnissen:
Code:
-rw-rw-r-- +  1 www   www     271 Mar 21  2005 <dateiname>
 0: group:meinteam inherited allow read,write,execute,delete,append,readattr,writeattr,readextattr,writeextattr,readsecurity,writesecurity,chown

drwxrwxr-x +  7 www   www     238 Jul 19  2005 <unterverzeichnisname>
 0: group:meinteam inherited allow list,add_file,search,delete,add_subdirectory,delete_child,readattr,writeattr,readextattr,writeextattr,readsecurity,writesecurity,chown,file_inherit,directory_inherit

das schaut für mich zum einen nachdem aus was es tun soll - und auch für's FileSharing via AFP macht. Zum anderen ist die Gruppe "meinteam" auch gleichlautend (die Gruppe kommt vom LDAP-Server) mit Schreiblese-Rechten für den vHost im Apachen eingetragen:
Code:
<Directory "/Library/WebServer/Documents">                                                                                  
   Options All -Includes +Indexes +MultiViews -ExecCGI                                                                 
   <IfModule mod_dav.c>                                                                                                
     DAV On                                                                                                      
   </IfModule>                                                                                                         
   AllowOverride None                                                                                                  
   AuthType Basic                                                                                                      
   AuthName "Team"                                                                                            
   <Limit PUT DELETE PROPPATCH PROPFIND MKCOL COPY MOVE LOCK UNLOCK>                                                   
     Require group  meinteam                                                                                     
   </Limit>                                                                                                            
</Directory>

Was auch noch sein kann, daß das Directory Listing für den vHost verboten ist. in dem Fall bekommt man ein Access Denied für den Ordner wenn er kein Index File findet. (Üblicherweise index.html oder index.php)

Yep. Aber zum einen ist das DirListing explizit erlaubt und böte zum zweiten würde auch der explizite Aufruf einer html-Datei nicht ebenso mit forbidden zurückgewiesen. Eine gültige Datei sollte anzeigt werden, ein Phantasiename sollte in die vorhandene und eingebundene 404.html überführt werden. Aber nix dergleichen.

Gruß Stefan