Introduction

Setting up an HTTP Git server allows you to manage your Git repositories using a web interface, making it easier to collaborate on projects. This guide will walk you through the installation of an HTTP Git server using Nginx and SSL on Ubuntu 22.04, which can be effectively hosted on a Windows VPS UK for reliable performance and accessibility.

Prerequisites

  • An Ubuntu 22.04 server with root access
  • Basic knowledge of Linux commands
  • A registered domain name (optional, but recommended for SSL)

Step 1: Update Your System

Before starting the installation, update your package index and upgrade any existing packages:

sudo apt update && sudo apt upgrade -y

Step 2: Install Git

Install Git using the following command:

sudo apt install git -y

Verify the installation:

git --version

Step 3: Install Nginx

Install Nginx with the following command:

sudo apt install nginx -y

Start and enable Nginx to run on boot:

sudo systemctl start nginx
sudo systemctl enable nginx

Step 4: Configure Nginx for Git

Create a new configuration file for your Git server:

sudo nano /etc/nginx/sites-available/git

Add the following configuration, replacing your_domain.com with your actual domain:

server {
    listen 80;
    server_name your_domain.com;

    location / {
        root /srv/git;
        index index.html;
        try_files $uri $uri/ =404;
    }

    location ~ /.git/ {
        proxy_pass http://localhost:8080;  # Assuming you run Git HTTP backend on port 8080
    }

    error_log /var/log/nginx/git_error.log;
    access_log /var/log/nginx/git_access.log;
}

Enable the new site configuration:

sudo ln -s /etc/nginx/sites-available/git /etc/nginx/sites-enabled/

Test the Nginx configuration:

sudo nginx -t

Restart Nginx:

sudo systemctl restart nginx

Step 5: Generate SSL Certificates

Install Certbot for obtaining SSL certificates:

sudo apt install certbot python3-certbot-nginx -y

Run Certbot to obtain your SSL certificate:

sudo certbot --nginx -d your_domain.com

Follow the prompts to configure SSL for your domain.

Step 6: Create a Git Repository

Create a directory for your Git repositories:

sudo mkdir -p /srv/git/myrepo.git
cd /srv/git/myrepo.git
sudo git init --bare

This command initializes a new bare Git repository.

Step 7: Access Your Git Repository

You can now access your Git repository via HTTP. Use the following URL format:

http://your_domain.com/myrepo.git

Step 8: Conclusion

You have successfully set up an HTTP Git server with Nginx and SSL on Ubuntu 22.04. This configuration can greatly benefit from being hosted on a Windows VPS. For further options, explore various VPS UK Windows solutions, including Windows Virtual Private Server Hosting and Windows VPS Hosting UK for optimal performance.

© 2024 Git Server Installation Tutorial. All rights reserved.

Was this answer helpful? 0 Users Found This Useful (0 Votes)