How do I enable apache file and directory indexing under Linux or UNIX?

last updated in Categories , , , , , , ,

Q. I’m using Apache 2 under Linux. How do I enable apache file and directory indexing? Currently it is disabled and I would like to enable the same for /pdfs/ directory (


A. Under Apache web server automatic index generation is enabled with using Options +Indexes or Options Indexes directive.

If a URL which maps to a directory is requested, and there is no DirectoryIndex (e.g., index.html) in that directory, then mod_autoindex will return a formatted listing of the directory.

Option # 1: Using Apache config file

Add directory option to Apache configuration file /etc/httpd/httpd.conf or /etc/apache2/apache2.conf:
# vi /etc/apache2/apache2.conf
Add following code:
<Directory /var/www/>
Options Indexes FollowSymLinks

Save and close the file. Restart Apache:
# /etc/init.d/httpd restart
# /etc/init.d/apache2 restart

Option #2: Using .htaccess Files with Apache

You can place config line Options Indexes in .htaccess file. Make sure .htaccess file support is enabled.
Change directory to pdfs
$ cd pdfs
Open .htaccess file
$ vi .htaccess
Append following apache directive:
Options Indexes
Save and close the file.


Posted by: Vivek Gite

The author is the creator of nixCraft and a seasoned sysadmin, DevOps engineer, and a trainer for the Linux operating system/Unix shell scripting. Get the latest tutorials on SysAdmin, Linux/Unix and open source topics via RSS/XML feed or weekly email newsletter.

7 comment

  1. Make sure .htaccess file support is enabled.

    How to check if thats there in apache Distros.
    What is the aim of “Using .htaccess Files with Apache”?

  2. I have the same problème
    can you help me?
    i tried with options indexes// options -indexes//options +indexes//
    i have dedecated server

  3. Thanks for this article and your website in general. Your site has been my go-to resource for linux commands. I like the way you structure your articles so that they appear cookbook-style where you describe a scenario and provide the solution concisely. There is no need to read through long articles for a particular command like what other sites do. Keep up the good work!

  4. if u got PERMISSION DENIED, it’s probably because of SElinux, u can do this
    setenforce 1, so it will change SElinux status in Permissive
    [ NOTE : I suggest this comand just to be sure that the problem with is SELinux ]
    see more for info man SELinux httpd … u can find something maybe :)

    Still, have a question? Get help on our forum!