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
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 / bashGIT_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:
$ nmcliEn 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.