I have created an Amazon EC2 instance and installed Apache and PHP on it:
$ sudo yum install apache2
$ sudo yum install php
$ ls -al /var/www/services/
lrwxrwxrwx 1 root root 42 Jun 22 21:13 production -> /home/ec2-user/services
The I have created new VirtualHost:
<VirtualHost *:80>
ServerName ec2-***.compute-1.amazonaws.com
DocumentRoot "/var/www/services/production/public"
<Directory "/var/www/services/production/public">
Options Indexes MultiViews FollowSymLinks
AllowOverride All
Order deny,allow
Allow from all
</Directory>
</VirtualHost>
Now, when I run my request in the browser, it says 403 Forbidden
and the log shows symlink problem:
[Wed Jun 22 21:14:19 2011] [error] [client ***] Symbolic link not allowed or link target not accessible: /var/www/services/production
[Wed Jun 22 21:14:20 2011] [error] [client ***] Symbolic link not allowed or link target not accessible: /var/www/services/production
What's wrong? Is EC2 blocking symlinks? Please help!
UPDATED
Now, the only problem I could think of is permission
to access production
by apache
user. Make sure the permission to /var/www/services/production
(& the target folder) folder is set to 0755
on both symbolic links & target folder .
Test: Become the user as apache ( sudo -u apache
) and now try to change into the directory ( cd
) and make sure apache
user is able to traverse.
Does Apache have read permissions on /home/ec2-user/services? Symlinks are by design 0777 for permissions, but only so everything flows through to take up the permissions of whatever the symlink is pointing at.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.