So installieren Sie GitLab Community Edition (CE) 11.x unter Debian 9

Seit GitHub von Microsoft übernommen wurde, haben einige Entwickler geplant, ihre eigenen Code-Repositorys von github.com auf eine alternative selbst gehostete Lösung zu migrieren. GitLab Community Edition (CE) ist die häufigste Wahl.

Als hochentwickelte und flexible Lösung kann GitLab CE mit verschiedenen Methoden bereitgestellt werden. Hier wird jedoch nur die offiziell empfohlene Methode, die Installation des Omnibus-Pakets, behandelt.

Voraussetzungen

  • Eine neue Vultr Debian 9 x64-Serverinstanz mit mindestens 4 GB Speicher. 8 GB oder mehr werden empfohlen, um bis zu 100 Benutzer zu bedienen. Angenommen, die IPv4-Adresse lautet 203.0.113.1.
  • Ein Sudo-Benutzer .
  • Eine Domain gitlab.example.com, die auf die oben erwähnte Instanz verweist.

Hinweis: Wenn Sie auf Ihrer eigenen Serverinstanz bereitstellen, müssen Sie alle Beispielwerte durch tatsächliche Werte ersetzen.

Schritt 1: Führen Sie grundlegende Aufgaben zum Hosten von GitLab CE aus

Starten Sie ein SSH-Terminal und melden Sie sich als Sudo-Benutzer bei Ihrer Debian 9 x64-Serverinstanz an.

Fügen Sie eine Swap-Partition hinzu und optimieren Sie die Swappiness-Einstellung

Bei der Bereitstellung von GitLab CE 11.x auf einem Computer mit 4 GB Arbeitsspeicher muss eine 4-GB-Swap-Partition eingerichtet werden, um einen reibungslosen Betrieb zu gewährleisten.

sudo dd if=/dev/zero of=/swapfile count=4096 bs=1M
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
echo '/swapfile   none    swap    sw    0   0' | sudo tee -a /etc/fstab
free -m

Hinweis: Wenn Sie eine andere Servergröße verwenden, kann die Größe der Auslagerungspartition variieren.

Für die Systemleistung Zwecke wird empfohlen , wie die Kernel-swappiness Einstellung auf einen niedrigen Wert zu konfigurieren 10:

echo 'vm.swappiness=10' | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
cat /proc/sys/vm/swappiness

Die Ausgabe des catBefehls wird sein 10.

Richten Sie den Hostnamen und den vollqualifizierten Domänennamen (FQDN) des Computers ein.

Verwenden Sie die folgenden Befehle, um einen Hostnamen gitlabund einen vollqualifizierten Domänennamen gitlab.example.comfür den Computer einzurichten :

sudo hostnamectl set-hostname gitlab
sudo sed -i "1 i\203.0.113.1 gitlab.example.com gitlab" /etc/hosts

Sie können die Ergebnisse bestätigen:

hostname
hostname -f

Richten Sie Firewall-Regeln ein

Richten Sie angemessene Firewall-Regeln für die Ausführung einer Website ein:

sudo iptables -F
sudo iptables -X
sudo iptables -Z
sudo iptables -A INPUT -s $(echo $(w -h ${USER}) | cut -d " " -f3) -p tcp --dport 22 -j ACCEPT
sudo iptables -A INPUT -i lo -j ACCEPT
sudo iptables -A INPUT -d 127.0.0.0/8 -j REJECT
sudo iptables -A INPUT -p tcp ! --syn -m state --state NEW -j DROP
sudo iptables -A INPUT -p tcp --tcp-flags ALL NONE -j DROP
sudo iptables -A INPUT -p tcp --tcp-flags ALL ALL -j DROP
sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
sudo iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT
sudo iptables -P INPUT DROP
sudo iptables -P OUTPUT ACCEPT
sudo iptables -P FORWARD DROP

Alle oben genannten Einstellungen werden sofort wirksam. Verwenden Sie den folgenden Befehl, um sie zur Überprüfung aufzulisten:

sudo iptables -L -n

Verwenden Sie das iptable-persistentTool, um alle vorhandenen iptables-Regeln in einer Datei zu speichern /etc/iptables/rules.v4und alle iptables-Regeln dauerhaft zu machen:

