petrovnn
By:
petrovnn

How to close the root folder of the Apache server?

December 2, 2014 4.9k views

if you type the IP address of my droplet in the address bar, will be seen a list of all folders and sites:
http://hsto.org/files/8d8/d9e/e91/8d8d9ee9142c469eaf3a3dd1bd4cbe74.png

How do I remove the display of all the folders and files?

I tried to put a .htaccess file in the root folder.
In the .htaccess file, wrote the following:

Order deny,allow
Deny from all

OR

Options All -Indexes

this has no effect (.htaccess file is not displayed in the file list).

Google does not help (googled on requests like "apache close server root directory")

Ubuntu 12.04, Apache, multiple domains on a single droplet.

How can i fix it?

5 comments
  • In your configuration for this virtualhost do you currently have

    AllowOverride None
    

    If so, apache will ignore directives included in an .htaccess file. Try replacing this with

    AllowOverride All
    

    and then restart apache with

    service apache2 restart
    
  • Thank you!

    this string in /etc/apache2/apache2.conf has solved the problem

    AllowOverride All
    

    in the configuration has not been value AllowOverride.

    now appears as follows (webpage is not available): http://188.226.137.130/

  • ryanpq, this line is cut off, including all virtual hosts on the server:
    http://plugindetector.com/

    I tried to override this default for nested folders, but it did not work:

    AllowOverride All
    
    <Directory /var/www/plugindetector.com/public_html/>
        AllowOverride None
    </Directory>
    

    maybe there's another way to block the root folder of the server?

  • by Etel Sverdlov
    This tutorial shows you how to set up a new directory, how to grant the correct permissions, how to add content to a new page, how to turn on virtual hosting, and how to, if needed, set up local hosts. Virtual Hosts are used to run more than one domain off of a single IP address and allows you to run multiple sites off of a single DigitalOcean droplet. This tutorial describes how to set up virtual hosts with Apache.
  • It looks like Apache isn't running. According to the documentation for AllowOverride, it can only be used in a <Directory /> block. If you only need to apply that directive to /var/www, I would just add it to apache2.conf instead of an htaccess file:

    Replace

    AllowOverride All
    
    <Directory /var/www/plugindetector.com/public_html/>
        AllowOverride None
    </Directory>
    

    with

    <Directory /var/www>
        Order Allow,Deny
        Deny from All
    </Directory>
    

    and then start Apache:

    sudo service apache2 start
    
1 Answer

This question was answered by @kamaln7:

It looks like Apache isn't running. According to the documentation for AllowOverride, it can only be used in a <Directory /> block. If you only need to apply that directive to /var/www, I would just add it to apache2.conf instead of an htaccess file:

Replace

AllowOverride All

<Directory /var/www/plugindetector.com/public_html/>
   AllowOverride None
</Directory>

with

<Directory /var/www>
   Order Allow,Deny
   Deny from All
</Directory>

and then start Apache:

sudo service apache2 start

View the original comment

Have another answer? Share your knowledge.