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

So installieren Sie GitBucket mit Nginx unter Ubuntu 20.04 LTS

GitBucket ist eine Open-Source-Git-Webplattform, die von Scala betrieben wird. Es bietet eine Github-ähnliche Benutzeroberfläche mit Funktionen wie Git-Repository-Hosting über HTTP und SSH, Issues, Wiki, Repository-Viewer und Pull-Requests. Es kommt mit einer Vielzahl von Funktionen. Einige davon sind unten aufgeführt:

  • Intuitive Benutzeroberfläche
  • Unterstützung für GitLFS
  • Unterstützt öffentliche und private Git-Repositories
  • Aktivitätszeitachse und E-Mail-Benachrichtigungen
  • API-Kompatibilität mit GitHub
  • Konto- und Gruppenverwaltung

In diesem Tutorial erklären wir, wie man GitBucket mit Nginx auf Ubuntu 20.04 installiert.

Voraussetzungen

  • Ein Server mit Ubuntu 20.04 und 2 GB RAM.
  • Ein gültiger Domainname, der auf Ihren Server verweist.
  • Auf Ihrem Server ist ein Root-Passwort konfiguriert.

Installieren Sie Java

GitBucket basiert auf Java, daher müssen Sie es in Ihrem System installieren. Sie können es mit dem folgenden Befehl installieren:

apt-get install default-jdk -y

Überprüfen Sie nach der Installation die Java-Version mit dem folgenden Befehl:

Java-Version

Sie sollten die folgende Ausgabe erhalten:

openjdk version „11.0.7“ 2020-04-14OpenJDK Runtime Environment (build 11.0.7+10-post-Ubuntu-3ubuntu1)OpenJDK 64-Bit Server VM (build 11.0.7+10-post-Ubuntu-3ubuntu1 , gemischter Modus, Teilen)

Sobald Sie fertig sind, können Sie mit dem nächsten Schritt fortfahren.

Installieren und konfigurieren Sie GitBucket

Bevor Sie beginnen, ist es eine gute Idee, separate Benutzer und Gruppen zum Ausführen von GitBucket zu erstellen. Sie können mit dem folgenden Befehl eine neue Gruppe und einen neuen Benutzer namens gitbucket erstellen:

groupadd -g 555 gitbucket
useradd -g gitbucket --no-user-group --home-dir /opt/gitbucket --no-create-home --shell /usr/sbin/nologin -- system --uid 555 gitbucket

Erstellen Sie als Nächstes mit dem folgenden Befehl ein neues Verzeichnis für GitBucket:

mkdir /opt/gitbucket

Laden Sie als Nächstes die neueste Version von GitBucket aus dem GitBucket-Verzeichnis herunter:

cd /opt/gitbucket
wget https://github.com/gitbucket/gitbucket/releases/download/4.33.0/gitbucket.war

Ändern Sie als Nächstes den Eigentümer des GitBucket-Verzeichnisses:

chown -R gitbucket:gitbucket /opt/gitbucket

GitBucket wird mit einer eingebetteten H2-Datenbank geliefert. Mit dem folgenden Befehl können Sie eine neue Datenbankkonfigurationsdatei erstellen:

nano /opt/gitbucket/database.conf

Fügen Sie die folgenden Zeilen hinzu:

db { url ="jdbc:h2:${DatabaseHome};MVCC=true" user ="sa" password ="sa"}

Speichern und schließen Sie die Datei, wenn Sie fertig sind.

Systemd-Dienstdatei für GitBucket erstellen

Als Nächstes müssen Sie eine systemd-Dienstdatei erstellen, um den GitBucket-Dienst zu verwalten. Sie können es mit dem folgenden Befehl erstellen:

nano /etc/systemd/system/gitbucket.service

Fügen Sie die folgenden Zeilen hinzu:

