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 denroot user
. Wir empfehlen, alsnon-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 Servergit 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.