Git

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 el servidor HTTP Git Smart en CentOS 8 para alojar sus repositorios Git de forma privada. Entonces empecemos.

Instalación de Git y Apache HTTP Server:

Primero, actualice la caché del repositorio de paquetes de CentOS 8 con el siguiente comando:

$ sudo dnf makecache

Ahora, instale Git, el servidor HTTP Apache y las herramientas Apache con el siguiente comando:

$ sudo dnf instalar git httpd httpd-tools

Ahora presiona Y y luego presione para confirmar la instalación.

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

Configuración del servidor HTTP Apache:

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

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

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

Ahora, agregue las siguientes líneas al archivo de configuración / 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 /
 

Opciones + ExecCGI -MultiViews + SymLinksIfOwnerMatch
AllowOverride Ninguno
Requerir todo concedido


Dav On
Índices de opciones FollowSymLinks
AllowOverride Ninguno
Requerir todo concedido

El archivo de configuración final debe tener el siguiente aspecto. 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 / 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 surtan efecto, ejecute el siguiente comando:

$ sudo restorecon -Rv / var / www / git

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

$ sudo systemctl reiniciar httpd

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

$ sudo systemctl habilitar httpd

Ahora, permita que el puerto HTTP (80) atraviese el muro de archivos con el siguiente comando:

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

Para que los cambios surtan efecto, vuelva a cargar el firewall de la siguiente manera:

$ sudo firewall-cmd --reload

Escribir un script para crear repositorios Git accesibles a HTTP de forma más sencilla:

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

Si desea utilizar mi script, cree un nuevo archivo 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-actualización.ganchos de muestra / post-actualización
git config http.recibir paquete verdadero
git config http.uploadpack verdadero
git update-server-info
chown -Rf apache: apache "$ GIT_DIR / $ REPO_NAME.git "
echo "El repositorio de Git '$ 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

Cree repositorios Git accesibles 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 de Git accesible mediante HTTP prueba debe ser embalado.

Accediendo a los repositorios de Git desde el servidor de Git:

Para acceder a los repositorios de Git que ha creado en su servidor CentOS 8 Git, necesita esa dirección IP del servidor CentOS 8 Git y el nombre del repositorio 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. Por lo tanto, asegúrese de reemplazarlo por el suyo a partir de ahora.

Una vez que el administrador del servidor Git encuentra la dirección IP, puede enviarla a los usuarios / desarrolladores que usarán repositorios Git alojados en el servidor Git. Luego, los usuarios / desarrolladores pueden acceder a los repositorios de Git que deseen.

Por ejemplo, si Beto quiere clonar el repositorio de Git prueba desde el servidor Git, puede hacerlo de la siguiente manera:

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

El repositorio de Git prueba debe ser clonado desde el servidor Git.

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

Ahora, Bob puede navegar hasta el prueba/ directorio de la siguiente manera:

$ cd prueba /

Ahora, Bob crea un nuevo archivo mensaje.TXT en el repositorio de Git.

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

Bob confirma los cambios.

$ git agregar .

$ git commit -m 'compromiso inicial'

Bob confirma si los cambios se confirmaron en el repositorio.

$ git log --en línea

Ahora, Bob carga los cambios en el servidor Git.

$ git push origin

Otro desarrollador (digamos shovon) que quiere contribuir al prueba El repositorio de Git también puede clonar el prueba repositorio del servidor Git.

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

Shovon navega hasta el prueba/ directorio.

$ cd prueba /

Shovon encuentra el compromiso que hizo Bob.

Ahora, shovon cambia el mensaje.archivo txt.

$ echo 'shovon agregó algunos textos nuevos' >> mensaje.TXT

Compromete los cambios.

$ git agregar .

$ git commit -m 'agregó un mensaje nuevo'

Shovon confirma si los cambios se confirmaron en el repositorio.

$ git log --en línea

Shovon carga los cambios en el servidor de Git.

$ git push origin

Ahora, Bob extrae los cambios del servidor Git.

$ git pull

Bob encuentra el nuevo compromiso.

$ git log --en línea

Bob encuentra los cambios que Shovon hizo en el mensaje.archivo txt.

Así es como puede usar los repositorios de Git desde el servidor HTTP de Git.

Agregar autenticación de usuario al servidor Git:

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

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

El botón central del mouse no funciona en Windows 10
La botón central del ratón le ayuda a desplazarse por páginas web largas y pantallas con una gran cantidad de datos. Si eso se detiene, bueno, termina...
Cómo cambiar los botones izquierdo y derecho del mouse en una PC con Windows 10
Es una norma que todos los dispositivos de mouse de computadora estén diseñados ergonómicamente para usuarios diestros. Pero hay dispositivos de mouse...
Emule los clics del mouse colocando el mouse con Clickless Mouse en Windows 10
El uso excesivo de un mouse o teclado en una postura incorrecta puede provocar muchos problemas de salud, como tensión, síndrome del túnel carpiano y ...