sudo apt install -y iptables-persistent

Während der Installation werden Sie gefragt, ob Sie die aktuellen IPv4 / IPv6-Regeln speichern möchten. Drücken Sie ENTERzweimal, um die aktuellen IPv4- und IPv6-Regeln in /etc/iptables/rules.v4und zu speichern /etc/iptables/rules.v6.

Wenn Sie versuchen, die IPv4-Regeln später zu aktualisieren, verwenden Sie Folgendes, um Ihr Update zu speichern:

sudo bash -c 'iptables-save > /etc/iptables/rules.v4'

Aktualisieren Sie das System

sudo apt update
sudo apt upgrade -y && sudo shutdown -r now

Wenn das System wieder betriebsbereit ist, melden Sie sich erneut als derselbe Sudo-Benutzer an, um fortzufahren.

Schritt 2: Installieren Sie die erforderlichen Abhängigkeiten

Vor der Installation von GitLab CE müssen Sie die erforderlichen Abhängigkeiten installieren:

sudo apt install -y curl openssh-server ca-certificates

Wenn Sie Postfix zum Senden von Benachrichtigungsnachrichten verwenden möchten, müssen Sie Postfix installieren:

sudo apt install -y postfix

Während der Installation wird möglicherweise ein Konfigurationsbildschirm angezeigt:

  1. Drücken Sie TABdie markieren <OK>Taste auf dem ersten Bildschirm, und drücken Sie dann ENTER.
  2. Wählen Sie Internet Siteund drücken Sie ENTER.
  3. mail nameGeben Sie für das Feld den FQDN Ihres Servers ein gitlab.example.comund drücken Sie ENTER.
  4. Wenn andere Bildschirme angezeigt werden, drücken Sie ENTER, um die Standardeinstellungen zu übernehmen.

Starten und aktivieren Sie den Postfix-Dienst:

sudo systemctl enable postfix.service
sudo systemctl start postfix.service

Ändern Sie die Firewall-Regeln für Postfix:

sudo iptables -A INPUT -i eth0 -p tcp --dport 25 -m state --state NEW,ESTABLISHED -j ACCEPT
sudo iptables -A INPUT -i eth0 -p tcp --dport 143 -m state --state NEW,ESTABLISHED -j ACCEPT
sudo iptables -A INPUT -i eth0 -p tcp --dport 993 -m state --state NEW,ESTABLISHED -j ACCEPT
sudo iptables -A INPUT -i eth0 -p tcp --dport 110 -m state --state NEW,ESTABLISHED -j ACCEPT
sudo iptables -A INPUT -i eth0 -p tcp --dport 995 -m state --state NEW,ESTABLISHED -j ACCEPT
sudo bash -c 'iptables-save > /etc/iptables/rules.v4'

Nachdem Sie Postfix installiert haben, müssen Sie Postfix konfigurieren, indem Sie die Hauptkonfigurationsdatei /etc/postfix/main.cfgemäß Ihren tatsächlichen Servereinstellungen bearbeiten .

Hinweis: Zusätzlich zu den obigen Anweisungen müssen Sie ein Support-Ticket senden, um den Standardblock von Vultr an SMTP-Port 25 abzubrechen.

Wenn Sie alternativ eine andere Messaging-Lösung verwenden möchten, überspringen Sie einfach die Installation von Postfix und wählen Sie nach der Installation von GitLab CE die Verwendung eines externen SMTP-Servers.

Schritt 3: Richten Sie das GitLab APT-Repo ein und installieren Sie GitLab CE

Richten Sie das GitLab CE APT-Repository auf Ihrem System ein:

cd
curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash

Installieren Sie als Nächstes GitLab CE 11.x:

sudo EXTERNAL_URL="http://gitlab.example.com" apt install -y gitlab-ce

Die Installation kann eine Weile dauern.

Zeigen Sie abschließend auf Ihren bevorzugten Webbrowser http://gitlab.example.comund senden Sie ein neues Kennwort, um die Installation abzuschließen.

Verwenden Sie von nun an die folgenden Anmeldeinformationen, um sich als Administrator anzumelden:

  • Nutzername: root
  • Passwort: <your-new-password>

