4

関連する git リポジトリからコミット履歴をプルするように redmine を構成しています。ローカル ミラーをセットアップしました。プロジェクト設定>>リポジトリタブで定義されたミラーへのパスがあります。しかし、プロジェクトのリポジトリ タブを参照すると、次のようになります。

404

エントリまたはリビジョンがリポジトリに見つかりませんでした。

生産ログには次のように表示されます。

Started GET "/projects/allsaints/repository" for 108.58.11.138 at 2013-03-24 17:51:27 -0400
Processing by RepositoriesController#show as HTML
  Parameters: {"id"=>"allsaints"}
  [1m[35m (0.1ms)[0m  SELECT MAX(`settings`.`updated_on`) AS max_id FROM `settings` 
  [1m[36mUser Load (0.1ms)[0m  [1mSELECT `users`.* FROM `users` WHERE `users`.`type` IN ('User', 'AnonymousUser') AND `users`.`id` = 1 AND (users.status = 1) LIMIT 1[0m
  Current user: Shawn (id=1)
  [1m[35mProject Load (0.1ms)[0m  SELECT `projects`.* FROM `projects` WHERE `projects`.`identifier` = 'allsaints' LIMIT 1
  [1m[36mRepository Load (0.1ms)[0m  [1mSELECT `repositories`.* FROM `repositories` WHERE `repositories`.`project_id` = 3 AND (is_default = 1) LIMIT 1[0m
Shelling out: '/usr/local/git/bin/git' '--git-dir' '/Library/WebServer/Sites/redmine2/extra/repositories/allsaints.git/' '-c' 'core.quotepath=false' '-c' 'log.decorate=no' 'log' '--no-color' '--encoding=UTF-8' '--date=iso' '--pretty=fuller' '--no-merges' '-n' '1'
  [1m[35m (0.2ms)[0m  BEGIN
  [1m[36m (0.7ms)[0m  [1mUPDATE `repositories` SET `root_url` = '/Library/WebServer/Sites/redmine2/extra/repositories/allsaints.git/', `extra_info` = '---\nextra_report_last_commit: \'0\'\n' WHERE `repositories`.`type` IN ('Repository::Git') AND `repositories`.`id` = 21[0m
  [1m[35m (0.1ms)[0m  COMMIT
Shelling out: '/usr/local/git/bin/git' '--git-dir' '/Library/WebServer/Sites/redmine2/extra/repositories/allsaints.git/' '-c' 'core.quotepath=false' '-c' 'log.decorate=no' 'branch' '--no-color' '--verbose' '--no-abbrev'
  [1m[36mEnabledModule Load (0.2ms)[0m  [1mSELECT name FROM `enabled_modules` WHERE `enabled_modules`.`project_id` = 3[0m
Shelling out: '/usr/local/git/bin/git' '--git-dir' '/Library/WebServer/Sites/redmine2/extra/repositories/allsaints.git/' '-c' 'core.quotepath=false' '-c' 'log.decorate=no' 'ls-tree' '-l' 'HEAD:'
  Rendered common/error.html.erb within layouts/base (0.3ms)
  [1m[35mUserPreference Load (0.2ms)[0m  SELECT `user_preferences`.* FROM `user_preferences` WHERE `user_preferences`.`user_id` = 1 LIMIT 1
  [1m[36mSQL (0.4ms)[0m  [1mSELECT `members`.`id` AS t0_r0, `members`.`user_id` AS t0_r1, `members`.`project_id` AS t0_r2, `members`.`created_on` AS t0_r3, `members`.`mail_notification` AS t0_r4, `projects`.`id` AS t1_r0, `projects`.`name` AS t1_r1, `projects`.`description` AS t1_r2, `projects`.`homepage` AS t1_r3, `projects`.`is_public` AS t1_r4, `projects`.`parent_id` AS t1_r5, `projects`.`created_on` AS t1_r6, `projects`.`updated_on` AS t1_r7, `projects`.`identifier` AS t1_r8, `projects`.`status` AS t1_r9, `projects`.`lft` AS t1_r10, `projects`.`rgt` AS t1_r11, `roles`.`id` AS t2_r0, `roles`.`name` AS t2_r1, `roles`.`position` AS t2_r2, `roles`.`assignable` AS t2_r3, `roles`.`builtin` AS t2_r4, `roles`.`permissions` AS t2_r5, `roles`.`issues_visibility` AS t2_r6 FROM `members` LEFT OUTER JOIN `projects` ON `projects`.`id` = `members`.`project_id` LEFT OUTER JOIN `member_roles` ON `member_roles`.`member_id` = `members`.`id` LEFT OUTER JOIN `roles` ON `roles`.`id` = `member_roles`.`role_id` WHERE `members`.`user_id` = 1 AND (projects.status<>9) ORDER BY projects.name[0m
  [1m[35m (0.2ms)[0m  SELECT COUNT(DISTINCT `versions`.`id`) FROM `versions` LEFT OUTER JOIN `projects` ON `projects`.`id` = `versions`.`project_id` WHERE (projects.id = 3 OR (projects.status <> 9 AND ( versions.sharing = 'system' OR (projects.lft >= 1 AND projects.rgt <= 2 AND versions.sharing = 'tree') OR (projects.lft < 1 AND projects.rgt > 2 AND versions.sharing IN ('hierarchy', 'descendants')) OR (projects.lft > 1 AND projects.rgt < 2 AND versions.sharing = 'hierarchy'))))
  [1m[36mWiki Load (0.1ms)[0m  [1mSELECT `wikis`.* FROM `wikis` WHERE `wikis`.`project_id` = 3 LIMIT 1[0m
  [1m[35m (0.1ms)[0m  SELECT COUNT(*) FROM `boards` WHERE `boards`.`project_id` = 3
Completed 404 Not Found in 108ms (Views: 40.1ms | ActiveRecord: 2.7ms)

私の理解では、product.log の所有者を確認することで、どのユーザーとして redmine が実行されているかを確認できます。これらの Shelling out: エントリのいずれかを取得し、一重引用符を取り除き、結果のコマンドをそのユーザーとして実行すると、適切な出力が得られます。

では、なぜ 404 エラーが発生するのでしょうか。

4

2 に答える 2

2

これは確かに権限の問題でした。Passenger では、レール アプリケーションが の所有者を実行するように、デフォルトでユーザー切り替えconfig/environment.rbが有効になっています。私をつまずかせたのは、アプリケーションがそのユーザーのすべてのグループ メンバーシップを継承せず、デフォルトでグループがそのユーザーのプライマリ グループに明示的に設定されていることでした。これらのファイルへのアクセスにグループ権限を使用しています。このサイトの Virtual Host ブロックにPassengerGroupディレクティブを挿入して、適切なグループを明示的に設定すると、この問題は解決しました。

于 2013-03-28T11:15:29.440 に答える
0

私は同じ問題を抱えています。それは許可の問題です。リポジトリを /tmp/xxx.git などの別の場所に移動する必要があります。ホーム ディレクトリのリポジトリに完全なアクセス許可を与えましたが、redmine がホーム ディレクトリを読み取れないため、エラーが発生しました。

于 2015-09-01T13:08:05.217 に答える