So installieren und implementieren Sie einen Gitlab-Server auf CentOS7

So installieren und implementieren Sie einen Gitlab-Server auf CentOS7

Ich verwende hier das 64-Bit-System CentOS 7. Ich habe das 64-Bit-System CentOS ausprobiert und es funktioniert

1. Abhängige Software installieren

yum -y installiere Policycoreutils OpenSH-Server OpenSH-Clients Postfix

2. Stellen Sie Postfix so ein, dass es beim Booten automatisch gestartet wird, und starten Sie es. Postfix unterstützt die Gitlab-Sendefunktion

systemctl Postfix aktivieren und systemctl Postfix starten

3. Laden Sie das Gitlab-Installationspaket herunter und installieren Sie es

Download-Adresse für das CentOS 6-System: https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el6
Download-Adresse für das CentOS 7-System: https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7

Ich verwende CentOS7, daher habe ich eine Version von Gitlab8.0.0 unter https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7 gefunden. Es wird empfohlen, eine neuere Version herunterzuladen. Ich habe hier nur für experimentelle Aufzeichnungen eine ältere Version ausgewählt.

Laden Sie das RPM-Paket herunter und installieren Sie es:

wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-8.0.0-ce.0.el7.x86_64.rpm
rpm -i gitlab-ce-8.0.0-ce.0.el7.x86_64.rpm

4. Ändern Sie die Gitlab-Konfigurationsdatei, um die Server-IP und den benutzerdefinierten Port anzugeben

vim /etc/gitlab/gitlab.rb

Beenden und speichern

ps: Bitte beachten Sie, dass der hier eingestellte Port nicht belegt werden kann. Der Standardport ist 8080. Sollte 8080 bereits belegt sein, passen Sie bitte andere Ports an und öffnen Sie die entsprechenden Ports in den Firewall-Einstellungen.

5. GitLab zurücksetzen und starten

Führen Sie den folgenden Befehl aus

gitlab-ctl neu konfigurieren

gitlab-ctl Neustart

ok: ausführen: gitlab-git-http-server: (pid 3922) 1s
ok: ausführen: logrotate: (pid 3929) 0s
ok: ausführen: nginx: (pid 3936) 1s
ok: ausführen: postgresql: (pid 3941) 0s
ok: ausführen: redis: (pid 3950) 0s
ok: ausführen: sidekiq: (pid 3955) 0s
ok: ausführen: Einhorn: (PID 3961) 1s

Die Eingabeaufforderung „ok:run:“ zeigt den erfolgreichen Start an.

6. Besuchen Sie die GitLab-Seiten

Wenn kein Domänenname vorhanden ist, geben Sie für den Zugriff direkt die Server-IP und den angegebenen Port ein. Erstkonto: Root-Passwort: 5iveL!fe

Passwort bei der ersten Anmeldung ändern

7. Beim Einrichten der Gitlab-E-Mail-Funktion müssen Sie auf eines achten

Das vom E-Mail-Versandsystem verwendete Standardpostfix, SMTP, ist standardmäßig aktiviert. Wenn beide aktiviert sind, funktioniert keines von beiden.
Ich habe SMTP deaktiviert und Postfix aktiviert.

SMTP-Methode deaktivieren: vim /etc/gitlab/gitlab.rb

Suchen Sie #gitlab_rails['smtp_enable'] = true und ändern Sie es in gitlab_rails['smtp_enable'] = false

Führen Sie nach der Änderung gitlab-ctl reconfigure

Die andere Möglichkeit besteht darin, Postfix auszuschalten und SMTP zu aktivieren. Entsprechende Tutorials finden Sie auf der offiziellen Website https://doc.gitlab.cc/omnibus/settings/smtp.html
Testen Sie, ob eine E-Mail-Benachrichtigung möglich ist:

Melden Sie sich an und fügen Sie einen Benutzer hinzu. Ich verwende das QQ-Postfach, um einen Benutzer hinzuzufügen.

Melden Sie sich bei Ihrem QQ-Postfach an und Sie erhalten E-Mail-Benachrichtigungen (wenn Sie diese nicht erhalten, überprüfen Sie bitte Ihr Spam-Postfach oder prüfen Sie, ob die E-Mail blockiert und gelöscht wurde. Wenn ja, fügen Sie den Benutzer bitte zur Whitelist hinzu und löschen Sie den Benutzer. Fügen Sie den Benutzer dann erneut hinzu, um die Benachrichtigung zu erhalten. Andernfalls überprüfen Sie bitte das E-Mail-Protokoll und nehmen Sie die entsprechenden Einstellungen vor.)