Schritt 4: Aktivieren Sie den HTTPS-Zugriff, indem Sie ein Let's Encrypt SSL-Zertifikat integrieren

Derzeit haben Sie GitLab CE 11.x erfolgreich auf Ihrer Serverinstanz installiert, und Benutzer können die Site bereits über das HTTP-Protokoll besuchen. Aus Sicherheitsgründen wird empfohlen, den HTTPS-Zugriff auf Ihren GitLab-Server durch Integration eines Let's Encrypt SSL-Zertifikats zu aktivieren.

Verwenden Sie den viEditor, um die GitLab CE-Konfigurationsdatei zu öffnen:

sudo vi /etc/gitlab/gitlab.rb

Suchen Sie die folgenden zwei Zeilen:

external_url 'http://gitlab.example.com'
# letsencrypt['contact_emails'] = [] # This should be an array of email addresses to add as contacts

Ersetzen Sie sie entsprechend:

external_url 'https://gitlab.example.com'
letsencrypt['contact_emails'] = ['[email protected]']

Speichern und Beenden:

:wq!

Konfigurieren Sie GitLab CE mit den aktualisierten Einstellungen neu:

sudo gitlab-ctl reconfigure

Die Neukonfiguration kann eine Weile dauern.

Nach Abschluss der Neukonfiguration müssen alle Benutzer beim Zugriff auf die GitLab-Site das HTTPS-Protokoll verwenden.

Hinweis: Nach dem Wechsel von HTTP zu HTTPS können ältere Cookies einen GitLab 422-Fehler verursachen. Das Löschen von Cookies behebt dieses Problem.



Leave a Comment

Richten Sie mit OpenVPN Ihr eigenes privates Netzwerk ein

Richten Sie mit OpenVPN Ihr eigenes privates Netzwerk ein

Vultr bietet Ihnen eine hervorragende Konnektivität für private Netzwerke für Server, die am selben Standort ausgeführt werden. Aber manchmal möchten Sie zwei Server in verschiedenen Ländern

Installieren und Verwenden von Yunohost unter Debian 7 x64

Installieren und Verwenden von Yunohost unter Debian 7 x64

Dieses Tutorial führt Sie durch die Installation des Yunohost Complete Server-Kontrollfelds unter Debian. Folgen Sie einfach dem Tutorial und Ihr Server wird in Betrieb sein

Chroot auf Debian einrichten

Chroot auf Debian einrichten

In diesem Artikel erfahren Sie, wie Sie unter Debian ein Chroot-Gefängnis einrichten. Ich gehe davon aus, dass Sie Debian 7.x verwenden. Wenn Sie Debian 6 oder 8 ausführen, funktioniert dies möglicherweise, bu

So installieren Sie PiVPN unter Debian

So installieren Sie PiVPN unter Debian

Einführung Eine einfache Möglichkeit, einen VPN-Server unter Debian einzurichten, ist PiVPN. PiVPN ist ein Installationsprogramm und ein Wrapper für OpenVPN. Es werden einfache Befehle für Sie erstellt

Richten Sie Cacti auf Debian Jessie ein

Richten Sie Cacti auf Debian Jessie ein

Einführung Cacti ist ein Open-Source-Überwachungs- und Grafiktool, das vollständig auf RRD-Daten basiert. Mit Cacti können Sie nahezu jede Art von Gerät überwachen

Einrichten von Teamspeak 3 auf Debian Wheezy

Einrichten von Teamspeak 3 auf Debian Wheezy

Dieser Artikel zeigt Ihnen, wie Sie einen Teamspeak 3-Server unter Debian Wheezy ausführen. Bevor Sie damit beginnen können, sollten Sie einige Vorbereitungen für Ihr VPS treffen. ich

Verwenden von MySQL Views unter Debian 7

Verwenden von MySQL Views unter Debian 7

Einführung MySQL verfügt über eine großartige Funktion, die als Ansichten bezeichnet wird. Ansichten sind gespeicherte Abfragen. Stellen Sie sich diese als Alias ​​für eine ansonsten lange Abfrage vor. In diesem Handbuch

