【发布时间】:2013-08-15 05:55:23
【问题描述】:
我未能在 osx 上安装的 xampp 的站点目录中设置符号链接。我对 apache 和符号链接都没有经验,但无论如何我都会尝试一下。
这是我想要实现的目录结构:
htdocs/symlinktest/
whoami.php
img/
test.img.jpg
app/
->img/
test.img.jpg
符号链接是使用以下链接命令设置的:
ln -s img app
似乎设置正确:
drwxrwxrwx 3 username admin 102B Aug 14 16:26 app
lrwxr-xr-x 1 username admin 3B Aug 14 16:26 img -> img
drwxrwxrwx 3 username admin 102B Aug 14 16:17 img
-rwxrwxrwx 1 username admin 29B Aug 14 23:16 whoami.php
访问 localhost/symlinktest/ 显示一个目录索引,其中 img 和 app 作为子目录,它显示 whoami.php。但是,localhost/symlinktest/app/ 显示一个空目录。
在浏览器中打开 whoami.php 显示没有人。在 htdocs 的父级中运行 ls -l 会为 htdocs 显示以下内容:
drwxrwxr-x@ 70 root admin 2380 Aug 14 16:12 htdocs
在 htdocs 中运行 ls -l 会为 symlinktest 显示以下内容:
drwxrwxrwx 6 username admin 204 Aug 14 17:59 symlinktest
子目录也是如此。
我已经更改了 xampp/etc/ 中 httpd.conf 中的用户设置,因此它现在具有以下用户设置:
User nobody
Group admin
它已经设置了以下指令:
DocumentRoot "/Applications/XAMPP/xamppfiles/htdocs"
<Directory "/Applications/XAMPP/xamppfiles/htdocs">
Options Indexes FollowSymLinks ExecCGI Includes
AllowOverride All
Require all granted
</Directory>
每次更改后,我都尝试通过 xampp 控制面板重新启动 xampp。我已经尝试将 htdocs 文件夹改写为nobody:admin,同时也递归地将symlinktest 文件夹和子目录改写为nobody:admin。不幸的是,我仍然在 symlinktest/app/ 中看到了一个空索引。尝试在浏览器中查看 test.img.jpg 给我一个 403。
我已经在 stackoverflow 和其他网站上检查了所有接受的类似问题的答案,但我没有任何运气。
我束手无策,在为即将启动的项目及时制定部署策略方面远远落后。任何帮助、建议或重定向将不胜感激。
(明确地说,这样做的原因是将大型静态文件目录与我们的存储库隔离开来,以便更快地推/拉。)
【问题讨论】:
标签: macos apache xampp symlink