Redmine 无法从本地 git 实验室服务器看到 git 回购

Redmine can't see git repo from local gitlab server

我正在使用 centos 7、gitlab-ce 和 redmine 设置虚拟机。一切都已安装并且 运行,但我无法设置集成:当我尝试访问 http://redmine/projects/myproject/repository 时,它显示了(in)著名的消息:

404 The entry or revision was not found in the repository.

Apache 的错误日志 (/var/log/htttpd/error_log) 说:

App 3122 stderr: fatal: Not a git repository: '/var/opt/gitlab/git-data/repositories/mygroup/myproject.git'

这是项目的正确路径。按照用户@sk1p 在 https://serverfault.com/questions/565030/redmine-not-finding-my-git-repo-on-debian-7-3 中发布的提示,我收到了 "permission denied" 条消息。

所以这是我的问题:我害怕更改这些目录权限并使一切变得不安全。我的 apache 用户只能打开 /var/opt/gitlab:

bash-4.2$ cd /var/opt/gitlab
bash-4.2$ ls -la
total 16
drwxr-xr-x. 11 root         root       4096 Jul 17 16:12 .
drwxr-xr-x.  3 root         root         19 Jul 17 10:17 ..
drwx------.  2 git          root         41 Jul 23 14:57 backups
-rw-------.  1 root         root         38 Jul 17 10:18 bootstrapped
-rw-r--r--.  1 git          git         264 Jul 17 16:12 .gitconfig
drwx------.  4 git          root         49 Jul 17 10:17 git-data
drwxr-xr-x.  7 git          root         82 Jul 27 10:04 gitlab-rails
drwx------.  2 git          root         49 Jul 17 10:17 gitlab-shell
drwx------.  3 root         root         45 Jul 17 10:18 logrotate
drwxr-x---.  8 root         gitlab-www 4096 Jul 28 09:09 nginx
drwxr-xr-x.  3 gitlab-psql  root         77 Jul 28 09:09 postgresql
drwxr-x---.  2 gitlab-redis git          57 Jul 28 09:19 redis
drwx------.  2 git          git          55 Jul 17 16:06 .ssh
bash-4.2$ cd git-data/
bash: cd: git-data/: Permission denied
bash-4.2$ cd git-data/repositories/mygroup/myproject.git
bash: cd: git-data/repositories/mygroup/myproject.git: Permission denied

以 root 身份浏览目录,这些是项目目录的权限:

[root@srv mygroup]# ls -l
total XX
(...)
drwxrwxrwx. 6 git git 4096 Jul 28 07:48 myproject.git

如您所见,我尝试了 777ing 整个过程。没有成功。我稍后会回复它,保证。我还尝试将 apache 用户添加到组中:

[root@srv mygroup]# groups apache
apache : apache root git

那么我怎样才能让它正确呢?我确实尝试在网上搜索解决方案(实际上从昨天开始就在做),我还没有尝试过的事情是将 repo chowning 到 apache.apache,因为我担心它会破坏 gitlab 的某些东西。

抱歉我的英语不好。 =]

我找到了不同的解决方案。我不认为它是最佳的,我仍在寻找更好的方法,但这是我所做的:

http://www.redmine.org/projects/redmine/wiki/HowTo_Easily_integrate_a_%28SSH_secured%29_GIT_repository_into_redmine explaining how to integrate a git repo to redmine using ssh. This guide creates just a "mirror" of each repo, so I hope it doesn't consume much space (I'll find out soon). I got some trouble to create my apache user's ssh key and authenticate, but this other troubleshoot (Gitlab prompts for password while push for git user 上有一个指南,@VonC 提示)对我帮助很大。