Назад | Перейти на главную страницу

Gitolite3 push и отказ доступа к selinux

Пытаюсь установить gitolite3 с помощью ssh и http.

Я в основном следил за официальное руководство на gitolite3Но я натыкаюсь на три оставшиеся проблемы.

  1. Когда я $ git clone http://florian@server/git/testing, это правильно создает репо. Я добавляю и фиксирую новый текстовый файл, затем $ git push http://florian@server/git/testing. Дело в том, что он дает мне только сообщение:

    Everything up-to-date
    

    Это странно. я $ rm -rf testing, снова клонируйте репо, а моего текстового файла там нет. Вроде с чтением все нормально, а вот письмо где-то теряется. Нет ничего подозрительного ни в / etc / httpd / logs / suexec.log, ни в error_log, ни в access_log, все они указывают на успешную аутентификацию пользователя и соединение. Кроме того, содержимое ./gitolite-admin/conf/gitolite.conf для тестирования:

    repo testing
        RW+     =   @all
        RW+     =   daemon
    

    Хотя официальное руководство на gitolite3 ничего не сказал о добавлении W + для тестового репо. Я немного ошеломлен, где мне искать, чтобы заставить работать http?

  2. Чтобы зайти так далеко, мне пришлось echo 0 > /selinux/enforce (отключить selinux), который я хочу снова включить. После повторного включения httpd error_log будет содержать следующие строки каждый раз, когда я пытаюсь выполнить вышеуказанное $ git clone http://florian@server/git/testing, и сама команда не работает (конечно):

    [Sun Aug 04 00:19:34 2013] [error] [client 10.42.43.1] FATAL: errors found but logfile could not be created
    [Sun Aug 04 00:19:34 2013] [error] [client 10.42.43.1] FATAL: /var/lib/gitolite3/.gitolite/logs/gitolite-2013-08.log: Permission denied
    [Sun Aug 04 00:19:34 2013] [error] [client 10.42.43.1] FATAL: warn\tUse of uninitialized value $rc{"UMASK"} in umask at /usr/share/gitolite3/gitolite-shell line 95, <DATA> line 1.<<newline>>
    [Sun Aug 04 00:19:34 2013] [error] [client 10.42.43.1] Premature end of script headers: gitolite-suexec-wrapper.sh
    

    ... Итак, я сейчас сталкиваюсь с трудностями с selinux. Выполнение следующей строки показывает:

    # ll -Z /var/lib/gitolite3/.gitolite/logs/gitolite-2013-08.log 
    -rw-rw-rw-. gitolite3 gitolite3 unconfined_u:object_r:gitosis_var_lib_t:s0 /var/lib/gitolite3/.gitolite/logs/gitolite-2013-08.log
    

    ... Что меня еще больше озадачивает. Я знаю, что gitolite3 следует за гитозисом, похоже, что моя ОС CentOS6.4 на самом деле делает быстрое исправление, помечая контексты файлов старыми метками gitosis, а не новыми gitolite. Достаточно справедливо, но теперь я хочу спросить сообщество, какие здесь лучшие практики и какие разрешения я должен включить, чтобы решить эту проблему с доступом?

Извините, если это много вопросов, я не знал, что установка gitolite3 не так проста для http. Но я полон решимости приступить к этому и продолжать, и я знаю, что до этого не так уж и далеко.