Page 1 of 5 123 ... LastLast
Results 1 to 10 of 42

Thread: apache2 : You don't have permission to access the requested directory

  1. #1
    Join Date
    Apr 2013
    Location
    Modra, Slovakia
    Posts
    265

    Default apache2 : You don't have permission to access the requested directory

    I don't change any settings of apache2, they're all default, but when I go to localhost :80 this is what I get I did chmod 754 /www/srv/htdocs here is my httpd.conf
    Code:
    #
    # /etc/apache2/httpd.conf 
    #
    # This is the main Apache server configuration file.  It contains the
    # configuration directives that give the server its instructions.
    # See <URL:http://httpd.apache.org/docs-2.2/> for detailed information about
    # the directives.
    
    # Based upon the default apache configuration file that ships with apache,
    # which is based upon the NCSA server configuration files originally by Rob
    # McCool. This file was knocked together by Peter Poeml <poeml+apache@suse.de>.
    
    # If possible, avoid changes to this file. It does mainly contain Include
    # statements and global settings that can/should be overridden in the
    # configuration of your virtual hosts.
    
    # Quickstart guide:
    # http://en.opensuse.org/Apache_Quickstart_HOWTO
    
    
    # Overview of include files, chronologically:
    #
    # httpd.conf
    #  | 
    #  |-- uid.conf  . . . . . . . . . . . . . .  UserID/GroupID to run under
    #  |-- server-tuning.conf  . . . . . . . . .  sizing of the server (how many processes to start, ...)
    #  |-- sysconfig.d/loadmodule.conf . . . . .  [*] load these modules
    #  |-- listen.conf . . . . . . . . . . . . .  IP adresses / ports to listen on
    #  |-- mod_log_config.conf . . . . . . . . .  define logging formats
    #  |-- sysconfig.d/global.conf . . . . . . .  [*] server-wide general settings
    #  |-- mod_status.conf . . . . . . . . . . .  restrict access to mod_status (server monitoring)
    #  |-- mod_info.conf . . . . . . . . . . . .  restrict access to mod_info
    #  |-- mod_usertrack.conf  . . . . . . . . .  defaults for cookie-based user tracking
    #  |-- mod_autoindex-defaults.conf . . . . .  defaults for displaying of server-generated directory listings
    #  |-- mod_mime-defaults.conf  . . . . . . .  defaults for mod_mime configuration
    #  |-- errors.conf . . . . . . . . . . . . .  customize error responses
    #  |-- ssl-global.conf . . . . . . . . . . .  SSL conf that applies to default server _and all_ virtual hosts
    #  |
    #  |-- default-server.conf . . . . . . . . .  set up the default server that replies to non-virtual-host requests
    #  |    |--mod_userdir.conf  . . . . . . . .  enable UserDir (if mod_userdir is loaded)
    #  |    `--conf.d/apache2-manual?conf  . . .  add the docs ('?' = if installed)
    #  |
    #  |-- sysconfig.d/include.conf  . . . . . .  [*] your include files 
    #  |                                             (for each file to be included here, put its name 
    #  |                                              into APACHE_INCLUDE_* in /etc/sysconfig/apache2)
    #  |
    #  `-- vhosts.d/ . . . . . . . . . . . . . .  for each virtual host, place one file here
    #       `-- *.conf . . . . . . . . . . . . .     (*.conf is automatically included)
    #
    #
    # Files marked [*] are created from sysconfig upon server restart: instead of
    # these files, you edit /etc/sysconfig/apache2
    
    
    
    #  Filesystem layout:
    #
    # /etc/apache2/
    #  |-- charset.conv  . . . . . . . . . . . .  for mod_auth_ldap
    #  |-- conf.d/
    #  |   |-- apache2-manual.conf . . . . . . .  conf that comes with apache2-doc
    #  |   |-- mod_php4.conf . . . . . . . . . .  (example) conf that comes with apache2-mod_php4
    #  |   `-- ... . . . . . . . . . . . . . . .  other configuration added by packages
    #  |-- default-server.conf
    #  |-- errors.conf
    #  |-- httpd.conf  . . . . . . . . . . . . .  top level configuration file
    #  |-- listen.conf
    #  |-- magic
    #  |-- mime.types -> ../mime.types
    #  |-- mod_autoindex-defaults.conf
    #  |-- mod_info.conf
    #  |-- mod_log_config.conf
    #  |-- mod_mime-defaults.conf
    #  |-- mod_perl-startup.pl
    #  |-- mod_status.conf
    #  |-- mod_userdir.conf
    #  |-- mod_usertrack.conf
    #  |-- server-tuning.conf
    #  |-- ssl-global.conf
    #  |-- ssl.crl/  . . . . . . . . . . . . . .  PEM-encoded X.509 Certificate Revocation Lists (CRL)
    #  |-- ssl.crt/  . . . . . . . . . . . . . .  PEM-encoded X.509 Certificates
    #  |-- ssl.csr/  . . . . . . . . . . . . . .  PEM-encoded X.509 Certificate Signing Requests
    #  |-- ssl.key/  . . . . . . . . . . . . . .  PEM-encoded RSA Private Keys
    #  |-- ssl.prm/  . . . . . . . . . . . . . .  public DSA Parameter Files
    #  |-- sysconfig.d/  . . . . . . . . . . . .  files that are created from /etc/sysconfig/apache2
    #  |   |-- global.conf
    #  |   |-- include.conf
    #  |   `-- loadmodule.conf
    #  |-- uid.conf
    #  `-- vhosts.d/ . . . . . . . . . . . . . .  put your virtual host configuration (*.conf) here
    #      |-- vhost-ssl.template
    #      `-- vhost.template
    
    
    
    ### Global Environment ######################################################
    #
    # The directives in this section affect the overall operation of Apache,
    # such as the number of concurrent requests.
    
    # run under this user/group id
    Include /etc/apache2/uid.conf
    
    # - how many server processes to start (server pool regulation)
    # - usage of KeepAlive
    Include /etc/apache2/server-tuning.conf
    
    # ErrorLog: The location of the error log file.
    # If you do not specify an ErrorLog directive within a <VirtualHost>
    # container, error messages relating to that virtual host will be
    # logged here.  If you *do* define an error logfile for a <VirtualHost>
    # container, that host's errors will be logged there and not here.
    ErrorLog /var/log/apache2/error_log
    
    # generated from APACHE_MODULES in /etc/sysconfig/apache2
    Include /etc/apache2/sysconfig.d/loadmodule.conf
    
    # IP addresses / ports to listen on
    Include /etc/apache2/listen.conf
    
    # predefined logging formats
    Include /etc/apache2/mod_log_config.conf
    
    # generated from global settings in /etc/sysconfig/apache2
    Include /etc/apache2/sysconfig.d/global.conf
    
    # optional mod_status, mod_info
    Include /etc/apache2/mod_status.conf
    Include /etc/apache2/mod_info.conf
    
    # optional cookie-based user tracking
    # read the documentation before using it!!
    Include /etc/apache2/mod_usertrack.conf
    
    # configuration of server-generated directory listings
    Include /etc/apache2/mod_autoindex-defaults.conf
    
    # associate MIME types with filename extensions
    TypesConfig /etc/apache2/mime.types
    Include /etc/apache2/mod_mime-defaults.conf
    
    # set up (customizable) error responses
    Include /etc/apache2/errors.conf
    
    # global (server-wide) SSL configuration, that is not specific to 
    # any virtual host
    Include /etc/apache2/ssl-global.conf
    
    
    #forbid access to the entire filesystem by default
    <Directory />
        Options None
        AllowOverride None
        Order deny,allow
         Deny from all
    </Directory>
    
    # use .htaccess files for overriding,
    AccessFileName .htaccess
    # and never show them
    <Files ~ "^\.ht">
        Order allow,deny
        Allow from all
    </Files>
    
    # List of resources to look for when the client requests a directory
    DirectoryIndex index.html index.html.var
    
    ### 'Main' server configuration #############################################
    #
    # The directives in this section set up the values used by the 'main'
    # server, which responds to any requests that aren't handled by a
    # <VirtualHost> definition.  These values also provide defaults for
    # any <VirtualHost> containers you may define later in the file.
    #
    # All of these directives may appear inside <VirtualHost> containers,
    # in which case these default settings will be overridden for the
    # virtual host being defined.
    #
    
    
    
    # Another way to include your own files
    #
    # The file below is generated from /etc/sysconfig/apache2,
    # include arbitrary files as named in APACHE_CONF_INCLUDE_FILES and
    # APACHE_CONF_INCLUDE_DIRS
    Include /etc/apache2/sysconfig.d/include.conf
    
    
    ### Virtual server configuration ############################################
    #
    # VirtualHost: If you want to maintain multiple domains/hostnames on your
    # machine you can setup VirtualHost containers for them. Most configurations
    # use only name-based virtual hosts so the server doesn't need to worry about
    # IP addresses. This is indicated by the asterisks in the directives below.
    #
    # Please see the documentation at
    # <URL:http://httpd.apache.org/docs-2.2/vhosts/>
    # for further details before you try to setup virtual hosts.
    #
    # You may use the command line option '-S' to verify your virtual host
    # configuration.
    #
    IncludeOptional /etc/apache2/vhosts.d/*.conf
    
    
    # Note: instead of adding your own configuration here, consider 
    #       adding it in your own file (/etc/apache2/httpd.conf.local)
    #       putting its name into APACHE_CONF_INCLUDE_FILES in 
    #       /etc/sysconfig/apache2 -- this will make system updates 
    #       easier :)
    13.2 KDE 64bit tumbleweed
    Lenovo G500s, Thinkpad R500

  2. #2
    Join Date
    Jun 2008
    Location
    San Diego, Ca, USA
    Posts
    13,295
    Blog Entries
    2

    Default Re: apache2 : You don't have permission to access the requested directory

    A thought...
    Do you actually have an html file in htdocs?
    And, if the html file doesn't have name apache is configured as default, you may need to explicitly name the file in your URL.

    You shouldn't need to specify port 80 or 443 (if you have SSL modules installed).

    TSU

  3. #3
    Join Date
    Apr 2013
    Location
    Modra, Slovakia
    Posts
    265

    Default Re: apache2 : You don't have permission to access the requested directory

    lthe fiel should be name "apache.html" ? or "apache.index.html" ?
    here's /var/log/apache2/errorlog
    Code:
    tail -10 error_log 
    [Tue Jan 21 18:02:46.926939 2014] [core:error] [pid 14227] (13)Permission denied: [client ::1:51062] AH00035: access to /index.html denied (filesystem path '/srv/www/htdocs/index.html') because search permissions are missing on a component of the path
    [Tue Jan 21 18:02:46.926995 2014] [core:error] [pid 14227] (13)Permission denied: [client ::1:51062] AH00035: access to /index.html.var denied (filesystem path '/srv/www/htdocs/index.html.var') because search permissions are missing on a component of the path
    [Tue Jan 21 18:03:43.115841 2014] [mpm_prefork:notice] [pid 14209] AH00170: caught SIGWINCH, shutting down gracefully
    [Tue Jan 21 18:03:43.134315 2014] [core:notice] [pid 14209] AH00052: child pid 14232 exit signal Segmentation fault (11)
    [Tue Jan 21 18:03:43.292534 2014] [ssl:warn] [pid 14320] AH01873: Init: Session Cache is not configured [hint: SSLSessionCache]
    [Tue Jan 21 18:03:43.304215 2014] [mpm_prefork:notice] [pid 14320] AH00163: Apache/2.4.6 (Linux/SUSE) OpenSSL/1.0.1e PHP/5.4.20 configured -- resuming normal operations
    [Tue Jan 21 18:03:43.304266 2014] [core:notice] [pid 14320] AH00094: Command line: '/usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf -D SYSTEMD -D FOREGROUND'
    [Tue Jan 21 18:03:47.496955 2014] [core:error] [pid 14337] (13)Permission denied: [client ::1:51070] AH00035: access to /index.html denied (filesystem path '/srv/www/htdocs/index.html') because search permissions are missing on a component of the path
    [Tue Jan 21 18:03:47.497064 2014] [core:error] [pid 14337] (13)Permission denied: [client ::1:51070] AH00035: access to /index.html denied (filesystem path '/srv/www/htdocs/index.html') because search permissions are missing on a component of the path
    [Tue Jan 21 18:03:47.497088 2014] [core:error] [pid 14337] (13)Permission denied: [client ::1:51070] AH00035: access to /index.html.var denied (filesystem path '/srv/www/htdocs/index.html.var') because search permissions are missing on a component of the path
    it seems like it want to use some component from another dir which is readable only by root ..? like do I've to put chmod 754 on whole or chown robert:users on whole /srv/www ??
    13.2 KDE 64bit tumbleweed
    Lenovo G500s, Thinkpad R500

  4. #4
    Join Date
    Jun 2008
    Location
    San Diego, Ca, USA
    Posts
    13,295
    Blog Entries
    2

    Default Re: apache2 : You don't have permission to access the requested directory

    Check to see if "index.html" exists, apparently apache is looking for it.

    If not, run the following in a terminal (requires root to write) to create a sample page suitable for just testing whether the webserver is working.
    Code:
    echo "<html><body><h1>It works!</h1></body></html>" > /srv/www/htdocs/index.html
    Don't mess around with the permissions...
    By default all should be setup properly.

    TSU

  5. #5
    Join Date
    Apr 2013
    Location
    Modra, Slovakia
    Posts
    265

    Default Re: apache2 : You don't have permission to access the requested directory

    the index.html exists in /srv/ww/htdocs so I really don't know else what else it should be
    13.2 KDE 64bit tumbleweed
    Lenovo G500s, Thinkpad R500

  6. #6
    Join Date
    Jun 2008
    Location
    San Diego, Ca, USA
    Posts
    13,295
    Blog Entries
    2

    Default Re: apache2 : You don't have permission to access the requested directory

    These are the default file permissions I see in an existing apache2 install

    # ls -l /srv/www/htdocs
    Code:
     ls -l /srv/www/htdocs
    total 40
    drwxr-xr-x 6 root root 4096 Jan 14 08:15 app
    -rwxr-xr-x 1 root root 3096 Jan 14 08:15 build.txt
    -rwxr-xr-x 1 root root 1359 Jan 15 16:12 config.js
    drwxr-xr-x 2 root root 4096 Jan 14 08:15 css
    drwxr-xr-x 2 root root 4096 Jan 14 08:15 font
    drwxr-xr-x 2 root root 4096 Jan 14 08:15 img
    -rwxr-xr-x 1 root root 1737 Jan 14 08:15 index.html
    -rwxr-xr-x 1 root root  562 Jan 14 08:15 LICENSE.md
    -rwxr-xr-x 1 root root 3313 Jan 14 08:15 README.md
    drwxr-xr-x 4 root root 4096 Jan 14 08:15 vendor
    If you think you've messed around with permissions, it's always possible to try to backtrack your actions, but it might be easier to just re-install apache2, I'd assume that a force re-install should re-apply the permissions applied during install
    Code:
    zypper install -f apache2
    BTW - I guess I should have led off with this, but you should describe how you installed and configured apache, whether you did this by simply installing the OSS package or if you did something else like download source from elsewhere.

    TSU

  7. #7
    Join Date
    Apr 2013
    Location
    Modra, Slovakia
    Posts
    265

    Default Re: apache2 : You don't have permission to access the requested directory

    I did reinstall as you suggest and this appeared during installation
    Code:
    Additional rpm output:
    /usr/sbin/suexec2: cannot verify root:root 0755 - not listed in /etc/permissions
    13.2 KDE 64bit tumbleweed
    Lenovo G500s, Thinkpad R500

  8. #8
    Join Date
    Jun 2008
    Location
    San Diego, Ca, USA
    Posts
    13,295
    Blog Entries
    2

    Default Re: apache2 : You don't have permission to access the requested directory

    Quote Originally Posted by roberto68 View Post
    I did reinstall as you suggest and this appeared during installation
    Code:
    Additional rpm output:
    /usr/sbin/suexec2: cannot verify root:root 0755 - not listed in /etc/permissions
    First:
    How did you install apache the first time? Did you use an OSS RPM like how I recommended you do the re-install or did you install another way?
    Have you done anything to modify your machine's security policy?
    Anything else related to security, eg did you try modifying individual folder and file permissions before posting?

    Just trying to get a clearer idea of your machine before recommending anything... eg simply editing /etc/permissions as your error suggests.

    TSU

  9. #9
    Join Date
    Apr 2013
    Location
    Modra, Slovakia
    Posts
    265

    Default Re: apache2 : You don't have permission to access the requested directory

    yes I reinstall it as suggested = zypper in -f apache2
    Code:
    ls -l /srv/www/htdocs
    total 8
    drwxr-xr-x 1 root root  106 Nov  6 16:34 gif
    -rw-r--r-- 1 root root  163 Jan 21 17:37 index.html
    -rw-r--r-- 1 root root 2356 Sep 28 11:04 info2html.css
    drwxr-xr-x 1 root root 2906 Jan 20 20:58 phpMyAdmin
    13.2 KDE 64bit tumbleweed
    Lenovo G500s, Thinkpad R500

  10. #10

    Default Re: apache2 : You don't have permission to access the requested directory

    Quote Originally Posted by tsu2 View Post
    Just trying to get a clearer idea of your machine before recommending anything... eg simply editing /etc/permissions as your error suggests.
    No, you shouldn't edit /etc/permissions, because your changes will get lost when you install updates.
    Add your local changes to /etc/permissions.local, that's what it is there for.

    But anyway, that is just a warning and can be ignored. chkstat just doesn't know what it should set suexec2 to because it is not listed in /etc/permissions*.
    It doesn't cause any problem.

    The actual error is this:
    Code:
    [Tue Jan 21 18:03:47.496955 2014] [core:error] [pid 14337] (13)Permission denied: [client ::1:51070] AH00035: access to /index.html denied (filesystem path '/srv/www/htdocs/index.html') because search permissions are missing on a component of the path
    So apparently the permissions on either /srv/, /srv/www/, or /srv/www/htdocs/ are wrong.
    Please post them:
    Code:
    ls -ld /srv/ /srv/www/ /srv/www/htdocs/
    On a default install it would look like this:
    Code:
    ls -ld /srv/ /srv/www/ /srv/www/htdocs/
    drwxr-xr-x 6 root root 144 27. Sep 22:24 /srv/
    drwxr-xr-x 6 root root 144 27. Sep 22:24 /srv/www/
    drwxr-xr-x 8 root root 408 27. Sep 22:24 /srv/www/htdocs/
    Especially make sure that the 'x' bit is set for "other", as apache runs as user "wwwrun".

Page 1 of 5 123 ... LastLast

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •