How to list a directory with no html file

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

  1. pebkac

    pebkac Member 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 Staff Member ISPConfig Developer

    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 Member 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 Member 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 Member 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 [email protected]
    
        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 Staff Member ISPConfig Developer

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