私のApacheサーバーはユーザーfooとして実行されます。
私はいくつかのRailsアプリケーションを/ home/foo/app1/home/foo/app2に持っています。それらのそれぞれには仮想ホストがあります
<VirtualHost *:80>
ServerName app1.foobar.com
ServerAlias www.app1.foobar.com
DocumentRoot /var/www/html/app1/current/public
RailsEnv production
<Directory /var/www/html/app1/current/public>
AllowOverride all
Options -MultiViews
</Directory>
</VirtualHost>
/ var/www/html/app1にシンボリックリンクがあります:
current -> /home/foo/app1/tmp_20102611
すべてのファイル許可が正しく設定されています(ユーザーfooグループfoo)。シェルからファイルシステムを通過できます。
SELINUXが無効になっています
DistroはCentOs5.5です
上記のシンボリックリンクは、error_logに403とエラーエントリを取得します
シンボリックリンクが許可されていないか、リンクターゲットにアクセスできません:/ var/www/html/app1/current
/ home/fooではなく/ var/www/htmlのサブディレクトリにアプリをシンボリックリンクすると機能します。
アプリを/ home/fooディレクトリに配置したままこのエラーを回避するにはどうすればよいですか?
私は非常によく似た問題を抱えていました。あなたと同じように、FollowSymlinksを有効にしていて、httpユーザーと一緒に移動できたにもかかわらず、ホームディレクトリの下でシンボリックリンクをたどることができませんでしたが、/ srv/httpの下にシンボリックリンクを配置しても問題なく動作しました... chmodで修正しました。ホームディレクトリを実行可能にする:
chmod +x /home/mgalgs
そして、それは私のためにそれをしました!多分試してみてください
chmod +x /home/foo/app1