'Disable directory listing on apache; but access to individual files should be allowed

I do not want to use .htaccess. How should I change my Directory attributes?

<VirtualHost *:80>
   ServerName abc.com
   DocumentRoot /usr/share/uploads
   <Directory " /usr/share/uploads">
      Order allow,deny
      Allow from all
   </Directory>
</VirtualHost>


Solution 1:[1]

If you are using Debian/Ubuntu, just go to terminal and type

sudo a2dismod autoindex
sudo service apache2 restart

If you are using Centos/Fedora, just do:

mv /etc/httpd/conf.d/autoindex.conf /etc/httpd/conf.d/autoindex.bkp
/etc/init.d/httpd restart

And similarly in other OS or distros...

This should disable the apache module that makes those fancy (normally useless and a security problem) directory listings. Also, as a bonus, you earn a bit of performance :-)

Solution 2:[2]

The @Deepak solution did not worked for me. This one did:

In the main apace configuration /etc/apache2/httpd.conf just add:

<Directory />
        Options FollowSymLinks
        AllowOverride All
</Directory>

And it will work for all of you domains and subdomains. Without .htaccess file.

Solution 3:[3]

All done above, but the directory info is still coming up? If you use index.php, rather than index.html, Check the following:

<IfModule dir_module>
    DirectoryIndex index.php
</IfModule>

Solution 4:[4]

on my AWS ec2, i did this and it worked for me.

First open /etc/httpd/conf/httpd.conf file.

modify/add

<Directory /var/www/html>
   Options Indexes FollowSymLinks
   AllowOverride All
   Require all granted
</Directory>

Solution 5:[5]

The easiest way would be to put an empty index.html (or whatever you apache is configured to deliver by default) inside that directory. This is not a real solution but a very simple workaround. The user browsing that directory would just see a blank white page.

Further you could use a script (like index.php) wich emulates the directory-listing and only shows some special files.

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Natxet
Solution 2 Jevgenij Dmitrijev
Solution 3 json4rest
Solution 4 Badmous
Solution 5 fragmentedreality