GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Cómo instalar el servidor HTTP Git en Ubuntu 20.04 LTS

En este tutorial, le mostraremos cómo instalar HTTP Git Server en Ubuntu 20.04 LTS. Para aquellos de ustedes que no lo sabían, HTTP Git Server es un proyecto de código abierto que utiliza un servidor web Nginx para servir repositorios Git a través de su red de área local (LAN). El servidor HTTP Git es sorprendentemente fácil de configurar y administrar.

Este artículo asume que tiene al menos conocimientos básicos de Linux, sabe cómo usar el shell y, lo que es más importante, aloja su sitio en su propio VPS. La instalación es bastante simple y asume que se están ejecutando en la cuenta raíz, si no, es posible que deba agregar 'sudo ' a los comandos para obtener privilegios de root. Le mostraré la instalación paso a paso de HTTP Git Server en Ubuntu 20.04 (Focal Fossa). Puede seguir las mismas instrucciones para Ubuntu 18.04, 16.04 y cualquier otra distribución basada en Debian como Linux Mint.

Requisitos previos

  • Un servidor que ejecuta uno de los siguientes sistemas operativos:Ubuntu 20.04, 18.04, 16.04 y cualquier otra distribución basada en Debian como Linux Mint.
  • Se recomienda que utilice una instalación de sistema operativo nueva para evitar posibles problemas.
  • Un non-root sudo user o acceder al root user . Recomendamos actuar como un non-root sudo user , sin embargo, puede dañar su sistema si no tiene cuidado al actuar como root.

Instalar servidor HTTP Git en Ubuntu 20.04 LTS Focal Fossa

Paso 1. Primero, asegúrese de que todos los paquetes de su sistema estén actualizados ejecutando el siguiente apt comandos en la terminal.

sudo apt update
sudo apt upgrade
sudo apt install fcgiwrap apache2-utils unzip

Paso 2. Instalación de Nginx en Ubuntu 20.04.

Nginx está disponible en los repositorios predeterminados de Ubuntu. Para instalarlo, ejecute el siguiente comando:

sudo apt install nginx

Una vez completada la instalación, ejecute los comandos para permitir que Nginx se inicie automáticamente cuando se inicie su servidor:

sudo systemctl stop nginx
sudo systemctl start nginx
sudo systemctl enable nginx

Configurando cortafuegos.

Mientras tanto, debe asegurarse de que su firewall esté configurado para permitir el tráfico en los puertos HTTP (80) y HTTPS (443). Nginx se registra como un servicio con ufw :

sudo ufw allow in "Nginx Full"

Paso 3. Instalación de Git en Ubuntu 20.04.

Ejecute el siguiente comando a continuación para instalar Git en su sistema Ubuntu:

sudo apt install git

Confirmar Git la instalación:

git --version

Paso 4. Crea un Repositorio Git.

Ahora creamos un directorio para almacenar el repositorio Git:

mkdir /var/www/html/idroot-repo

Luego, cambie el directorio a idroot-repo y crea otro directorio para los usuarios:

cd /var/www/html/myrepo
mkdir user.git

Ahora inicializaremos el repositorio con el comando:

cd user.git
git --bare init

Luego, actualice el Servidor Git con el comando:

git update-server-info

Otorgue al repositorio la propiedad correcta con el comando:

chown -R www-data:www-data /var/www/html/idroot-repo
chmod -R 755 /var/www/html/idroot-repo

Después de eso, cree un usuario llamado usuario y establezca una contraseña para restringir el acceso al repositorio de git mediante la autenticación básica HTTP:

htpasswd -c /var/www/html/idroot-repo/htpasswd user

Paso 5. Configure Nginx para servir el repositorio de Git.

Ahora creamos un archivo de configuración de host virtual de Nginx para servir el repositorio de Git:

nano /etc/nginx/conf.d/git.conf

Agregue las siguientes líneas:

server {
        listen 80;

        root /var/www/html/idroot-repo;

        # Add index.php to the list if you are using PHP
        index index.html index.htm index.nginx-debian.html;

        server_name git.your-domain.com;

        location / {
                # First attempt to serve request as file, then
                # as directory, then fall back to displaying a 404.
                try_files $uri $uri/ =404;
        }

location ~ (/.*) {
    client_max_body_size 0; 
    auth_basic "Git Login"; 
    auth_basic_user_file "/var/www/html/idroot-repo/htpasswd";
    include /etc/nginx/fastcgi_params; 
    fastcgi_param SCRIPT_FILENAME /usr/lib/git-core/git-http-backend; 
    fastcgi_param GIT_HTTP_EXPORT_ALL "";
    fastcgi_param GIT_PROJECT_ROOT /var/www/html/idroot-repo;
    fastcgi_param REMOTE_USER $remote_user;
    fastcgi_param PATH_INFO $1; 
    fastcgi_pass  unix:/var/run/fcgiwrap.socket;
}

}

Guarde y cierre el archivo, luego reinicie el servicio Nginx para aplicar los cambios:

nginx -t
sudo systemctl restart nginx

Paso 6. Conéctese al repositorio de Git desde el cliente.

Primero, cree un directorio para su proyecto con el siguiente comando:

mkdir my-project

Luego, navegue hasta el directorio de su proyecto e inicialice Git usando el comando:

cd my-project
git init

Recomendamos configurar su Git para confirmar el correo electrónico y el nombre de usuario. Para hacerlo, ejecute los siguientes comandos:

git config --global user.email "[email protected]"
git config --global user.name "user"

Después de eso, agregue su repositorio Git remoto con el siguiente comando:

git remote add origin http://[email protected]/user.git

Luego, cree un directorio llamado dev y agregue un archivo dentro:

mkdir dev
echo "This is my first my application" > dev/file

Ahora podemos agregar esos archivos a git con el comando:

git add .

Confirme los cambios con el comando:

git commit -a -m "Add files and directories"

Luego, envíe todos nuestros directorios y archivos recién creados al servidor con el comando:

git push origin master

Una vez que esté conectado, obtendrá el siguiente resultado:

Counting objects: 8, done.
Writing objects: 100% (4/4), 512 bytes | 346.00 KiB/s, done.
Total 8 (delta 0), reused 0 (delta 0)
To http://git.your-domain.com/user.git
 * [new branch]      master -> master

También puede descargar su repositorio desde el servidor Git directamente usando el siguiente comando:

git clone http://[email protected]/user.git

¡Felicitaciones! Ha instalado con éxito HTTP Git Server. Gracias por usar este tutorial para instalar HTTP Git Server en su sistema Ubuntu 20.04 LTS Focal Fossa. Para obtener ayuda adicional o información útil, le recomendamos consulte el sitio web oficial de Git.


Ubuntu
  1. Cómo instalar Nginx en Ubuntu 20.04

  2. Cómo instalar el servidor HTTP Git con Nginx en Ubuntu 16.04

  3. Cómo instalar el servidor de Minecraft en Ubuntu 18.04 LTS

  4. Cómo instalar el servidor HTTP Git con Nginx en Ubuntu 20.04

  5. Cómo instalar Discourse en Ubuntu 20.04 LTS

Cómo instalar Nginx en Ubuntu

Cómo instalar Moodle en Ubuntu 16.04 LTS

Cómo instalar TeamSpeak Server en Ubuntu 16.04 LTS

Cómo instalar Jekyll en Ubuntu 16.04 LTS

Cómo instalar Nginx en Ubuntu 18.04 LTS

Cómo instalar Git en Ubuntu 18.04 LTS