debian: ベースディレクトリ外のシンボリックリンクをたどるとエラーが発生する

debian: ベースディレクトリ外のシンボリックリンクをたどるとエラーが発生する

複数の仮想ホストと各フォルダがあります。そして、共有フォルダが 1 つあります。

/home/website1
/home/website2
/home/website3
/home/shared_src

シンボリックリンクは正常に動作します内部各フォルダーを「codebase」と呼ばれる Web サイトごとのフォルダーに移動します。

フォルダー「codebase」を /home/shared_src にコピーし、シンボリックリンクを使用して他の各 Web サイトから /home/shared_src_codebase にアクセスしたいと考えています。 しかし、これを実行すると次のようになります:

PHP Fatal error:  Cannot redeclare class [patch and class...]

Web ルート外の shared_src フォルダーへのシンボリック リンクを許可するには、Apache 構成に何を追加すればよいですか?

私はApacheでこれをする必要がありますDebian サーバーここで説明されているようにエイリアスを使用しようとしました。これはトリックではないか、または私が間違っていたかのどちらかです。 Webroot 外部のディレクトリへのシンボリックリンクのセキュリティは 777 に設定されていますか?

私が以前使用した別のシステム (CentOS ベース) では、この設定は PHPBaseDir と呼ばれていました。Debian ではわかりません...

より詳細な情報を更新

主なバグは、Web サイト フォルダー内の物理フォルダーと同じ名前のフォルダーにリンクされているシンボリック リンクによって発生しました。

/home/website1/typo3_src-6.2
/home/website/typo3_src -> /home/sharedsource/typo3_src-6.2 (symlink)

それは修正され、Apache ログに次のように表示されます:

[Wed Jan 15 09:48:17 2014] [error] [client xx.xx.xx.xx] PHP Fatal error:  require_once(): Failed opening required '/home/cstmr_opengate/band.opengate.dk/website/typo3_src-6.2.0beta3/typo3/sysext/core/Resources/PHP/TYPO3.Flow/Classes/TYPO3/Flow/Package/PackageManager.php' (include_path='/home/cstmr_opengate/band.opengate.dk/website/typo3/contrib/pear/:.:/usr/share/php:/usr/share/pear') in /home/x_src/typo3_src-6.2.0beta3/typo3/sysext/core/Classes/Core/ClassLoader.php on line 178

したがって、問題はおそらくシンボリックリンク自体ではありません。シンボリックリンクは共有フォルダーにたどり着くためです。これは、シンボリックリンクが使用された後にスローされるエラーです...

答え1

これを行うには Apache で 2 つの方法があり、次のリンクで確認できます。 Apache ドキュメント

基本的には、 セクションOption FollowSymlinksで を使用する<directory>か、ディレクトリへのエイリアスを定義します。

関連情報