sjk*_*ing 30 apache permissions macos alias operating-system
我正在尝试设置别名以指向我的文件系统上的某个目录而不是DocumentRoot.现在我收到403 Forbidden回复.以下是采取的步骤:1.编辑http.conf,添加:
Alias /example "/Users/user/Documents/example"
Run Code Online (Sandbox Code Playgroud)
然后...
<Directory "/Users/user/Documents/example">
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
Allow from all</Directory>
Run Code Online (Sandbox Code Playgroud)
2.在终端中使用chmod设置权限:
chmod 755 /Users/user/Documents/example
Run Code Online (Sandbox Code Playgroud)
现在它应该工作?相反,我获得禁止访问.这是error_log的输出:
[Sun Jul 24 06:57:57 2011] [error] [client xx.xx.xx.xx] (13)Permission denied: access to /example denied
Run Code Online (Sandbox Code Playgroud)
Cal*_*ion 26
我也在OS X上遇到过这个问题.事实证明gliptak是正确的,但我还有一些细节需要补充.
我们都试图为用户主文件夹下的文件夹配置虚拟目录; 我想这就是我们遇到问题的原因.就我而言,我有以下设置:
/Users/calrion
./Users/calrion/Path/to/www
./Users/calrion/Path
指向的符号链接/Volumes/Other/Users/calrion/Path
.问题是用户和组_www
(Apache在OS X上运行)缺少对/Users/calrion
和的执行访问权限/Volumes/Other/Users/calrion
.
运行chmod o+x /Users/calrion
并chmod o+x /Volumes/Other/Users/calrion
解决问题(在OS X 10.7.4上).
这里的规则是Apache需要对路径中的所有文件夹执行访问才能提供文件.没有这个,你将获得HTTP 403(禁止).
Mir*_*ann 13
最后一根稻草;)目录条目中必需的本地...
喜欢
<Directory "/Users/user/Documents/example">
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Require local
Order allow,deny
Allow from all
</Directory>
Run Code Online (Sandbox Code Playgroud)
如果其他一切都不起作用(正确的别名,httpd.conf中的目录条目和正确的mod/usr/grp).
请记住:如果您将站点放在用户空间中,则apache用户(运行httpd)需要访问您的家!
gli*_*tak 10
检查权限/Users/user/Documents/
,/Users/user/
(首先执行更高级别的权限...)
/bin/su
进入运行Apache的用户(如www,www-data)和cat
目录中的/Users/user/Documents/example
文件.这可能会指向您的设置权限问题.
小智 10
这些都是非常好的答案.他们都没有为我工作.
我在OSX服务器中指定了一个指向用户目录的别名.我花了很长时间chmodding并弄乱了_www用户,递归地添加了可执行权限,卸载了macports以及各种尝试使其工作的东西.我试过777.不.不知道为什么它不起作用.
最后,我刚刚在Finder中检查了该文件夹中的"共享文件夹"复选框,并且它在指定的域上工作,使用php激活,就像我想要的那样.:/ ...这很容易.
我只是遇到了同样的问题.我发现SE_Linux已启用,并且我的别名目录中的文件的安全上下文不正确,缺少httpd_sys_content_t.
您可以使用查看安全上下文ls -Z
.如果您的文件/文件夹没有httpd_sys_content_t,那么apache将不会为它们提供服务!您可以添加适当的上下文chcon -R --type=httpd_sys_content_t /new_html_directory
.这将更改当前目录中文件的上下文,但不会更改之后添加的任何文件(为此您需要使用semanage).您的另一个选择是将文件保留在/ var/www下.
归档时间: |
|
查看次数: |
61836 次 |
最近记录: |