6

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?

26

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

  • 3
    e.g. put that in new file /etc/httpd/conf.d/dir_data.conf and 'sudo service httpd reload' for redhat flavoured linuxes. – gaoithe Aug 3 '16 at 9:01
  • This doesn't allow you to list the directory. – Cerin Apr 4 at 18:06
2

You want Alias.

1

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/
  • 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
-1

I also used symlink with a name like this:

ln -s /data/ /var/www/html/data

Then go to the URL: http://your_server_ip/data

  • In an environment remotely concerned with security this will not work. – chicks Mar 28 '17 at 15:04
  • I second @chicks - if the server is correctly configured, this really shouldn't work. If it does work, you have some serious security issues. – Jenny D says Reinstate Monica Mar 29 '17 at 12:37

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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