gitweb сообщает 404 — в Ubuntu 14.04.2 проекты не найдены

Я просмотрел кучу других вопросов и ответов здесь и пока не смог понять это...

Используя Ubuntu 14.04.2, у меня есть git + gitolite + gitweb прямо из apt-get.

Когда я обращаюсь к /gitweb через браузер, он работает, но пишет 404 - No projects found.

Я переместил файл gitweb conf с /etc/apache2/conf.d на более новый /etc/apache2/conf-available с символической ссылкой в ​​conf-enabled, внес небольшое изменение, добавив + перед FollowSymLinks.

/etc/apache2/conf-available/gitweb.conf:

Alias /gitweb /usr/share/gitweb

<Directory /usr/share/gitweb>
  Options +FollowSymLinks +ExecCGI
  AddHandler cgi-script .cgi
</Directory>

/etc/gitweb.conf:

<snip>
$projectroot = "/home/git/repositories/";
<snip>
$projects_list = "/home/git/projects.list";
<snip>

gitolite.conf:

repo    gitolite-admin
        RW+     =   tyrel

repo    testing
        RW+     =   @all

repo    myrepo
        RW+     =   tyrel
        R       =   gitweb daemon

gitolite работает как пользователь git с группой git. www-данные находятся в группе git.

/home/git$ ls -l
total 8
-rw-r----- 1 git git   16 Mar 21 09:50 projects.list
drwxr----- 5 git git 4096 Mar 19 22:04 repositories

.gitolite.rc:

<snip>
$WEB_INTERFACE = "gitweb";
$REPO_UMASK = 0027;
<snip>

projects.list:

myrepo

И что есть в репозиториях:

/home/git$ sudo ls -l repositories
total 12
drwxr----- 7 git git 4096 Mar 21 09:50 myrepo.git
drwxr----- 8 git git 4096 Mar 21 09:50 gitolite-admin.git
drwxr----- 7 git git 4096 Mar 21 09:50 testing.git

Что мне не хватает?

Заранее спасибо за помощь!


person tyrel    schedule 21.03.2015    source источник


Ответы (1)


Я думаю, проблема может заключаться в том, что все ваши каталоги (репозитории, testing.git, myrepo.git) также должны иметь права на выполнение группы, например.

drwxr-x--- 5 git git 4096 Mar 19 22:04 repositories

У меня была очень похожая проблема при установке gitweb. Поскольку существующие репозитории gitolite были созданы до обновления UMASK в .gitolite.rc, они не получили правильных прав доступа и их пришлось настраивать вручную. Именно поэтому я нашел ваш вопрос.

Эта команда, выполненная в каталоге gitolite, должна решить проблему:

find . -type d -exec chmod g+x {} \;

Вероятно, вы уже как-то решили проблему, так как вопрос немного устарел, но, возможно, кто-то другой может использовать ответ.

person Mr.f    schedule 23.05.2015
comment
Спасибо за ваш ответ. У меня больше нет этой настройки, чтобы попробовать, но я решил ее, используя gitlab.com вместо того, чтобы размещать свой собственный. - person tyrel; 24.05.2015