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 を開くと、nobody が表示されます。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にchownしてみましたが、symlinktestフォルダーとサブディレクトリをnobody:adminに再帰的にchownしてみました。残念ながら、symlinktest/app/ に空のインデックスがまだあります。ブラウザで test.img.jpg を表示しようとすると、403 が返されます。
スタックオーバーフローや他のサイトで同様の質問に対して受け入れられたすべての回答を確認しましたが、運がありませんでした。
私は途方にくれており、間もなく立ち上げられるプロジェクトに間に合うように展開戦略を立てるのにかなり遅れをとっています。ヘルプ、アドバイス、またはリダイレクトをいただければ幸いです。
(明確にするために、これを行う理由は、大きい静的ファイル ディレクトリをリポジトリから分離して、プッシュ/プルを高速化するためです。)