GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

So installieren Sie den HTTP-Git-Server unter Ubuntu 20.04 LTS

In diesem Tutorial zeigen wir Ihnen, wie Sie HTTP Git Server auf Ubuntu 20.04 LTS installieren. Für diejenigen unter Ihnen, die es nicht wussten, HTTP Git Server ist ein Open-Source-Projekt, das verwendet ein Nginx-Webserver, um Git-Repositories über Ihr lokales Netzwerk (LAN) bereitzustellen. Der HTTP-Git-Server ist überraschend einfach einzurichten und zu verwalten.

Dieser Artikel geht davon aus, dass Sie zumindest über Grundkenntnisse in Linux verfügen, wissen, wie man die Shell verwendet, und vor allem, dass Sie Ihre Website auf Ihrem eigenen VPS hosten. Die Installation ist recht einfach und setzt Sie voraus im Root-Konto ausgeführt werden, wenn nicht, müssen Sie möglicherweise 'sudo hinzufügen ‘ zu den Befehlen, um Root-Rechte zu erhalten. Ich zeige Ihnen Schritt für Schritt die Installation von HTTP Git Server auf Ubuntu 20.04 (Focal Fossa). Sie können denselben Anweisungen für Ubuntu 18.04, 16.04 und jede andere Debian-basierte Distribution wie Linux Mint folgen.

Voraussetzungen

  • Ein Server, auf dem eines der folgenden Betriebssysteme ausgeführt wird:Ubuntu 20.04, 18.04, 16.04 und jede andere Debian-basierte Distribution wie Linux Mint.
  • Es wird empfohlen, dass Sie eine neue Betriebssysteminstallation verwenden, um potenziellen Problemen vorzubeugen.
  • Ein non-root sudo user oder Zugriff auf den root user . Wir empfehlen, als non-root sudo user zu agieren , da Sie Ihr System beschädigen können, wenn Sie als Root nicht aufpassen.

Installieren Sie HTTP Git Server auf Ubuntu 20.04 LTS Focal Fossa

Schritt 1. Stellen Sie zunächst sicher, dass alle Ihre Systempakete auf dem neuesten Stand sind, indem Sie den folgenden apt ausführen Befehle im Terminal.

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

Schritt 2. Installieren von Nginx auf Ubuntu 20.04.

Nginx ist in den standardmäßigen Ubuntu-Repositories verfügbar. Um es zu installieren, führen Sie den folgenden Befehl aus:

sudo apt install nginx

Führen Sie nach Abschluss der Installation die Befehle aus, damit Nginx automatisch startet, wenn Ihr Server startet:

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

Firewall konfigurieren.

In der Zwischenzeit müssen Sie sicherstellen, dass Ihre Firewall so konfiguriert ist, dass sie Datenverkehr auf den Ports HTTP (80) und HTTPS (443) zulässt. Nginx registriert sich selbst als Dienst bei ufw :

sudo ufw allow in "Nginx Full"

Schritt 3. Git unter Ubuntu 20.04 installieren.

Führen Sie den folgenden Befehl unten aus, um Git auf Ihrem Ubuntu-System zu installieren:

sudo apt install git

Git-Installation bestätigen:

git --version

Schritt 4. Erstellen Sie ein Git-Repository.

Jetzt erstellen wir ein Verzeichnis zum Speichern des Git-Repositorys:

mkdir /var/www/html/idroot-repo

Ändern Sie als Nächstes das Verzeichnis zu idroot-repo und erstellen Sie ein weiteres Verzeichnis für Benutzer:

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

Nun initialisieren wir das Repository mit dem Befehl:

cd user.git
git --bare init

Als nächstes aktualisieren Sie den Git-Server mit dem Befehl:

git update-server-info

Geben Sie dem Repository den richtigen Besitz mit dem Befehl:

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

Erstellen Sie danach einen Benutzer namens user und legen Sie ein Passwort fest, um den Zugriff auf das Git-Repository mithilfe der HTTP-Basisauthentifizierung einzuschränken:

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

Schritt 5. Konfigurieren Sie Nginx, um das Git-Repository zu bedienen.

Jetzt erstellen wir eine virtuelle Nginx-Host-Konfigurationsdatei, um das Git-Repository zu bedienen:

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

Fügen Sie die folgenden Zeilen hinzu:

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;
}

}

Speichern und schließen Sie die Datei und starten Sie dann den Nginx-Dienst neu, um die Änderungen zu übernehmen:

nginx -t
sudo systemctl restart nginx

Schritt 6. Vom Client aus eine Verbindung zum Git-Repository herstellen.

Erstellen Sie zuerst ein Verzeichnis für Ihr Projekt mit dem folgenden Befehl:

mkdir my-project

Navigieren Sie als Nächstes zu Ihrem Projektverzeichnis und initialisieren Sie Git mit dem Befehl:

cd my-project
git init

Wir empfehlen, Git so einzustellen, dass E-Mail und Benutzername festgeschrieben werden. Führen Sie dazu die folgenden Befehle aus:

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

Fügen Sie danach Ihr entferntes Git-Repository mit dem folgenden Befehl hinzu:

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

Als nächstes erstellen Sie ein Verzeichnis namens dev und fügen darin eine Datei hinzu:

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

Wir können diese Dateien jetzt mit dem Befehl zu git hinzufügen:

git add .

Übernehmen Sie die Änderungen mit dem Befehl:

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

Pushen Sie dann alle unsere neu erstellten Verzeichnisse und Dateien mit dem Befehl:

auf den Server
git push origin master

Sobald Sie verbunden sind, erhalten Sie die folgende Ausgabe:

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

Sie können Ihr Repository auch direkt vom Git-Server herunterladen, indem Sie den folgenden Befehl verwenden:

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

Herzlichen Glückwunsch! Sie haben den HTTP-Git-Server erfolgreich installiert. Vielen Dank, dass Sie dieses Tutorial zur Installation des HTTP-Git-Servers auf Ihrem Ubuntu 20.04 LTS Focal Fossa-System verwendet haben. Für zusätzliche Hilfe oder nützliche Informationen empfehlen wir Sie Besuchen Sie die offizielle Git-Website.


Ubuntu
  1. So installieren Sie Nginx unter Ubuntu 20.04

  2. So installieren Sie den HTTP-Git-Server mit Nginx unter Ubuntu 16.04

  3. So installieren Sie Minecraft Server auf Ubuntu 18.04 LTS

  4. So installieren Sie den HTTP-Git-Server mit Nginx unter Ubuntu 20.04

  5. So installieren Sie Discourse unter Ubuntu 20.04 LTS

So installieren Sie Nginx auf Ubuntu

So installieren Sie Moodle unter Ubuntu 16.04 LTS

So installieren Sie TeamSpeak Server auf Ubuntu 16.04 LTS

So installieren Sie Jekyll unter Ubuntu 16.04 LTS

So installieren Sie Nginx unter Ubuntu 18.04 LTS

So installieren Sie Git unter Ubuntu 18.04 LTS