Configure o Git Server com HTTP no CentOS 8

Configure o Git Server com HTTP no CentOS 8
Neste artigo, vou mostrar como configurar o Git Smart HTTP Server no CentOS 8 para hospedar seus repositórios Git em particular. Então vamos começar.

Instalando o servidor HTTP Git e Apache:

Primeiro, atualize o cache do repositório de pacotes do CentOS 8 com o seguinte comando:

$ sudo dnf makecache

Agora, instale o GIT, o Apache HTTP Server e o Apache Tools com o seguinte comando:

$ sudo dnf install git httpd httpd-tools

Agora, pressione Y e depois pressione Para confirmar a instalação.

As ferramentas Git, Apache e Apache necessárias devem ser instaladas.

Configurando o Apache HTTP Server:

Nesta seção, vou mostrar como configurar o Apache Server para acessar repositórios Git sobre o protocolo HTTP.

Primeiro, crie um novo arquivo de configuração /etc/httpd/conf.d/git.conf com o seguinte comando:

$ sudo vi/etc/httpd/conf.d/git.conf

Agora, adicione as seguintes linhas ao arquivo de configuração /etc/httpd/conf.d/git.conf:


Setenv git_project_root/var/www/git
Setenv git_http_export_all
Documentroot/var/www/git
Scriptalias//usr/libexec/git-core/git-http-backend/

Opções +Execcgi -Multiviews +Symlinksifowowsatch
Allowoverride nenhum
Exigir tudo concedido


DAV ON
Índices de opções seguem os links
Allowoverride nenhum
Exigir tudo concedido

O arquivo de configuração final deve parecer o seguinte. Agora, salve o arquivo de configuração.

Agora, crie o Git_project_root diretório /var/www/git com o seguinte comando:

$ sudo mkdir/var/www/git

Agora, configure o Selinux para o /var/www/git Diretório com o seguinte comando:

$ sudo semanage fcontext -m -t httpd_sys_rw_content_t
"/var/www/git (//.*)?"

Para que as mudanças do Selinux entrem em vigor, execute o seguinte comando:

$ sudo restaurEcon -rv/var/www/git

Agora, reinicie o serviço Apache HTTP Server com o seguinte comando:

$ sudo systemctl reiniciar httpd

Além disso, adicione o serviço Apache HTTP Server à inicialização do sistema CentOS 8 com o seguinte comando:

$ sudo systemctl ativar httpd

Agora, permita a porta HTTP (80) através do Filewall com o seguinte comando:

$ sudo firewall-cmd --add-service = http --permanent

Para que as mudanças entrem em vigor, recarregue o firewall da seguinte forma:

$ sudo firewall-cmd--reload

Escrevendo um script para criar repositórios Git acessíveis HTTP mais fáceis:

Para facilitar a criação de repositórios Git acessíveis HTTP, escrevi um script de shell simples que você pode usar para economizar muito do seu tempo valioso.

Se você quiser usar meu script, crie um novo arquivo no caminho /usr/sbin/git-crate-repo com o seguinte comando:

$ sudo vi/usr/sbin/git-create-repo

Em seguida, digite as seguintes linhas de códigos no arquivo recém -criado /usr/sbin/git-crate-repo.

#!/BIN/BASH
Git_dir = "/var/www/git"
Repo_name = $ 1
mkdir -p "$ git_dir/$ repo_name.git "
CD "$ git_dir/$ repo_name.git "
git init - -bare &> /dev /null
toque no git-daemon-export-ok
Ganchos CP/pós-atualização.ganchos de amostra/pós-atualização
Git Config http.RECEPTPACK TRUE
Git Config http.UPLOPLEPACK TRUE
Git Update-Server-Info
CHOWN -RF APACHE: Apache "$ git_dir/$ repo_name.git "
Echo "Git Repository '$ repo_name' criado em $ git_dir/$ repo_name.git "

É assim que o script final do shell se parece. Depois de terminar, salve o arquivo.

Agora, adicione permissão executável ao script do shell /usr/sbin/git-criate-repo com o seguinte comando:

$ sudo chmod +x/usr/sbin/git-criate-repo

Crie repositórios Git acessíveis HTTP:

Agora, você pode criar um novo repositório Git acessível HTTP (vamos chamá -lo teste) com o seguinte comando:

$ sudo git-criate-repo teste

Um novo repositório Git acessível HTTP teste deve ser criado.

Acessando os repositórios Git do servidor Git:

Para acessar os repositórios Git que você criou no seu servidor Git CentOS 8, você precisa é o endereço IP do servidor CentOS 8 Git e o nome do repositório Git.

O administrador do servidor Git pode encontrar o endereço IP do servidor Git com o seguinte comando:

$ nmcli

No meu caso, o endereço IP é 192.168.20.129. Vai ser diferente para você. Então, certifique -se de substituí -lo por seu a partir de agora.

Depois que o administrador do servidor Git encontrar o endereço IP, ele poderá enviá -lo aos usuários/desenvolvedores que usarão repositórios Git hospedados no servidor Git. Em seguida, os usuários/desenvolvedores podem acessar seus repositórios Git desejados.

Por exemplo, se prumo quer clonar o repositório Git teste Do servidor Git, ele pode fazê -lo o seguinte:

Clone $ Git http: // 192.168.20.129/teste.git

O repositório Git teste deve ser clonado do servidor Git.

Um novo diretório teste/ deve ser criado no atual diretório de trabalho de Bob.

Agora, Bob pode navegar para o teste/ diretório da seguinte maneira:

$ cd teste/

Agora, Bob cria um novo arquivo mensagem.TXT no repositório Git.

$ echo 'Olá de Linuxhint' >> mensagem.TXT

Bob comete as mudanças.

$ git add .
$ git commit -m 'Commits inicial'

Bob confirma se as alterações foram comprometidas com o repositório.

$ git log --oneeline

Agora, Bob envia as alterações no servidor Git.

$ Git Push Origin

Outro desenvolvedor (digamos Shovon) quem quer contribuir para o teste O repositório Git também pode clonar o teste repositório do servidor Git.

Clone $ Git http: // 192.168.20.129/teste.git

Shovon navega para o teste/ diretório.

$ cd teste/

Shovon encontra o compromisso que Bob fez.

Agora, Shovon muda a mensagem.arquivo txt.

$ Echo 'Shovon adicionou alguns novos textos' >> Mensagem.TXT

Comete as mudanças.

$ git add .
$ git Commit -m 'adicionou alguma nova mensagem'

Shovon confirma se as alterações foram comprometidas com o repositório.

$ git log --oneeline

Shovon envia as alterações no servidor Git.

$ Git Push Origin

Agora, Bob puxa as mudanças do servidor Git.

$ git puxão

Bob encontra o novo Commit.

$ git log --oneeline

Bob encontra as mudanças que Shovon fez na mensagem.arquivo txt.

É assim que você pode usar os repositórios Git do servidor HTTP Git.

Adicionando autenticação de usuário ao servidor Git:

Se você deseja adicionar autenticação de usuário aos repositórios Git Wide Server ou repositórios Git específicos, verifique o artigo Configure o Git Server com HTTP no Ubuntu.

Então, é assim que você configura o Git Smart Http Server no CentOS 8 e usa repositórios Git do servidor Git. Obrigado por ler este artigo.