# GitBucket Service[Unit]Description=Java-Dienst verwalten[Service]WorkingDirectory=/opt/gitbucketExecStart=/usr/bin/java -Xms128m -Xmx256m -jar gitbucket.warUser=gitbucketGroup=gitbucketType=simpleRestart=on-failureRestartSec=10[Installieren]WantedBy=multi-user.target

Speichern und schließen Sie die Datei, wenn Sie fertig sind. Laden Sie dann den systemd-Daemon mit dem folgenden Befehl neu:

systemctl daemon-reload

Starten Sie als Nächstes den GitBucket-Dienst und aktivieren Sie ihn nach dem Systemneustart mit dem folgenden Befehl:

systemctl start gitbucket
systemctl aktiviert gitbucket

Überprüfen Sie als Nächstes den Status des GitBucket-Dienstes mit dem folgenden Befehl:

Systemctl-Status-Gitbucket

Sie sollten die folgende Ausgabe erhalten:

? gitbucket.service - Java-Dienst verwalten Geladen:geladen (/etc/systemd/system/gitbucket.service; aktiviert; Herstellervoreinstellung:aktiviert) Aktiv:aktiv (läuft) seit Do 2020-05-14 02:27:13 UTC; Vor 10 Sekunden Haupt-PID:93029 (Java) Aufgaben:36 (Grenze:2282) Speicher:324,9 MB CGroup:/system.slice/gitbucket.service ??93029 /usr/bin/java -Xms128m -Xmx256m -jar gitbucket.warMay 14 02:27:19 ubuntu2004 java[93029]:2020-05-14 02:27:19.868:INFO:oejs.session:main:DefaultSessionIdManager workerName=node0May 14 02:27:19 ubuntu2004 java[93029]:2020-05- 14 02:27:19.868:INFO:oejs.session:main:Kein SessionScavenger festgelegt, mit Standardwerten 14. Mai 02:27:19 ubuntu2004 java[93029]:2020-05-14 02:27:19.875:INFO:oejs.session:main:node0 Scavenging alle 600000 ms 14. Mai 02:27:20 ubuntu2004 java[93029]:02:27:20.261 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Ab ... 14. Mai 02:27:20 ubuntu2004 java[93029]:02:27:20.691 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start abgeschlossen.May 14 02:27:20 ubuntu2004 java[93029]:02:27:20.697 [main ] WARN slick.util.AsyncExecutor - MaxConnection> maxThreads zu haben, kann zu d> May 14 02:27:20 ubuntu200 führen 4 java[93029]:02:27:20.721 [Haupt] INFO g.core.servlet.InitializeListener - Version prüfenMai 14 02:27:20 ubuntu2004 java[93029]:02:27:20.721 [Haupt] INFO g.core. servlet.InitializeListener - Schemaaktualisierung starten 14. Mai 02:27:22 ubuntu2004 java[93029]:02:27:22.156 [main] INFO l.servicelocator.ServiceLocator - Klasse liquibase.parser.core.ya kann nicht verwendet werden> 14. Mai 02:27:22 ubuntu2004 java[93029]:02:27:22.161 [main] INFO l.servicelocator.ServiceLocator – Klasse liquibase.parser.core.js kann nicht verwendet werden>

Zu diesem Zeitpunkt wird GitBucket ausgeführt und überwacht Port 8080.

Nginx als Reverse-Proxy konfigurieren

Standardmäßig läuft GitBucket auf Port 8080. Daher ist es eine gute Idee, Nginx als Reverse-Proxy für GitBucket zu konfigurieren.

Installieren Sie zuerst den Nginx-Webserver mit dem folgenden Befehl:

apt-get install nginx -y

Erstellen Sie als Nächstes eine virtuelle Nginx-Host-Konfigurationsdatei für GitBucket:

nano /etc/nginx/sites-available/gitbucket

Fügen Sie die folgenden Zeilen hinzu:

