Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

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?

share|improve this question

3 Answers 3

up vote 10 down vote accepted

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

share|improve this answer

You want Alias.

share|improve this answer

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|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

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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