1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

Apache verweigert mir den Zugriff

Dieses Thema im Forum "macOS & OS X Server" wurde erstellt von stk, 06.09.06.

  1. stk

    stk Grünapfel

    Dabei seit:
    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
     
  2. mathilda

    mathilda Leipziger Reinette

    Dabei seit:
    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.
     
  3. stk

    stk Grünapfel

    Dabei seit:
    05.01.04
    Beiträge:
    7.141
    Moin,

    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.

    Yep - auch klar.

    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
     
    #3 stk, 06.09.06
    Zuletzt bearbeitet: 06.09.06
  4. pepi

    pepi Cellini

    Dabei seit:
    03.09.05
    Beiträge:
    8.741
    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
     
  5. stk

    stk Grünapfel

    Dabei seit:
    05.01.04
    Beiträge:
    7.141
    Moin,

    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>                                                                                                                
    
    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
     

Diese Seite empfehlen