>_Git e Gitolite no Debian 7.8 – 1.4

Neste tutorial vou abordar a configuração do Gitweb.

O Gitweb é uma interface web Git. Ele é escrito em Perl e pode ser usado como um script CGI, ou como um script mod_perl. Com ele é possível navegar em um repositório git (ou um conjunto de repositórios git) utilizando um navegador web.

Passo 1 – No servidor git dentro do diretório gitolite-admin será executado o comando git pull para baixar a última versão do repositório.

git@ba-vm-git-01:~$ cd gitolite-admin/
git@ba-vm-git-01:~/gitolite-admin$ ls
conf  keydir
git@ba-vm-git-01:~/gitolite-admin$ cd conf/
git@ba-vm-git-01:~/gitolite-admin/conf$ git pull

Passo 2 – Após a atualização o próximo passo será alterar o arquivo de permissão para ajustar as permissões para os serviços do gitweb.

git@ba-vm-git-01:~/gitolite-admin/conf$ vim permissoes.conf 
@admins = server-git evandro www-01
@read   = pve
@web    = daemon gitweb

Passo 3 – Ajustando o arquivo gitolite.conf.

git@ba-vm-git-01:~/gitolite-admin/conf$ vim gitolite.conf 
include "permissoes.conf"

repo    gitolite-admin
        RW+     =       server-git
        RW+     =       @admins
        R       =       @read

repo   dhcpweb
        RW+     =       @admins
        R       =       @web

repo    testing
        RW+     =   @all

Passo 4 – Após as alterações nos arquivos, será necessário aplicar o commit.

git@ba-vm-git-01:~/gitolite-admin/conf$ git commit -a -m "GitWeb"
[master 3944de0] GitWeb
 2 files changed, 3 insertions(+), 1 deletion(-)

Passo 5 – Subindo o repositório novamente para o servidor.

git@ba-vm-git-01:~/gitolite-admin/conf$ git push
]Counting objects: 9, done.
Compressing objects: 100% (5/5), done.
Writing objects: 100% (5/5), 471 bytes, done.
Total 5 (delta 1), reused 0 (delta 0)
To git@ba-vm-git-01:gitolite-admin
   18ce575..3944de0  master -> master

Passo 6 – Instalando os pacotes apache2, gitweb e git-daemon-run no servidor git.

root@ba-vm-git-01:~# apt-get install apache2 gitweb git-daemon-run

Passo 7 – Adicionando o apache no grupo do user git.

root@ba-vm-git-01:~# usermod -a -G git www-data
root@ba-vm-git-01:~# id www-data
uid=33(www-data) gid=33(www-data) grupos=33(www-data),106(git)

Passo 8 – Ajustando o arquivo gitweb.conf

root@ba-vm-git-01:~# vim /etc/gitweb.conf 
$projectroot = "/var/cache/git";
para
$projectroot = "/home/git/repositories";
#$projects_list = $projectroot;
para
$projects_list = "/home/git/projects.list";

Passo 9 – Ajustando o arquivo run

root@ba-vm-git-01:~# vim /etc/sv/git-daemon/run 
#!/bin/sh
exec 2>&1
echo 'git-daemon starting.'
exec chpst -ugitdaemon \
  "$(git --exec-path)"/git-daemon --verbose --reuseaddr \
    --base-path=/var/cache /var/cache/git

Para

#!/bin/sh
exec 2>&1
echo 'git-daemon starting.'
exec chpst -ugitdaemon \
  "$(git --exec-path)"/git-daemon --verbose --reuseaddr \
    --base-path=/home/git/repositories /home/git

Passo 10 – Iniciando o git-daemon com o comando sv.

root@ba-vm-git-01:~# sv restart git-daemon
ok: run: git-daemon: (pid 4971) 0s
root@ba-vm-git-01:~# ps aux | grep git
root      2146  0.0  0.3  32268  1656 pts/0    S    15:11   0:00 sudo su - git
root      2147  0.0  0.2  36000  1364 pts/0    S    15:11   0:00 su - git
git       2148  0.0  0.4  20308  2132 pts/0    S+   15:11   0:00 -su
root      4617  0.0  0.0    160     4 ?        Ss   15:15   0:00 runsv git-daemon
gitlog    4618  0.0  0.0    180     4 ?        S    15:15   0:00 svlogd -tt /var/log/git-daemon
105       4971  0.0  0.1  11224   832 ?        S    15:23   0:00 /usr/lib/git-core/git-daemon --verbose --reuseaddr --base-path=/home/git/repositories /home/git
root      4974  0.0  0.1   8756   884 pts/1    S+   15:23   0:00 grep git

Passo 11 – Reiniciando o apache.

root@ba-vm-git-01:~# /etc/init.d/apache2 restart
[ ok ] Restarting web server: apache2 ... waiting .

Passo 12 – Acessando o gitweb pelo navegador web.

http://servidor-git/gitweb/gitweb

>_Git e Gitolite no Debian 7.8 – 1.4
Tagged on:

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

%d blogueiros gostam disto: