4

Railsアプリを提供するPassenger Phusionを備えたUbuntu Hardyスライスがあります。また、thinging_sphinx プラグインで sphinx 全文検索を使用しています。

ターミナルから次のコマンドを実行できます。

sudo rake ts:index RAILS_ENV=production

ただし、このコマンドが capistrano デプロイ ファイルにある場合:

「cd #{current_path}; rake think_sphinx:index RAILS_ENV=production」を実行します

次のエラーが生成されます。

  • 「deploy:after_update」の実行
    • 「thinking_sphinx:index」の実行
    • 実行中の "cd /home/kollar/apps/kinfonet/current; rake think_sphinx:index RAILS_ENV=production" サーバー: ["173.45.226.102"] [173.45.226.102] コマンドの実行 * [err :: 173.45.226.102] レーキが中止されました! * [err :: 173.45.226.102] 許可が拒否されました - /home/kollar/apps/kinfonet/shared/db/sphinx

これが apache のパーミッションの問題であると仮定して、slicehost docs の記事に従い、次のことを行いました。

sudo chgrp -R www-data /home/kollar/apps/kinfonet/current

sudo chmod -R 2750 /home/kollar/apps/kinfonet/current

sudo chmod -R 2770 /home/kollar/apps/kinfonet/current/log

sudo chmod -R 2770 /home/kollar/apps/kinfonet/shared

sudo chmod -R 2770 /home/kollar/apps/kinfonet/shared/db

sudo chmod -R 2770 /home/kollar/apps/kinfonet/shared/db/sphinx

sudo chmod -R 2770 /home/kollar/apps/kinfonet/shared/pids

エラーはまだ残っており、サイトの訪問者は /home/kollar/apps/kinfonet/shared/system/avatars にあるプロフィール写真にアクセスできません

ブラウザで画像へのパスを呼び出すと、apache/passenger denied エラーが発生します: You don't have permission to access /system/avatars/48/thumb_BR.jpg on this server

誰かがアクセス許可を修正するのを手伝ってくれますか?つまり、www-data で行ったことを元に戻し、適切なアクセス許可を設定する方法を教えてくれますか?

4

2 に答える 2

2

それでも 403 Forbidden エラーが表示される場合は、app/current/systemtoからそのシンボリック リンクをたどってもよいことを Apache に伝える必要がありますapp/shared/system。仮想ホスト定義にこれがあることを確認してください。

Options FollowSymLinks
于 2009-06-04T20:39:40.390 に答える
0

助けてくれてありがとう。

  1. 「リモート サーバーでデプロイ コマンドを実行しているユーザーは?」 -- ユーザーは kollar です。

  2. そのユーザーと同じ rake タスクをsudoなしで実行するとどうなりますか?

これを機能させました。shared/db で ls-l を実行すると、root がユーザーとして、root がグループとして設定されていることがわかりました。両方をユーザー「kollar」に変更し、sudo なしで cap deploy.rb ファイルから rake を実行できるようになりました。

私の最大の問題は、ユーザーがアップロードした画像が保存されている共有/システムフォルダーにアクセスしようとすると、apache が Forbidden 403 パーミッションエラーを返すことです。

このサーバーの /system/avatars/51/thumb_DSC00010.JPG にアクセスする権限がありません。Apache/2.2.8 (Ubuntu) Phusion_Passenger/2.2.2 サーバー ポート 80

/home/path/to/app/current/system から /home/path/to/app/shared/system へのシンボリックリンクがあります

共有/システムで ls -l を実行すると、以下が生成されます: drwxrws--- 7 kollar kollar 4096 Jun 2 06:47 avatars

このフォルダーに www-data をグループとして追加しようとしましたが、問題は解決しないようです。これに関するヘルプは大歓迎です。

于 2009-06-02T07:04:39.997 に答える