Пытаюсь установить gitolite3 с помощью ssh и http.
Я в основном следил за официальное руководство на gitolite3Но я натыкаюсь на три оставшиеся проблемы.
Когда я $ 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?
Чтобы зайти так далеко, мне пришлось 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. Но я полон решимости приступить к этому и продолжать, и я знаю, что до этого не так уж и далеко.