How to list a directory with no html file

Discussion in 'Installation/Configuration' started by pebkac, Jul 9, 2009.

  1. pebkac

    pebkac HowtoForge Supporter

    I have a directory on my web server that I have a bunch of drivers on, I dont want to make a page for them I just want to be ale to give the address out, like www.mydomain.com/some/directory/withfileshere

    and have it just list all the files there and when someone clicks on of them it initiates a download. Right now If I try that I get a permission denied, I'm assuming because the directory does not have a html page to display?
     
  2. till

    till Super Moderator

    You have to enable indexing for this vhost, e.g. by adding something like this to the apache directives field:

    <Directory /var/www/client1/web8/web>
    Options +Indexes
    </Directory>

    The path must match the directory path of this web.
     
  3. pebkac

    pebkac HowtoForge Supporter

    I tried this and it still don't work. I keep getting this:

    Code:
    ERROR 403 - Forbidden!
    The following error occurred:
    
    You are not permitted to access the requested URL.
    
    Please contact the webmaster with any queries.
    
    
    Please help, as I need this working as well.

    --Steve
     
  4. pebkac

    pebkac HowtoForge Supporter

    I'm really trying to figure this out on my own and it is getting very frustrating. So i disabled all options in ISPConfig for the site I'm trying to get to work. Then I enabled everythign I need for this site, and under the apache directives I have this:

    Code:
    <Directory /var/www/clients/client1/web1/web>
    Options Indexes
    </Directory>
    I've tried with the plus and without, I think I dont need the plus since nothing is in the directives. I cannot see what is wrong here.
     
  5. voidzero

    voidzero New Member

    Is the directory set to mode 755?
     
  6. pebkac

    pebkac HowtoForge Supporter

    Yes it is, I even did 777 for good measure:
    Code:
    drwxr-xr-x  3 web2 client1    4096 2009-07-06 06:40 usb
    
    Here is the error message in the log file:
    Code:
    [Thu Jul 09 16:22:02 2009] [error] [client 71.243.221.161] client denied by server configuration: /var/www/exeba.com/web/usb
    
    Here is the vhost file for this site:
    Code:
    <Directory /var/www/exeba.com>
        AllowOverride None
        Order Deny,Allow
        Deny from all
    </Directory>
    
    <VirtualHost *:80>
          DocumentRoot /var/www/exeba.com/web
    
        ServerName exeba.com
        ServerAlias www.exeba.com
        ServerAdmin webmaster@exeba.com
    
        ErrorLog /var/log/ispconfig/httpd/exeba.com/error.log
    
        ErrorDocument 400 /error/400.html
        ErrorDocument 401 /error/401.html
        ErrorDocument 403 /error/403.html
        ErrorDocument 404 /error/404.html
        ErrorDocument 405 /error/405.html
        ErrorDocument 500 /error/500.html
        ErrorDocument 503 /error/503.html
            
        <Directory /var/www/exeba.com/web>
            Options FollowSymLinks
            AllowOverride Indexes AuthConfig Limit FileInfo
            Order allow,deny
            Allow from all
            
            # ssi enabled
            AddType text/html .shtml
            AddOutputFilter INCLUDES .shtml
            Options +Includes
        </Directory>
        <Directory /var/www/clients/client1/web2/web>
            Options FollowSymLinks
            AllowOverride Indexes AuthConfig Limit FileInfo
            Order allow,denyAllow from all  
            
            # ssi enabled
            AddType text/html .shtml
            AddOutputFilter INCLUDES .shtml
            Options +Includes
        </Directory>
    
        # cgi enabled
            <Directory /var/www/clients/client1/web2/cgi-bin>
          Order allow,deny
          Allow from all  
        </Directory>
        ScriptAlias  /cgi-bin/ /var/www/clients/client1/web2/cgi-bin/
        AddHandler cgi-script .cgi
        AddHandler cgi-script .pl 
        # suexec enabled
        SuexecUserGroup web2 client1
        # php as fast-cgi enabled   
        <Directory /var/www/exeba.com/web>
            AddHandler fcgid-script .php .php3 .php4 .php5
            FCGIWrapper /var/www/php-fcgi-scripts/web2/.php-fcgi-starter .php
            Options +ExecCGI
            AllowOverride all
            Order allow,deny 
            Allow from all   
        </Directory>
    
    <Directory /var/www/clients/client1/web2/web/usb>
    Options Indexes
    </Directory>   
    </VirtualHost> 
    
    Any ideas?????
     
  7. till

    till Super Moderator

    You missed to add the code that I posted above. As your path is /var/www/exeba.com/web
    , just add this to the apache directives field:

    <Directory /var/www/exeba.com/web>
    Options +Indexes
    </Directory>
     
  8. pebkac

    pebkac HowtoForge Supporter

    I did this and still nothing. Here is the vhost file:
    Code:
         </Files>
        </Directory>
        <Directory /var/www/clients/client1/web2/web>
            Options FollowSymLinks
            AllowOverride Indexes AuthConfig Limit FileInfo
            Order allow,deny
            Allow from all
    
            # ssi enabled
            AddType text/html .shtml
            AddOutputFilter INCLUDES .shtml
            Options +Includes
            <Files ~ '.php[s3-6]{0,1}$'>
                Order allow,deny
                Deny from all
                Allow from none
            </Files>
        </Directory>
    
        # cgi enabled
            <Directory /var/www/clients/client1/web2/cgi-bin>
          Order allow,deny
          Allow from all
        </Directory>
        ScriptAlias  /cgi-bin/ /var/www/clients/client1/web2/cgi-bin/
        AddHandler cgi-script .cgi
        AddHandler cgi-script .pl
        # suexec enabled
        SuexecUserGroup web2 client1
    
    <Directory /var/www/exeba.com/web>
    Options +Indexes
    </Directory>
    </VirtualHost>
    
    One thing I do see and not sure if it by design or what, but in /var/www/ there is the actual website name, and then /clients/client1/web# wiht the same sites, would that have anything to do with it? Do I need to tell it the Directive for each path to that site???

    Here is the error.log for the latest change...
    Code:
    10 01:28:29 2009] [error] [client 76.83.21.252] client denied by server configuration: /var/www/exeba.com/web/index.php
    10 01:28:33 2009] [error] [client 76.83.21.252] client denied by server configuration: /var/www/exeba.com/web/usb/index.php 
    10 01:28:36 2009] [error] [client 76.83.21.252] client denied by server configuration: /var/www/exeba.com/web/usb/index.php 
    10 01:28:39 2009] [error] [client 76.83.21.252] client denied by server configuration: /var/www/exeba.com/web/usb/index.php 
    10 01:28:40 2009] [error] [client 76.83.21.252] client denied by server configuration: /var/www/exeba.com/web/usb/index.php 
    10 01:28:40 2009] [error] [client 76.83.21.252] client denied by server configuration: /var/www/exeba.com/web/usb/index.php 
    10 01:28:40 2009] [error] [client 76.83.21.252] client denied by server configuration: /var/www/exeba.com/web/usb/index.php 
    10 01:28:41 2009] [error] [client 76.83.21.252] client denied by server configuration: /var/www/exeba.com/web/usb/index.php 
    10 01:28:41 2009] [error] [client 76.83.21.252] client denied by server configuration: /var/www/exeba.com/web/usb/index.php 
    10 01:28:41 2009] [error] [client 76.83.21.252] client denied by server configuration: /var/www/exeba.com/web/usb/index.php 
    
    
    Not sure what the index.php file is???
     

Share This Page