2011-01-05 16 views
0

私はMac Snow Leopardサーバー(サーバーA)を使用していますが、自己構築型のApacheを使用していますが、最近動作しています。これはプロダクションサーバーなので、最初にテストして、2番目のサーバー(サーバーB)に適切なディレクトリをマウントしてテストします。Apacheでマウントされたボリュームの使用上の問題

だから私は、このコマンドを使用して、サーバーB上のサーバーAの「/アトラス」ディレクトリ(私の全体のCMS)をマウント:

mount_hfs afp://username:[email protected]_a/Atlas /Atlas 

手動/アトラスディレクトリを作成した後。

仮想ホストがDOCUMENT_ROOTを "/ Atlas/Sites/sandman /"(サーバーAのそのサイトの正しいパス)にしてサーフィンすると、Apacheは403 )、ファイルを読み取ることができないことを示します(「要求されたオブジェクトにアクセスする権限がありません。サーバーによって読み取り保護されているか読み取れません」)。

ユーザー "sandman"によって実行され、サーバーAのApacheはユーザー "sandman"によって実行されますが、サーバーBのApacheにはUID 70のユーザー "_www"が所有します。ファイルは "world"だから、ユーザ_wwwはそれらをうまく読み取るべきである。

誰でも問題の原因を知ることができます。 CMSファイルをサーバーC(つまり第3のサーバー)に保存して、両方のサーバーにマウントし、それらの間で負荷分散を行うことができたらと思いました。

アイデア?ありがとう!

答えて

0

本当にファイルをユーザー_wwwとして読み、リストできることを確認してください。

おそらく、ユーザー_wwwの直営店リストが不足している可能性があります。これは、* Nixシステムのディレクトリでの実行権です。

0

あなたはどのユーザーがmountコマンドを実行しましたか? (注:mount_hfsではなくmount_afpだと思います)。そのユーザーはサーバー接続を "所有"してしまい、サーバーファイルへの認証アクセス権を取得する唯一のユーザーになります。 AFPクライアントコンピュータ上の他のユーザーは、サーバーファイルへのゲストアクセスと同等の権限を取得します。それは、このにもかかわらず、作業する必要がありますように(ファイルがサーバーB上で、世界的に読めるしているので)それが聞こえる、あなたの説明から、

$ mount 
/dev/disk0s2 on/(hfs, local, journaled) 
devfs on /dev (devfs, local, nobrowse) 
map -hosts on /net (autofs, nosuid, automounted, nobrowse) 
map auto_home on /home (autofs, automounted, nobrowse) 
afp_0TQ55t0XgDP800dNMO0Pyetl-1.2d00000a on /Volumes/Public (afpfs, nodev, nosuid, mounted by gordon) 

...しかし、それはまだ可能性があります:あなたはmountコマンドとの接続の所有権を表示することができます_wwwユーザーIDの下でマウントを実行する価値があります。

+0

_wwwユーザIDは実行シェルコマンドにログインできないので、私は実際にこのユーザとしてマウントすることができません。何らかの形でov crontab mainetence shoudlが必要です。 – Sandman

+0

_www缶ログインすることはできますが、あなたは 'sudo -u _www mount_afp ... 'と一緒に_wwwとしてマウントを実行することができます。 –

+0

ええと、大丈夫です。 – Sandman

関連する問題