Configurar el servidor GIT con HTTP en Centos 8

Configurar el servidor GIT con HTTP en Centos 8
En este artículo, le mostraré cómo configurar Git Smart HTTP Server en CentOS 8 para alojar sus repositorios GIT en privado. Entonces empecemos.

Instalación del servidor Git y Apache HTTP:

Primero, actualice el caché del repositorio del paquete CentOS 8 con el siguiente comando:

$ sudo dnf makecache

Ahora, instale git, servidor HTTP apache y herramientas Apache con el siguiente comando:

$ sudo dnf install git httpd httpd-tools

Ahora presiona Y y luego presiona Para confirmar la instalación.

Se deben instalar Git, Apache y las herramientas de Apache requeridas.

Configuración del servidor Apache HTTP:

En esta sección, le mostraré cómo configurar Apache Server para acceder a los repositorios GIT a través del protocolo HTTP.

Primero, cree un nuevo archivo de configuración /etc/httpd/conf.d/git.confusión Con el siguiente comando:

$ sudo vi/etc/httpd/conf.d/git.confusión

Ahora, agregue las siguientes líneas al archivo de configuración /etc/httpd/conf.d/git.confusión:


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

Opciones +ExecCGI -Multiviews +Symlinksifownermatch
Permitirse
Requiere todos otorgados


Dav en
Índices de opciones Seguirsymlinks
Permitirse
Requiere todos otorgados

El archivo de configuración final debe verse de la siguiente manera. Ahora, guarde el archivo de configuración.

Ahora, crea el Git_project_root directorio /var/www/git Con el siguiente comando:

$ sudo mkdir/var/www/git

Ahora, configure Selinux para el /var/www/git directorio con el siguiente comando:

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

Para que los cambios de Selinux entren en vigencia, ejecute el siguiente comando:

$ sudo restaurecon -rv/var/www/git

Ahora, reinicie el servicio del servidor Apache HTTP con el siguiente comando:

$ sudo systemctl reiniciar httpd

Además, agregue el servicio del servidor Apache HTTP al inicio del sistema CentOS 8 con el siguiente comando:

$ sudo systemctl habilitar httpd

Ahora, permita el puerto HTTP (80) a través del muro de archivo con el siguiente comando:

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

Para que los cambios entren en vigencia, vuelva a cargar el firewall de la siguiente manera:

$ sudo firewall-cmd--Reload

Escribir un script para crear repositorios Git accesibles HTTP más fácilmente:

Para facilitar la creación de repositorios de git accesibles HTTP, he escrito un script de shell simple que puede usar para ahorrar mucho tiempo valioso.

Si desea usar mi script, cree un archivo nuevo en la ruta /usr/sbin/git-crate-repo Con el siguiente comando:

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

Luego escriba las siguientes líneas de códigos en el archivo recién creado /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 git-daemon-export-ok
CP Hooks/Post-Update.Ganchos de muestra/post-actualización
git config http.Recibepack verdadero
git config http.Suboadpack verdadero
Git Update-Server-Info
chown -rf apache: apache "$ git_dir/$ repo_name.git "
echo "Git Repository '$ Repo_name' creado en $ git_dir/$ repo_name.git "

Así es como se ve el script de shell final. Una vez que haya terminado, guarde el archivo.

Ahora, agregue permiso ejecutable al script de shell /usr/sbin/git-create-repo Con el siguiente comando:

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

Crear repositorios Git accesibles para HTTP:

Ahora, puede crear un nuevo repositorio de GIT accesible HTTP (llamémoslo prueba) con el siguiente comando:

$ sudo git-create-repo prueba

Un nuevo repositorio Git accesible para HTTP prueba debe ser cañido.

Acceder a los repositorios GIT desde el servidor GIT:

Para acceder a los repositorios GIT que ha creado en su servidor CentOS 8 GIT, necesita que la dirección IP del servidor CentOS 8 GIT y el nombre del repositorio de GIT.

El administrador del servidor GIT puede encontrar la dirección IP del servidor GIT con el siguiente comando:

$ nmcli

En mi caso, la dirección IP es 192.168.20.129. Será diferente para ti. Entonces, asegúrese de reemplazarlo con el tuyo de ahora en adelante.

Una vez que el administrador del servidor GIT encuentra la dirección IP, él/ella puede enviarla a los usuarios/desarrolladores que utilizarán repositorios GIT alojados en el servidor GIT. Entonces los usuarios/desarrolladores pueden acceder a sus repositorios GIT deseados.

Por ejemplo, si Beto quiere clonar el repositorio de git prueba Desde el servidor GIT, puede hacerlo de la siguiente manera:

$ git clone http: // 192.168.20.129/prueba.git

El repositorio git prueba debe clonarse desde el servidor GIT.

Un nuevo directorio prueba/ debe crearse en el directorio de trabajo actual de Bob.

Ahora, Bob puede navegar al prueba/ Directorio de la siguiente manera:

Prueba de $ CD/

Ahora, Bob crea un nuevo archivo mensaje.TXT En el repositorio de git.

$ echo 'hola desde linuxhint' >> mensaje.TXT

Bob comete los cambios.

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

Bob confirma si los cambios se comprometieron con el repositorio.

$ git log -enneline

Ahora, Bob sube los cambios en el servidor GIT.

$ Git Push Origin

Otro desarrollador (digamos pala) quien quiere contribuir al prueba Git Repository también puede clonar el prueba Repositorio del servidor GIT.

$ git clone http: // 192.168.20.129/prueba.git

Shovon navega al prueba/ directorio.

Prueba de $ CD/

Shovon encuentra el compromiso que Bob hizo.

Ahora, Shovon cambia el mensaje.archivo txt.

$ Echo 'Shovon agregó algunos textos nuevos' >> Mensaje.TXT

Comete los cambios.

$ git add .
$ git commit -m 'agregó algún mensaje nuevo'

Shovon confirma si los cambios se comprometieron con el repositorio.

$ git log -enneline

Shovon sube los cambios en el servidor GIT.

$ Git Push Origin

Ahora, Bob extrae los cambios del servidor GIT.

$ git tirón

Bob encuentra el nuevo compromiso.

$ git log -enneline

Bob encuentra los cambios que Shovon hizo al mensaje.archivo txt.

Así es como puede usar repositorios GIT del servidor GIT HTTP.

Agregar autenticación de usuario al servidor Git:

Si desea agregar autenticación de usuario a repositorios GIT del servidor o repositorios de GIT específicos, consulte el artículo Configurar el servidor GIT con HTTP en Ubuntu.

Entonces, así es como configura el servidor HTTP Smart Smart en CentOS 8 y usa repositorios GIT desde el servidor GIT. Gracias por leer este artículo.