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

Detaillierte Erklärung der gemischten Vererbung in Vue

Inhaltsverzeichnis Die Auswirkungen der gemischte...

Detaillierte Erklärung der Semiotik in Html/CSS

Basierend auf Theorien wie Saussures Sprachphilos...

Detaillierte Erklärung der Vue px-zu-rem-Konfiguration

Inhaltsverzeichnis Methode 1 1. Konfigurations- u...

Detaillierte Anwendung des dynamischen Vue-Formulars

Überblick Es gibt viele Formularanforderungen im ...

Docker führt Vorgänge mit dem angegebenen Speicher aus

wie folgt: -m, --memory Speicherlimit, das Format...

Lösen Sie das Problem der Randzusammenführung

1. Die Ränder von Geschwisterelementen zusammenfü...

So konfigurieren Sie zwei oder mehr Sites mit dem Apache-Webserver

So hosten Sie zwei oder mehr Sites auf dem belieb...

Detaillierte Erklärung der Anzeigeeigenschaft im CSS-Beschriftungsmodus

Der Code sieht folgendermaßen aus: <!DOCTYPE h...

Lösung für das Problem, dass MySQL Daten sehr langsam löscht und einfügt

Wenn ein Unternehmensentwickler eine Insert-Anwei...

Implementierungsbeispiel eines Nginx+Tomcat-Load-Balancing-Clusters

Inhaltsverzeichnis Einführung 1. Fallübersicht 2....

Detaillierte Erklärung der JavaScript-Timer

Inhaltsverzeichnis Kurze Einleitung Intervall fes...

Detaillierte Erklärung zur Verwendung der Vue.js-Renderfunktion

Vue empfiehlt in den meisten Fällen die Verwendun...