2013-11-26 1 views
0

Я пытаюсь настроить git repo на своем веб-сервере. Поскольку я не хочу предоставлять каждому доступ к SSH, я хотел бы использовать http-backend.git-http-backend с lighttpd не удалось получить доступ к репозиторию

Вот конфигурация Lighttpd, что я использую:

$HTTP["host"] =~ "git.domain.org" { 
    alias.url    += ("/git" => "/usr/lib/git-core/git-http-backend") 
    # prevent a request to "/git" from causing a 500 error (no PATH_INFO) 
    url.rewrite-once   = ("^/git$" => "/git/") 

    $HTTP["url"] =~ "^/git/" { 
    # turn on CGI unconditionally for this URL 
    cgi.assign = ("" => "") 
    setenv.add-environment = (
     "GIT_PROJECT_ROOT" => "/home/<username>/git/", 
     "GIT_HTTP_EXPORT_ALL" => "" 
    ) 
    } 
} 

При попытке клонирования (мерзавец клон http://git.domain.org/git/test.git) репо появляется следующее сообщение об ошибке:

fatal: http://git.domain.org/git/test.git/info/refs not valid: is this a git repository? 

В реагирующие репо лежит в/home/username/git/test.git.

Любые идеи, как исправить это? Как я пытаюсь сделать это на арендованном веб-сервере, у меня нет доступа к суперпользователю.

+0

доступ суперпользователя может не потребоваться, какая команда вы выполняете – Bijendra

+0

@Bijendra git clone http://git.domain.org/git/test.git – H4kor

ответ

0

Если вы работаете в openuse, так как ваш gitroot не находится в/srv/git, вам необходимо обновить apparmor, чтобы разрешить доступ к чтению вашего gitrepo.

изменить /etc/apparmor.d/usr.share.git-web.gitweb.cgi и добавить/home/имя пользователя/git и/home/имя пользователя/git/** в существующий список.

Смежные вопросы