Add a directory to the Apache Web Root?

51,026

Solution 1

You can use mod_alias to do this quite simply

Alias /data /data/outside/documentroot
<Directory /data/outside/documentroot>
     Order allow,deny
     Allow from all
</Directory>

Would redirect urls like http://example.com/data/file1.dat to the file /data/outside/documentroot/file1.dat

Solution 2

You want Alias.

Solution 3

I used a symlink to pull this off. I'm wondering if there are any implications of doing this that I should be aware of.

ln -s /data/ /var/www/html/
Share:
51,026

Related videos on Youtube

T. Brian Jones
Author by

T. Brian Jones

Updated on September 18, 2022

Comments

  • T. Brian Jones
    T. Brian Jones over 1 year

    I'm running httpd on linux.

    I have a folder (/data/) that is not in the apache web directory (/var/www/html/) that I would like users to be able to access from their browser. I don't want to move this folder.

    How do I make files in this folder accessible to a web browser when the folder is outside the apache web folder?

  • Ignacio Vazquez-Abrams
    Ignacio Vazquez-Abrams almost 13 years
    Now you have to enable symlinks on your server, which means that other files on the system could be accessed/compromised if symlinks are able to be created somehow.
  • Marco Bizzarri
    Marco Bizzarri almost 13 years
    This means you've the FollowSymlinks directive enabled in your configuration; which means external users could access stuff outside the directories you wanted to publish. This can be a problem or not; in general, you want to be sure no symlink is around which could expose data you didn't want to expose in the first place.
  • gaoithe
    gaoithe almost 8 years
    e.g. put that in new file /etc/httpd/conf.d/dir_data.conf and 'sudo service httpd reload' for redhat flavoured linuxes.
  • chicks
    chicks about 7 years
    In an environment remotely concerned with security this will not work.
  • Cerin
    Cerin about 5 years
    This doesn't allow you to list the directory.