upstream gitbucket { server 127.0.0.1:8080 weight=100 max_fails=5 fail_timeout=5;}server { listen 80; Servername gitbucket.linuxbuz.com; location / {proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-Server $host; Proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; Proxy_pass http://gitbucket/; }}

Speichern und schließen Sie die Datei. Erstellen Sie dann einen symbolischen Link zum Sites-Enabled-Verzeichnis:

ln -s /etc/nginx/sites-available/gitbucket /etc/nginx/sites-enabled/

Überprüfen Sie als Nächstes Nginx mit dem folgenden Befehl auf Syntaxfehler:

nginx -t

Sie sollten die folgende Ausgabe erhalten:

nginx:Die Syntax der Konfigurationsdatei /etc/nginx/nginx.conf ist oknginx:Der Test der Konfigurationsdatei /etc/nginx/nginx.conf ist erfolgreich

Starten Sie schließlich den Nginx-Dienst neu, um die Änderungen zu implementieren:

systemctl startet nginx neu

Sichern Sie GitBucket mit Let's Encrypt

Als Nächstes müssen Sie den Certbot-Client installieren, um Ihren GitBucket mit Let’s Encrypt SSL zu sichern.

Fügen Sie zuerst das Certbot-Repository mit dem folgenden Befehl hinzu:

add-apt-repository ppa:ahasenack/certbot-tlssni01-1875471

Aktualisieren Sie als Nächstes das Repository und installieren Sie den Certbot-Client mit dem folgenden Befehl:

apt-get update -y
apt-get install certbot python3-certbot-nginx -y

Führen Sie als Nächstes den folgenden Befehl aus, um Let's Encrypt SSL für Ihre Website herunterzuladen und zu installieren:

certbot --nginx -d gitbucket.linuxbuz.com

Sie werden aufgefordert, Ihre E-Mail-Adresse anzugeben und die Nutzungsbedingungen zu akzeptieren:

Speichern des Debug-Protokolls in /var/log/letsencrypt/letsencrypt.logAusgewählte Plugins:Authenticator nginx, Installer nginxE-Mail-Adresse eingeben (wird für dringende Verlängerungs- und Sicherheitshinweise verwendet) (Geben Sie „c“ zum Abbrechen ein):[email protected]- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Bitte lesen Sie die Nutzungsbedingungen unter https://letsencrypt.org /documents/LE-SA-v1.2-November-15-2017.pdf. Sie müssen zustimmen, um sich beim ACME-Server unter https://acme-v02.api.letsencrypt.org/directory- - - - - - - - - - - - - - - - - - - - - - - - - zu registrieren - - - - - - - - - - - - - - -(A)gree/(C)cancel:A- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Wären Sie bereit, Ihre E-Mail-Adresse mit der Electronic Frontier Foundation, einem Gründungspartner des Let's Encrypt-Projekts und der gemeinnützigen Organisation, die Certbot entwickelt, zu teilen? Wir möchten Ihnen E-Mails über unsere Arbeit zur Verschlüsselung des Internets, EFF-Nachrichten, Kampagnen und Möglichkeiten zur Unterstützung der digitalen Freiheit senden.- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -(Y)es/(N)o:YBeziehen eines neuen ZertifikatsAusführen der folgenden Herausforderungen:http-01-Herausforderung für gitbucket.linuxbuz.comWarten auf Überprüfung...Reinigung upherausforderungenBereitstellen des Zertifikats auf VirtualHost /etc/nginx/sites-enabled/gitbucket

Wählen Sie als Nächstes aus, ob HTTP-Datenverkehr an HTTPS umgeleitet werden soll:

Bitte wählen Sie aus, ob der HTTP-Datenverkehr auf HTTPS umgeleitet werden soll oder nicht, und den HTTP-Zugriff entfernen.- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -1:Keine Umleitung – Nehmen Sie keine weiteren Änderungen an der Webserver-Konfiguration vor.2:Umleitung – Alle Anfragen werden auf sicheren HTTPS-Zugriff umgeleitet. Wählen Sie dies für neue Websites oder wenn Sie sicher sind, dass Ihre Website auf HTTPS funktioniert. Sie können diese Änderung rückgängig machen, indem Sie die Konfiguration Ihres Webservers bearbeiten. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Wählen Sie die entsprechende Nummer [1-2] und dann [enter] (drücken Sie 'c' zum Abbrechen):2

Geben Sie 2 ein und drücken Sie Enter um die Installation abzuschließen.

Umleitung des gesamten Datenverkehrs auf Port 80 zu SSL in /etc/nginx/sites-enabled/gitbucket- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Herzliche Glückwünsche! Sie haben https://gitbucket.linuxbuz.com erfolgreich aktiviert. Sie sollten Ihre Konfiguration testen unter:https://www.ssllabs.com/ssltest/analyze.html?d=gitbucket.linuxbuz.com- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -WICHTIGE HINWEISE:- Herzlichen Glückwunsch! Ihr Zertifikat und Ihre Kette wurden gespeichert unter:/etc/letsencrypt/live/gitbucket.linuxbuz.com/fullchain.pem Ihre Schlüsseldatei wurde gespeichert unter:/etc/letsencrypt/live/gitbucket.linuxbuz.com/privkey.pem Ihre Das Zertifikat läuft am 12.08.2020 ab. Um in Zukunft eine neue oder optimierte Version dieses Zertifikats zu erhalten, führen Sie einfach certbot erneut mit der Option „certonly“ aus. Um *all* Ihre Zertifikate nicht interaktiv zu erneuern, führen Sie „certbot renew“ aus. Wenn Sie Certbot mögen, ziehen Sie bitte in Betracht, unsere Arbeit zu unterstützen, indem Sie:Spende an ISRG / Let’s Encrypt:https://letsencrypt.org/donate Spende an EFF:https://eff.org/donate-le

Wenn Sie fertig sind, können Sie mit dem nächsten Schritt fortfahren.

Zugriff auf GitBucket

Öffnen Sie nun Ihren Webbrowser und geben Sie die URL https://gitbucket.linuxbuz.com ein. Sie werden auf die folgende Seite weitergeleitet:

Klicken Sie auf das Zeichen in Taste. Sie sollten die Anmeldeseite von GitBucket sehen:

Geben Sie den GitBucket-Standardbenutzernamen als root und das Passwort als root ein und klicken Sie auf das Zeichen in Taste. Sie sollten das GitBucket-Dashboard auf der folgenden Seite sehen:

Klicken Sie anschließend auf das Konto Einstellungen in der oberen rechten Ecke, um das Standard-Root-Passwort zu ändern:

Geben Sie ein neues sicheres Passwort ein und klicken Sie auf Speichern Schaltfläche, um das Root-Passwort zu aktualisieren.

Schlussfolgerung

Herzliche Glückwünsche! Sie haben erfolgreich GitBucket mit Nginx als Reverse-Proxy auf Ubuntu 20.04 installiert und gesichert. Sie können jetzt Ihr eigenes Git-Repository mit GitBucket hosten.


Ubuntu
  1. So installieren Sie Seafile mit Nginx unter Ubuntu 20.04 LTS

  2. So installieren Sie MediaWiki mit Nginx unter Ubuntu 16.04

  3. So installieren Sie Seafile mit Nginx unter Ubuntu 18.04 LTS

  4. So installieren Sie Nginx mit Google PageSpeed ​​unter Ubuntu 20.04

  5. So stellen Sie Modsecurity mit Nginx auf Ubuntu 20.04 LTS bereit

So installieren Sie osTicket mit Nginx auf Ubuntu 18.04 LTS

So installieren Sie phpMyAdmin mit Nginx (LEMP) unter Ubuntu 18.04 LTS

So installieren Sie Nginx mit dem Ngx_Pagespeed-Modul unter Ubuntu 16.04 LTS

So installieren Sie Joomla mit Nginx unter Ubuntu 18.04 LTS

So installieren Sie phpMyAdmin mit Nginx unter Ubuntu 18.04 LTS

So installieren Sie phpMyAdmin mit Nginx unter Ubuntu 20.04 LTS