Fehlerbehandlungsaufzeichnungen

(1) Login 502 Fehler

Dies ist normalerweise ein Berechtigungsproblem. Lösung: chmod -R 755 /var/log/gitlab

Wenn es immer noch nicht funktioniert, überprüfen Sie bitte Ihren Speicher. Sie benötigen mindestens 4 GB freien Speicher (RAM + Swap), um GitLab zu installieren und zu verwenden! Da das Betriebssystem und andere laufende Anwendungen ebenfalls Speicher verwenden, müssen Sie vor der Installation von GitLab sicherstellen, dass der aktuelle Server über mindestens 4 GB freien Speicher verfügt. Weniger als 4 GB Speicher führen zu verschiedenen seltsamen Problemen und während der Verwendung treten häufig 500-Fehler auf.

(2) Beim Ausführen des Befehls gitlab-ctl reconfigure tritt ein Kontoberechtigungsfehler auf

n itdb: Es konnten keine Informationen über den aktuellen Benutzer abgerufen werden: Berechtigung verweigert

Fehler beim Ausführen der Aktion „run“ auf der Ressource „execute[/opt/gitlab/embedded/bin/initdb -D /var/opt/gitlab/postgresql/data -E UTF8]“

Laut Fehlermeldung ist das Berechtigungsproblem des Benutzers wahrscheinlich behoben. Bei der Installation von gitlab-ce werden automatisch vier Benutzer hinzugefügt:

gitlab-www:x:497:498::/var/opt/gitlab/nginx:/bin/false

git:x:496:497::/var/opt/gitlab:/bin/sh

gitlab-redis:x:495:496::/var/opt/gitlab/redis:/bin/nologin

gitlab-psql:x:494:495::/var/opt/gitlab/postgresql:/bin/sh

Ich konnte weder bei Google noch bei Baidu eine Lösung finden. Da die Fehlermeldung auf ein Berechtigungsproblem hinwies, wäre es kein Problem, wenn ich die Kontoberechtigungen überprüft hätte. Später stellte ich fest, dass die Berechtigung der Datei /etc/passwd 600 betrug. Nachdem ich ihr 644 Berechtigungen erteilt hatte, war der Fehler erfolgreich behoben.

Dies ist das Ende dieses Artikels zur Installation und Bereitstellung des Gitlab-Servers auf CentOS7. Weitere Informationen zur Installation des Gitlab-Servers auf CentOS7 finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen!

<<:  25 Tools zur Verbesserung der Website-Benutzerfreundlichkeit und Conversion-Raten

>>:  CSS-Methode zum Löschen von Float und BFC

Artikel empfehlen

Docker Compose-Übung und Zusammenfassung

Docker Compose kann die Orchestrierung von Docker...

Schnelle Lösung zum Vergessen des MySQL8-Passworts

Vorwort Wenn wir das MySQL-Datenbankkennwort verg...

So verwenden Sie den Linux-Befehl whatis

01. Befehlsübersicht Der Befehl whatis sucht in e...

Wissen Sie, wie man Mock in einem Vue-Projekt verwendet?

Inhaltsverzeichnis Erster Schritt: Der zweite Sch...

Detaillierte Erklärung zur Verwendung von HTML-Einbettungs-Tags und -Attributen

1. Grundlegende Grammatik Code kopieren Der Code ...

MySQL 8.0.11 Installationstutorial mit Bildern und Text

Es gibt viele Tutorials im Internet und sie sind ...

HTML-Elemente (Tags) und ihre Verwendung

a : Gibt die Start- oder Zielposition eines Hyper...

So löschen Sie den gesamten Inhalt eines Verzeichnisses mit Ansible

Studierende, die Ansible verwenden, wissen, dass ...

Detaillierte Schritte zur Installation von Docker 1.8 auf CentOS 7

Docker unterstützt die Ausführung auf den folgend...

30 Minuten, um Ihnen ein umfassendes Verständnis von React Hooks zu vermitteln

Inhaltsverzeichnis Überblick 1. useState 1.1 Drei...

TypeScript-Problem beim Iterieren über Objekteigenschaften

Inhaltsverzeichnis 1. Problem 2. Lösung 1. Deklar...

So erhalten Sie USB-Scannerdaten mit js

In diesem Artikel wird der spezifische Prozess zu...