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?

link|improve this question

55% accept rate
feedback

3 Answers

You can use mod_alias to do this quite simply

Alias /data /data/outside/documentroot
<Directory /data>
     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

link|improve this answer
feedback

You want Alias.

link|improve this answer
feedback

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/
link|improve this answer
2  
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. – Ignacio Vazquez-Abrams Jul 31 '11 at 9:21
2  
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. – Marco Bizzarri Jul 31 '11 at 9:23
feedback

Your Answer

 
or
required, but never shown

Not the answer you're looking for? Browse other questions tagged or ask your own question.