So installieren Sie ModSecurity für Nginx unter CentOS 7, Debian 8 und Ubuntu 16.04

So installieren Sie ModSecurity für Nginx unter CentOS 7, Debian 8 und Ubuntu 16.04

ModSecurity ist ein WAF-Modul (Open Source Web Application Firewall), mit dem Apache, Nginx und IIS vor verschiedenen Cyberangriffen geschützt werden können

Installieren Sie Hiawatha Web Server mit PHP-FPM und MySQL unter Debian

Installieren Sie Hiawatha Web Server mit PHP-FPM und MySQL unter Debian

Hiawatha ist ein Webserver, der Einfachheit, Benutzerfreundlichkeit und Sicherheit im Auge hat. Es ist die perfekte Lösung für kleinere Server, ältere Hardware oder Embedde

Installieren Sie Lynis auf Debian 8

Installieren Sie Lynis auf Debian 8

Einführung Lynis ist ein kostenloses Open-Source-Tool zur Systemprüfung, das von vielen Systemadministratoren verwendet wird, um die Integrität zu überprüfen und ihre Systeme zu härten. ich

Überwachen Sie den Debian-Serverstatus mit Munin

Überwachen Sie den Debian-Serverstatus mit Munin

Munin ist ein Überwachungstool zur Überwachung von Prozessen und Ressourcen in Ihrer Maschine und präsentiert die Informationen in Diagrammen über eine Weboberfläche. Verwenden Sie die folgenden

So installieren Sie das NodeBB-Forum unter Debian 9

So installieren Sie das NodeBB-Forum unter Debian 9

Verwenden Sie ein anderes System? NodeBB ist ein Node.js-basiertes Forum. Es verwendet Web-Sockets für sofortige Interaktionen und Echtzeitbenachrichtigungen. NodeBB-Quellcode i

So installieren Sie BigTree CMS auf einem Debian 9 LAMP VPS

So installieren Sie BigTree CMS auf einem Debian 9 LAMP VPS

Verwenden Sie ein anderes System? BigTree CMS 4.2 ist ein schnelles und leichtes, kostenloses und Open-Source-Content-Management-System (CMS) für Unternehmen mit umfangreichen Funktionen

So installieren Sie Koel unter Debian 9

So installieren Sie Koel unter Debian 9

Verwenden Sie ein anderes System? Koel ist eine einfache webbasierte persönliche Audio-Streaming-App, die auf der Clientseite in Vue und auf der Serverseite in Laravel geschrieben wurde. Koe

Sticky Session mit Docker Swarm (CE) auf Debian 9

Sticky Session mit Docker Swarm (CE) auf Debian 9

Verwenden Sie ein anderes System? Einführung Docker Swarm verwandelt Ihre einzelnen Server in einen Computercluster. Erleichterung der Skalierung, Hochverfügbarkeit an

So installieren Sie Paste 2.1 auf einem Debian 9 LAMP VPS

So installieren Sie Paste 2.1 auf einem Debian 9 LAMP VPS

Verwenden Sie ein anderes System? Paste 2.1 ist eine einfache und flexible, kostenlose und Open-Source-Pastebin-Anwendung zum Speichern von Code, Text und mehr. Es war ursprünglich

Erzwinge Apt-Get auf IPv4 oder IPv6 unter Ubuntu oder Debian

Erzwinge Apt-Get auf IPv4 oder IPv6 unter Ubuntu oder Debian

Hier bei Vultr haben wir die Option, IPv6 auf allen bereitstellbaren VPS zu aktivieren. Aber damit bevorzugen einige Programme und Befehle den einen oder anderen Witz

So installieren Sie Automad CMS unter Debian 9

So installieren Sie Automad CMS unter Debian 9

Verwenden Sie ein anderes System? Einführung Automad ist ein Open Source File-basiertes Content Management System (CMS) und eine in PHP geschriebene Template Engine. Automa

So installieren Sie Apache Cassandra 3.11.x unter Debian 9

So installieren Sie Apache Cassandra 3.11.x unter Debian 9

Verwenden Sie ein anderes System? Apache Cassandra ist ein kostenloses und Open-Source-NoSQL-Datenbankverwaltungssystem, das Skalierbarkeit bietet

