Eu tento instalar o gitolite3 com ssh e http.
Eu segui em grande parte o guia oficial no gitolite3 , mas estou tropeçando em três problemas remanescentes.
Quando eu $ git clone http://florian@server/git/testing
, isso cria corretamente o repositório. Eu adiciono e confirmo um novo arquivo de texto e, em seguida, $ git push http://florian@server/git/testing
. A coisa então é, só me dá uma mensagem:
Everything up-to-date
Isso é estranho. Eu $ rm -rf testing
clonei o repositório novamente e meu arquivo de texto não está lá. Parece que a leitura está bem, mas a escrita se perde em algum lugar. Não há nada de suspeito em / etc / httpd / logs / suexec.log, error_log, access_log, todos eles indicam uma autenticação e conexão de usuário bem-sucedidas. Além disso, o conteúdo do ./gitolite-admin/conf/gitolite.conf para teste é:
repo testing
RW+ = @all
RW+ = daemon
Embora o guia oficial do gitolite3 não tenha dito nada sobre adicionar o W + ao repo de teste. Estou um pouco estupefato, onde devo olhar para empurrar o trabalho http?
Para chegar até aqui, precisei echo 0 > /selinux/enforce
(desativar o selinux), que quero reativar novamente. Depois de reabilitar, o httpd error_log tem as seguintes linhas toda vez que eu tento o $ git clone http://florian@server/git/testing
acima, e o próprio comando falha (é claro):
[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
... Então estou correndo agora em dificuldades selinux. Executando a seguinte linha revela:
# 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
... O que me intriga ainda mais. Estou ciente de que o gitolite3 está seguindo a gitosis, parece que meu OS CentOS6.4 está realmente fazendo uma correção rápida com roteamento de contextos de arquivo com rótulos de gitoses antigos em vez de novos gitolitos. É justo, mas agora quero perguntar à comunidade qual é a melhor prática aqui e quais permissões devo permitir para resolver esse problema de acesso?
Me desculpe se estas são muitas perguntas, eu não sabia que instalar o gitolite3 não era tão simples para o http. Mas estou empenhada em fazer isso e eu sei que não é tão longe para chegar lá.