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.
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.