So konfigurieren Sie Snort unter Debian

So konfigurieren Sie Snort unter Debian

Snort ist ein kostenloses Network Intrusion Detection System (IDS). In weniger offiziellen Begriffen können Sie Ihr Netzwerk in Echtzeit auf verdächtige Aktivitäten überwachen

Kann KI mit zunehmender Anzahl von Ransomware-Angriffen kämpfen?

Kann KI mit zunehmender Anzahl von Ransomware-Angriffen kämpfen?

Ransomware-Angriffe nehmen zu, aber kann KI helfen, den neuesten Computervirus zu bekämpfen? Ist KI die Antwort? Lesen Sie hier, ob KI boone oder bane ist

ReactOS: Ist das die Zukunft von Windows?

ReactOS: Ist das die Zukunft von Windows?

ReactOS, ein quelloffenes und kostenloses Betriebssystem, ist hier mit der neuesten Version. Kann es den Anforderungen moderner Windows-Benutzer genügen und Microsoft zu Fall bringen? Lassen Sie uns mehr über dieses alte, aber neuere Betriebssystem erfahren.

Bleiben Sie in Verbindung über die WhatsApp Desktop App 24*7

Bleiben Sie in Verbindung über die WhatsApp Desktop App 24*7

Whatsapp hat endlich die Desktop-App für Mac- und Windows-Benutzer auf den Markt gebracht. Jetzt können Sie ganz einfach von Windows oder Mac auf WhatsApp zugreifen. Verfügbar für Windows 8+ und Mac OS 10.9+

Wie kann KI die Prozessautomatisierung auf die nächste Stufe heben?

Wie kann KI die Prozessautomatisierung auf die nächste Stufe heben?

Lesen Sie dies, um zu erfahren, wie Künstliche Intelligenz bei kleinen Unternehmen beliebt wird und wie sie die Wahrscheinlichkeit erhöht, sie wachsen zu lassen und ihren Konkurrenten einen Vorsprung zu verschaffen.

macOS Catalina 10.15.4 Supplement Update verursacht mehr Probleme als sie zu lösen

macOS Catalina 10.15.4 Supplement Update verursacht mehr Probleme als sie zu lösen

Vor kurzem hat Apple macOS Catalina 10.15.4 als Ergänzungsupdate veröffentlicht, um Probleme zu beheben, aber es scheint, dass das Update mehr Probleme verursacht, die zum Bricking von Mac-Computern führen. Lesen Sie diesen Artikel, um mehr zu erfahren

13 Tools zur kommerziellen Datenextraktion von Big Data

13 Tools zur kommerziellen Datenextraktion von Big Data

13 Tools zur kommerziellen Datenextraktion von Big Data

Was ist ein Journaling-Dateisystem und wie funktioniert es?

Was ist ein Journaling-Dateisystem und wie funktioniert es?

Unser Computer speichert alle Daten in einer organisierten Weise, die als Journaling-Dateisystem bekannt ist. Es ist eine effiziente Methode, die es dem Computer ermöglicht, Dateien zu suchen und anzuzeigen, sobald Sie auf die Suche klicken.https://wethegeek.com/?p=94116&preview=true

Technologische Singularität: Eine ferne Zukunft der menschlichen Zivilisation?

Technologische Singularität: Eine ferne Zukunft der menschlichen Zivilisation?

Da sich die Wissenschaft schnell weiterentwickelt und einen Großteil unserer Bemühungen übernimmt, steigt auch das Risiko, uns einer unerklärlichen Singularität auszusetzen. Lesen Sie, was Singularität für uns bedeuten könnte.

Ein Einblick in 26 Big-Data-Analysetechniken: Teil 1

Ein Einblick in 26 Big-Data-Analysetechniken: Teil 1

Ein Einblick in 26 Big-Data-Analysetechniken: Teil 1

Der Einfluss künstlicher Intelligenz im Gesundheitswesen 2021

Der Einfluss künstlicher Intelligenz im Gesundheitswesen 2021

KI im Gesundheitswesen hat in den letzten Jahrzehnten große Fortschritte gemacht. Somit wächst die Zukunft der KI im Gesundheitswesen immer noch von Tag zu Tag.