Eu tenho servidores com Ubuntu 18.04 e apache2 servidor da web. Eu quero hospedar meus projetos git lá e acessá-los através do protocolo http. Então eu criei o vhost, que funciona com a seguinte configuração:
<VirtualHost *:80>
DocumentRoot "/var/www/git"
ServerName git.example.org
ServerAlias www.git.example.org
ErrorLog ${APACHE_LOG_DIR}/git.error.log
CustomLog ${APACHE_LOG_DIR}/git.access.log combined
<Directory "/var/www/git">
#AuthType Basic
#AuthName "Restricted Content"
#AuthUserFile /etc/apache2/htpasswd/.htpasswd-default
#Require valid-user
</Directory>
</VirtualHost>
Eu posso pegar o repositório que eu criei no diretório /var/www/git/example.git com o comando:
git clone http://git.example.org/example.git
Mas enquanto eu estou tentando empurrar qualquer coisa que eu estou recebendo o seguinte erro:
error: Cannot access URL http://git.example.org/example.git/, return code 22
fatal: git-http-push failed
Também adicionei o git.conf em / etc / apache2 / conf-available, e o transformei em a2enconf sem erros. Arquivo contém:
SetEnv GIT_PROJECT_ROOT /var/www/git
SetEnv GIT_HTTP_EXPORT_ALL
SetEnv REMOTE_USER=$REDIRECT_REMOTE_USER
<Directory "/usr/lib/git-core*">
Options ExecCGI Indexes
Order allow,deny
Allow from all
Require all granted
</Directory>
<LocationMatch "^/git/.*/git-receive-pack$">
AuthType Basic
AuthName "Git Access"
AuthUserFile /etc/apache2/htpasswd/.htpasswd-default
Require valid-user
</LocationMatch>
<Directory /var/www/git>
AllowOverride None
Options +ExecCGI -Includes
Order allow,deny
Allow from all
</Directory>
ScriptAliasMatch \
"(?x)^/git/(.*/(HEAD | \
info/refs | \
objects/(info/[^/]+ | \
[0-9a-f]{2}/[0-9a-f]{38} | \
pack/pack-[0-9a-f]{40}\.(pack|idx)) | \
git-(upload|receive)-pack))$" \
/usr/lib/git-core/git-http-backend/$1
ScriptAlias /git /usr/lib/git-core/git-http-backend/
Estou sentindo falta de algo?
Tags git ubuntu apache-http-server