Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung |
tachtler:gitlab_archlinux [2024/03/22 08:15] – [Gitlab: Erweiterte Konfigurationen] klaus | tachtler:gitlab_archlinux [2024/03/23 18:56] (aktuell) – [GitLab: LDAP-Konfiguration] klaus |
---|
====== GitLab ArchLinux ====== | ====== GitLab ArchLinux ====== |
| |
[[https://gitlab.com//|{{:tachtler:index:gitlab-48x48.png }}]] [[https://gitlab.com/|Gitlab]] ist ein, in der **//Community Edition unter einer MIT-Lizenz//** zur Verfügung gestelltes System, zur Verwaltung von [[http://git-scm.com/|Git]]-Repositorys im Browser, was den unentgeltlichen Betrieb auf einem eigenen Server ermöglicht. | [[https://gitlab.com//|{{:tachtler:index:gitlab-48x48.png }}]] [[https://gitlab.com/|GitLab]] ist ein, in der **//Community Edition unter einer MIT-Lizenz//** zur Verfügung gestelltes System, zur Verwaltung von [[http://git-scm.com/|Git]]-Repositorys im Browser, was den unentgeltlichen Betrieb auf einem eigenen Server ermöglicht. |
| |
^ Beschreibung ^ Externer Link ^ | ^ Beschreibung ^ Externer Link ^ |
===== Voraussetzungen ===== | ===== Voraussetzungen ===== |
| |
Als Voraussetzung für die **hier, nachfolgend dargestellte** Installation von [[https://gitlab.com/|Gitlab]] **Version 16.x** sind folgende Komponenten erforderlich: | Als Voraussetzung für die **hier, nachfolgend dargestellte** Installation von [[https://gitlab.com/|GitLab]] **Version 16.x** sind folgende Komponenten erforderlich: |
* Die Installation von [[https://www.postgresql.org/|PostgreSQL]] mind. **Version 13.6** | * Die Installation von [[https://www.postgresql.org/|PostgreSQL]] mind. **Version 13.6** |
* Die Installation von [[https://redis.io/|Redis]] mind. **Version 6.2** | * Die Installation von [[https://redis.io/|Redis]] mind. **Version 6.2** |
* Siehe auch den internen Link: FIXME | * Siehe auch den internen Link: FIXME |
| |
===== Gitlab: Installation ===== | ===== GitLab: Installation ===== |
| |
Nachfolgend soll die Installation von [[https://gitlab.com/|Gitlab]] durchgeführt werden. | Nachfolgend soll die Installation von [[https://gitlab.com/|GitLab]] durchgeführt werden. |
| |
Um [[https://gitlab.com/|Gitlab]] betreiben zu können, muss das Paket | Um [[https://gitlab.com/|GitLab]] betreiben zu können, muss das Paket |
* **''gitlab''** - ist im ''extra''-Repository von [[https://archlinux.org/|ArchLinux]] enthalten | * **''gitlab''** - ist im ''extra''-Repository von [[https://archlinux.org/|ArchLinux]] enthalten |
installiert werden. | installiert werden. |
++++ | ++++ |
| |
:!: **HINWEIS** - **Nachfolgende Hinweisr bei der Installation sind zu beachten**: | :!: **HINWEIS** - **Nachfolgende Hinweise bei der Installation sind zu beachten**: |
| |
<code> | <code> |
===== Go: Installation ===== | ===== Go: Installation ===== |
| |
Nachfolgend soll die Installation von erfolgen, da [[https://gitlab.com/|Gitlab]] mehrere in [[https://go.dev/|Go]] geschriebene Dienste/Daemons wie z.N. den [[https://gitlab.com/|Gitlab]]-Runner hat, wird ein [[https://go.dev/|Go]]-Compiler benötigt. | Nachfolgend soll die Installation von erfolgen, da [[https://gitlab.com/|GitLab]] mehrere in [[https://go.dev/|Go]] geschriebene Dienste/Daemons wie z.N. den [[https://gitlab.com/|GitLab]]-Runner hat, wird ein [[https://go.dev/|Go]]-Compiler benötigt. |
| |
Um [[https://go.dev/|Go]] nutzen zu können, muss das Paket | Um [[https://go.dev/|Go]] nutzen zu können, muss das Paket |
===== PostgreSQL: Installation ===== | ===== PostgreSQL: Installation ===== |
| |
Nachfolgend soll zuerst eine Installation einer **lokalen [[https://www.postgresql.org/|PostgreSQL]]-Datenbank** erfolgen, welche **auf dem Server, auf dem auch [[https://gitlab.com/|Gitlab]] installiert werden soll** läuft. Die [[https://www.postgresql.org/|PostgreSQL]]-Datenbank soll **__nur__** via **socket** erreichbar sein und keine Netzwerk-Verbindungen nach ausserhalb des **lokalen Servers** haben. | Nachfolgend soll zuerst eine Installation einer **lokalen [[https://www.postgresql.org/|PostgreSQL]]-Datenbank** erfolgen, welche **auf dem Server, auf dem auch [[https://gitlab.com/|GitLab]] installiert werden soll** läuft. Die [[https://www.postgresql.org/|PostgreSQL]]-Datenbank soll **__nur__** via **socket** erreichbar sein und keine Netzwerk-Verbindungen nach ausserhalb des **lokalen Servers** haben. |
| |
Um die [[https://www.postgresql.org/|PostgreSQL]]-Datenbank betreiben zu können, muss das Paket | Um die [[https://www.postgresql.org/|PostgreSQL]]-Datenbank betreiben zu können, muss das Paket |
==== PostgreSQL: Benutzer postgres ==== | ==== PostgreSQL: Benutzer postgres ==== |
| |
Nach der erfolgreichen Installation von [[https://www.postgresql.org/|PostgreSQL]]-Datenbank, muss diese noch für die Verwendung mit [[https://gitlab.com/|Gitlab]] entsprechend Konfiguriert werden. | Nach der erfolgreichen Installation von [[https://www.postgresql.org/|PostgreSQL]]-Datenbank, muss diese noch für die Verwendung mit [[https://gitlab.com/|GitLab]] entsprechend Konfiguriert werden. |
| |
Ab hier werden die Rechte des ''postgres''-Benutzers zur Ausführung der nachfolgenden Befehle benötigt. Um der Benutzer ''postgres'' zu werden, geben Sie bitte nachfolgenden Befehl ein: | Ab hier werden die Rechte des ''postgres''-Benutzers zur Ausführung der nachfolgenden Befehle benötigt. Um der Benutzer ''postgres'' zu werden, geben Sie bitte nachfolgenden Befehl ein: |
==== PostgreSQL: Benutzer gitlab erstellen ==== | ==== PostgreSQL: Benutzer gitlab erstellen ==== |
| |
Nach der erfolgreichen Konfiguration der Einstellungen der [[https://www.postgresql.org/|PostgreSQL]]-Datenbank, muss diese noch für die Verwendung mit einem [[https://gitlab.com/|Gitlab]]-**Benutzer** entsprechend Konfiguriert werden. | Nach der erfolgreichen Konfiguration der Einstellungen der [[https://www.postgresql.org/|PostgreSQL]]-Datenbank, muss diese noch für die Verwendung mit einem [[https://gitlab.com/|GitLab]]-**Benutzer** entsprechend Konfiguriert werden. |
| |
Ab hier werden die Rechte des ''postgres''-Benutzers zur Ausführung der nachfolgenden Befehle benötigt. Um der Benutzer ''postgres'' zu werden, geben Sie bitte nachfolgenden Befehl ein: | Ab hier werden die Rechte des ''postgres''-Benutzers zur Ausführung der nachfolgenden Befehle benötigt. Um der Benutzer ''postgres'' zu werden, geben Sie bitte nachfolgenden Befehl ein: |
</code> | </code> |
| |
Nachfolgende Schritte sind nun erforderlich um einen Benutzer zur Verwendung durch [[https://gitlab.com/|Gitlab]] gegenüber der [[https://www.postgresql.org/|PostgreSQL]]-Datenbank anzulegen, was mit nachfolgendem Befehl durchgeführt werden kann: | Nachfolgende Schritte sind nun erforderlich um einen Benutzer zur Verwendung durch [[https://gitlab.com/|GitLab]] gegenüber der [[https://www.postgresql.org/|PostgreSQL]]-Datenbank anzulegen, was mit nachfolgendem Befehl durchgeführt werden kann: |
<code sql> | <code sql> |
[postgres@server ~]$ psql -d template1 -c "CREATE USER gitlab WITH PASSWORD 'geheim'" | [postgres@server ~]$ psql -d template1 -c "CREATE USER gitlab WITH PASSWORD 'geheim'" |
CREATE ROLE | CREATE ROLE |
</code> | </code> |
Anschliessen soll der [[https://gitlab.com/|Gitlab]]-**Benutzer** auch **Superuser-Rechte** erhalten, da [[https://gitlab.com/|Gitlab]] versucht, Erweiterungen zu installieren und diese nicht nur in dessen eigenen Benutzerbereich zu erstellen. Dies ist jedoch nur Superusern in [[https://www.postgresql.org/|PostgreSQL]] erlaubt: | Anschliessen soll der [[https://gitlab.com/|GitLab]]-**Benutzer** auch **Superuser-Rechte** erhalten, da [[https://gitlab.com/|GitLab]] versucht, Erweiterungen zu installieren und diese nicht nur in dessen eigenen Benutzerbereich zu erstellen. Dies ist jedoch nur Superusern in [[https://www.postgresql.org/|PostgreSQL]] erlaubt: |
<code sql> | <code sql> |
[postgres@server ~]$ psql -d template1 -c "ALTER USER gitlab SUPERUSER;" | [postgres@server ~]$ psql -d template1 -c "ALTER USER gitlab SUPERUSER;" |
==== PostgreSQL: Datenbank gitlabhq_production erstellen ==== | ==== PostgreSQL: Datenbank gitlabhq_production erstellen ==== |
| |
Abschliessend ist es noch erforderlich die **Datenbank** für [[https://gitlab.com/|Gitlab]] zu erstellen, welche auch dem [[https://gitlab.com/|Gitlab]]-**Benutzer** gehören soll: | Abschliessend ist es noch erforderlich die **Datenbank** für [[https://gitlab.com/|GitLab]] zu erstellen, welche auch dem [[https://gitlab.com/|GitLab]]-**Benutzer** gehören soll: |
<code sql> | <code sql> |
[postgres@server ~]$ psql -d template1 -c "CREATE DATABASE gitlabhq_production OWNER gitlab;" | [postgres@server ~]$ psql -d template1 -c "CREATE DATABASE gitlabhq_production OWNER gitlab;" |
</code> | </code> |
| |
Nachfolgende [[https://www.postgresql.org/|PostgreSQL]]-Datenbank Extensions (Erweiterungen), sollten für die Benutzung von [[https://gitlab.com/|Gitlab]] hinzugefügt werden: | Nachfolgende [[https://www.postgresql.org/|PostgreSQL]]-Datenbank Extensions (Erweiterungen), sollten für die Benutzung von [[https://gitlab.com/|GitLab]] hinzugefügt werden: |
* ''pg_trgm'' - Unterstützung für die Ähnlichkeiten-Erkennung im Text mittels Trigramm-Matching | * ''pg_trgm'' - Unterstützung für die Ähnlichkeiten-Erkennung im Text mittels Trigramm-Matching |
* ''btree_gist'' - GiST-Operatorklassen mit B-Baum-Verhalten | * ''btree_gist'' - GiST-Operatorklassen mit B-Baum-Verhalten |
===== Redis: Installation ===== | ===== Redis: Installation ===== |
| |
Nachfolgend soll die Installation einer **lokalen [[https://redis.io/|Redis]]-Datenstruktur-Server** erfolgen, welche **auf dem Server, auf dem auch [[https://gitlab.com/|Gitlab]] installiert werden soll** läuft. Der [[https://redis.io/|Redis]]-Datenstruktur-Server soll **__nur__** via **socket** erreichbar sein und keine Netzwerk-Verbindungen nach ausserhalb des **lokalen Servers** haben. | Nachfolgend soll die Installation einer **lokalen [[https://redis.io/|Redis]]-Datenstruktur-Server** erfolgen, welche **auf dem Server, auf dem auch [[https://gitlab.com/|GitLab]] installiert werden soll** läuft. Der [[https://redis.io/|Redis]]-Datenstruktur-Server soll **__nur__** via **socket** erreichbar sein und keine Netzwerk-Verbindungen nach ausserhalb des **lokalen Servers** haben. |
| |
Um die [[https://redis.io/|Redis]]-Datenstruktur-Server betreiben zu können, muss das Paket | Um die [[https://redis.io/|Redis]]-Datenstruktur-Server betreiben zu können, muss das Paket |
==== Redis: Einstellungen ==== | ==== Redis: Einstellungen ==== |
| |
Nachfolgende Konfiguration in der Standard-Konfigurationsdatei ''/etc/redis/redis.conf'' des [[https://redis.io/|Redis]]-Datenstruktur-Server sind durchzuführen, damit ein Zusammenspiel mit [[https://gitlab.com/|Gitlab]] gewährleistet werden kann. | Nachfolgende Konfiguration in der Standard-Konfigurationsdatei ''/etc/redis/redis.conf'' des [[https://redis.io/|Redis]]-Datenstruktur-Server sind durchzuführen, damit ein Zusammenspiel mit [[https://gitlab.com/|GitLab]] gewährleistet werden kann. |
| |
=== /etc/redis/redis.conf === | === /etc/redis/redis.conf === |
=== /etc/group === | === /etc/group === |
| |
Nachfolgend ist es noch erforderlich, das der [[https://gitlab.com/|Gitlab]]-**Benutzer** in der Gruppe des [[https://redis.io/|Redis]]-Datenstruktur-Servers hinzugefügt wird, damit dieser Zugriff auf dessen hat, was mit nachfolgendem Befehl durchgeführt werden kann: | Nachfolgend ist es noch erforderlich, das der [[https://gitlab.com/|GitLab]]-**Benutzer** in der Gruppe des [[https://redis.io/|Redis]]-Datenstruktur-Servers hinzugefügt wird, damit dieser Zugriff auf dessen hat, was mit nachfolgendem Befehl durchgeführt werden kann: |
<code> | <code> |
# usermod -aG redis gitlab | # usermod -aG redis gitlab |
===== Apache HTTP Webserver: Installation ===== | ===== Apache HTTP Webserver: Installation ===== |
| |
Nachfolgend soll ein [[https://httpd.apache.org/|Apache HTTPD Webserver]] zur Auslieferung von [[https://gitlab.com/|Gitlab]] verwendet werden. | Nachfolgend soll ein [[https://httpd.apache.org/|Apache HTTPD Webserver]] zur Auslieferung von [[https://gitlab.com/|GitLab]] verwendet werden. |
| |
Dazu ist es erforderlich einen [[https://httpd.apache.org/|Apache HTTPD Webserver]], wie unter nachfolgendem internen Link zu installieren: | Dazu ist es erforderlich einen [[https://httpd.apache.org/|Apache HTTPD Webserver]], wie unter nachfolgendem internen Link zu installieren: |
| |
Damit die zuvor unter | Damit die zuvor unter |
* [[tachtler:gitlab_archlinux#etc_httpd_conf_extra_gitlabconf|AGitlab ArchLinux - /etc/httpd/conf/extra/gitlab.conf]] | * [[tachtler:gitlab_archlinux#etc_httpd_conf_extra_gitlabconf|GitLab ArchLinux - /etc/httpd/conf/extra/gitlab.conf]] |
neu erstellte Konfigurationsdatei auch durch den [[https://httpd.apache.org/|Apache HTTPD Webserver]] eingelesen wird, ist nachfolgende **Ergänzung** in der bereits bestehnden Konfigurationsdatei | neu erstellte Konfigurationsdatei auch durch den [[https://httpd.apache.org/|Apache HTTPD Webserver]] eingelesen wird, ist nachfolgende **Ergänzung** in der bereits bestehnden Konfigurationsdatei |
* ''/etc/httpd/conf/httpd.conf'' | * ''/etc/httpd/conf/httpd.conf'' |
===== GitLab: Konfiguration ===== | ===== GitLab: Konfiguration ===== |
| |
Die Konfigurationsverzeichnisse und Dateien weichen von der originalen [[https://gitlab.com/|Gitlab]]-Installation wie folgt ab: | Die Konfigurationsverzeichnisse und Dateien weichen von der originalen [[https://gitlab.com/|GitLab]]-Installation wie folgt ab: |
| |
^ Komponente ^ originales Verzeichnis ^ [[https://archlinux.org/|ArchLinux]] Verzeichnis ^ | ^ Komponente ^ originales Verzeichnis ^ [[https://archlinux.org/|ArchLinux]] Verzeichnis ^ |
| Logs | ''/home/git/log'' | ''/var/log/gitlab'' | | | Logs | ''/home/git/log'' | ''/var/log/gitlab'' | |
| Unix socket files/PID files | ''/home/git/sockets'' | ''/run/gitlab'' | | | Unix socket files/PID files | ''/home/git/sockets'' | ''/run/gitlab'' | |
| |
| ==== /var/lib/gitlab/shared/pages ==== |
| |
| Damit später auch beim möglichen **Backup** von [[https://gitlab.com/|GitLab]] auftreten, ist es erforderlich, nachfolgendes Verzeichnis anzulegen, was mit nachfolgenden Befehlen durchgeführt werden kann: |
| <code> |
| # sudo -u gitlab mkdir /var/lib/gitlab/shared/pages |
| </code> |
| Anschliessend sind nur noch die **Datei**rechte mit nachfolgendem Befehl wie folgt anzupassen: |
| <code> |
| # chmod -R 750 /var/lib/gitlab/shared/pages |
| </code> |
| |
| ==== /var/lib/gitlab/shared/terraform_state ==== |
| |
| Damit später auch beim möglichen **Backup** von [[https://gitlab.com/|GitLab]] auftreten, ist es erforderlich, nachfolgendes Verzeichnis anzulegen, was mit nachfolgenden Befehlen durchgeführt werden kann: |
| <code> |
| # sudo -u gitlab mkdir /var/lib/gitlab/shared/terraform_state |
| </code> |
| Anschliessend sind nur noch die **Datei**rechte mit nachfolgendem Befehl wie folgt anzupassen: |
| <code> |
| # chmod -R 750 /var/lib/gitlab/shared/terraform_state |
| </code> |
| |
| ==== /var/lib/gitlab/shared/packages ==== |
| |
| Damit später auch beim möglichen **Backup** von [[https://gitlab.com/|GitLab]] auftreten, ist es erforderlich, nachfolgendes Verzeichnis anzulegen, was mit nachfolgenden Befehlen durchgeführt werden kann: |
| <code> |
| # sudo -u gitlab mkdir /var/lib/gitlab/shared/packages |
| </code> |
| Anschliessend sind nur noch die **Datei**rechte mit nachfolgendem Befehl wie folgt anzupassen: |
| <code> |
| # chmod -R 750 /var/lib/gitlab/shared/packages |
| </code> |
| |
| ==== /var/lib/gitlab/shared/ci_secure_files ==== |
| |
| Damit später auch beim möglichen **Backup** von [[https://gitlab.com/|GitLab]] auftreten, ist es erforderlich, nachfolgendes Verzeichnis anzulegen, was mit nachfolgenden Befehlen durchgeführt werden kann: |
| <code> |
| # sudo -u gitlab mkdir /var/lib/gitlab/shared/ci_secure_files |
| </code> |
| Anschliessend sind nur noch die **Datei**rechte mit nachfolgendem Befehl wie folgt anzupassen: |
| <code> |
| # chmod -R 750 /var/lib/gitlab/shared/ci_secure_files |
| </code> |
| |
==== /etc/webapps/gitlab/gitlab.yml ==== | ==== /etc/webapps/gitlab/gitlab.yml ==== |
| |
Die Konfigurationsdatei ''/etc/webapps/gitlab/gitlab.yml'' ist die Haupt-Konfigurationsdatei von [[https://gitlab.com/|Gitlab]]. | Die Konfigurationsdatei ''/etc/webapps/gitlab/gitlab.yml'' ist die Haupt-Konfigurationsdatei von [[https://gitlab.com/|GitLab]]. |
| |
Nachfolgende **minimale** Einstellungen sind für einen Betrieb erforderlich und sind **im Bereich**: | Nachfolgende **minimale** Einstellungen sind für einen Betrieb erforderlich und sind **im Bereich**: |
port: 443</code> | port: 443</code> |
| |
Das setzen des Parameters ''port:'' kann verwirrend sein. Es handelt sich **__nicht__ um den Port, an dem der [[https://gitlab.com/|Gitlab]]-Server (Puma) läuft**, sondern um den Port, **über den die Benutzer zunächst vom __jeweiligen Browser__ aus zugreifen**. | Das setzen des Parameters ''port:'' kann verwirrend sein. Es handelt sich **__nicht__ um den Port, an dem der [[https://gitlab.com/|GitLab]]-Server (Puma) läuft**, sondern um den Port, **über den die Benutzer zunächst vom __jeweiligen Browser__ aus zugreifen**. |
| |
* <code yaml> # Tachtler | * <code yaml> # Tachtler |
| |
Hier kann mit dem Parameter ''time_zone'' die Zeitzone gesetzt werden, wenn diese nicht in **UTC** angezeigt werden soll. | Hier kann mit dem Parameter ''time_zone'' die Zeitzone gesetzt werden, wenn diese nicht in **UTC** angezeigt werden soll. |
| |
| * <code yaml> ## Uploads (attachments, avatars, etc...) |
| uploads: |
| # The location where uploads objects are stored (default: public/). |
| # Tachtler |
| # default: storage_path: /var/lib/gitlab/public/ |
| storage_path: /var/lib/gitlab/</code> |
| |
| Korrektur des Verzeichnisses für **uploads**, da dieses standardmässig unter einem anderen Pfad angelegt wird. |
| |
==== /etc/webapps/gitlab/secret ==== | ==== /etc/webapps/gitlab/secret ==== |
# port: 26379 # point to sentinel, not to redis port | # port: 26379 # point to sentinel, not to redis port |
</code> | </code> |
| |
| |
==== /etc/webapps/gitlab/database.yml ==== | ==== /etc/webapps/gitlab/database.yml ==== |
</code> | </code> |
| |
:!: **WICHTIG** - Seit [[https://gitlab.com/|Gitlab]] **Version 15.9** ist die Konfigurationsatei ''/etc/webapps/gitlab/database.yml'', wenn diese **__nur__** einen Abschnitt main: enthält, **veraltet**. | :!: **WICHTIG** - Seit [[https://gitlab.com/|GitLab]] **Version 15.9** ist die Konfigurationsatei ''/etc/webapps/gitlab/database.yml'', wenn diese **__nur__** einen Abschnitt main: enthält, **veraltet**. |
| |
:!: **ACHTUNG** - Ab [[https://gitlab.com/|Gitlab]] **Version 17.0 __müssen__ sich zwingend in der Konfigurationsdatei ''/etc/webapps/gitlab/database.yml'' __zwei Abschnitte__ befinden! - **: **''main:''** **__und__** **''ci:''**. Die **''ci''**:-Verbindung **__muss__** mit der gleichen Datenbank wie auch bei **''main:''** konfiguriert bestehen! | :!: **ACHTUNG** - Ab [[https://gitlab.com/|GitLab]] **Version 17.0 __müssen__ sich zwingend in der Konfigurationsdatei ''/etc/webapps/gitlab/database.yml'' __zwei Abschnitte__ befinden! - **: **''main:''** **__und__** **''ci:''**. Die **''ci''**:-Verbindung **__muss__** mit der gleichen Datenbank wie auch bei **''main:''** konfiguriert bestehen! |
| |
:!: **HINWEIS** - **Die Abschnitte ''development'', ''staging'' und ''test'' müssen __deaktiviert__ werden! - Der Parameter ''database_tasks: false'' ist jeweils zu setzen!** | :!: **HINWEIS** - **Die Abschnitte ''development'', ''staging'' und ''test'' müssen __deaktiviert__ werden! - Der Parameter ''database_tasks: false'' ist jeweils zu setzen!** |
| |
===== Gitlab: Datenbank erzeugen ===== | ===== GitLab: Datenbank erzeugen ===== |
| |
==== redis.service: Status gestartet ==== | ==== redis.service: Status gestartet ==== |
==== gitlab-gitaly.service: Erster Start ==== | ==== gitlab-gitaly.service: Erster Start ==== |
| |
Um die Datenbank für [[https://gitlab.com/|Gitlab]] erzeugen zu können, ist es zum jetzigen Zeitpunkt der [[https://gitlab.com/|Gitlab]]-Installation erforderlich den Dienst/Daemon | Um die Datenbank für [[https://gitlab.com/|GitLab]] erzeugen zu können, ist es zum jetzigen Zeitpunkt der [[https://gitlab.com/|GitLab]]-Installation erforderlich den Dienst/Daemon |
* ''gitlab-gitaly.service'' | * ''gitlab-gitaly.service'' |
erstmals zu starten, was mit nachfolgendem Befehl durchgeführt werden kann: | erstmals zu starten, was mit nachfolgendem Befehl durchgeführt werden kann: |
</code> | </code> |
| |
Der nachfolgende Befehl, führt die **Erzeugung der Datenbank** für [[https://gitlab.com/|Gitlab]] gegen die [[https://www.postgresql.org/|PostgreSQL]]-Datenbank aus: | Der nachfolgende Befehl, führt die **Erzeugung der Datenbank** für [[https://gitlab.com/|GitLab]] gegen die [[https://www.postgresql.org/|PostgreSQL]]-Datenbank aus: |
<code> | <code> |
# sudo -u gitlab $(cat environment | xargs) bundle exec rake gitlab:setup | # sudo -u gitlab $(cat environment | xargs) bundle exec rake gitlab:setup |
</code> | </code> |
| |
Der nachfolgende Befehl, listet **Informationen** über die **installierten Komponenten und deren Versionen** von [[https://gitlab.com/|Gitlab]] auf: | Der nachfolgende Befehl, listet **Informationen** über die **installierten Komponenten und deren Versionen** von [[https://gitlab.com/|GitLab]] auf: |
<code> | <code> |
# sudo -u gitlab $(cat environment | xargs) bundle exec rake gitlab:env:info | # sudo -u gitlab $(cat environment | xargs) bundle exec rake gitlab:env:info |
</code> | </code> |
| |
===== Gitlab: Repository - Dateirechte setzen ===== | ===== GitLab: Repository - Dateirechte setzen ===== |
| |
Zum Abschluss der [[https://gitlab.com/|Gitlab]]-Konfiguration, müssen noch die **Datei**-rechte des **Repository-Verzeichnisses** | Zum Abschluss der [[https://gitlab.com/|GitLab]]-Konfiguration, müssen noch die **Datei**-rechte des **Repository-Verzeichnisses** |
* **''/var/lib/gitlab/repositories/''** | * **''/var/lib/gitlab/repositories/''** |
angepasst werden: | angepasst werden: |
| |
Nachfolgende Befehle müssen ausgeführt werden, um zu gewährleisten, dass | Nachfolgende Befehle müssen ausgeführt werden, um zu gewährleisten, dass |
- der [[https://gitlab.com/|Gitlab]]-**Benutzer**, und | - der [[https://gitlab.com/|GitLab]]-**Benutzer**, und |
- die [[https://gitlab.com/|Gitlab]]-**Gruppe** | - die [[https://gitlab.com/|GitLab]]-**Gruppe** |
**volle Zugriffsrechte** haben und **__ohne__** das das **SUID**-bit gesetzte ist! | **volle Zugriffsrechte** haben und **__ohne__** das das **SUID**-bit gesetzte ist! |
| |
</code> | </code> |
| |
===== Gitlab: Ziel/Target-Start einrichten ====== | ===== GitLab: Ziel/Target-Start einrichten ====== |
| |
Um [[https://gitlab.com/|Gitlab]], welches als Ziel/Target als Hintergrundprozess läuft, auch nach einem Neustart des Servers zur Verfügung zu haben, soll der Dienst/Daemon mit dem Server mit gestartet werden, was mit nachfolgendem Befehl realisiert werden kann: | Um [[https://gitlab.com/|GitLab]], welches als Ziel/Target als Hintergrundprozess läuft, auch nach einem Neustart des Servers zur Verfügung zu haben, soll der Dienst/Daemon mit dem Server mit gestartet werden, was mit nachfolgendem Befehl realisiert werden kann: |
<code> | <code> |
# systemctl enable gitlab.target | # systemctl enable gitlab.target |
===== GitLab: Erster Start ===== | ===== GitLab: Erster Start ===== |
| |
Mit nachfolgendem Befehl wird [[https://gitlab.com/|Gitlab]] gestartet. | Mit nachfolgendem Befehl wird [[https://gitlab.com/|GitLab]] gestartet. |
| |
Dieser **systemd**-Start beinhaltet auch den Start alle anderen benötigten Komponenten bzw. Dienste/Daemons von [[https://gitlab.com/|Gitlab]]. | Dieser **systemd**-Start beinhaltet auch den Start alle anderen benötigten Komponenten bzw. Dienste/Daemons von [[https://gitlab.com/|GitLab]]. |
| |
<code> | <code> |
Active: active since Thu 2024-03-21 07:36:18 CET; 5s ago | Active: active since Thu 2024-03-21 07:36:18 CET; 5s ago |
| |
Mar 21 07:36:18 vml200 systemd[1]: Reached target GitLab - Self Hosted Git Management. | Mar 21 07:36:18 server systemd[1]: Reached target GitLab - Self Hosted Git Management. |
</code> | </code> |
| |
===== GitLab: Erste Anmeldung ===== | ===== GitLab: Erste Anmeldung ===== |
| |
Nach erfolgreichem Start von [[https://gitlab.com/|Gitlab]] kann über einen **Browser** die nachfolgende URL aufgerufen werden, um die Startseite von [[https://gitlab.com/|Gitlab]] zu erreichen: | Nach erfolgreichem Start von [[https://gitlab.com/|GitLab]] kann über einen **Browser** die nachfolgende URL aufgerufen werden, um die Startseite von [[https://gitlab.com/|GitLab]] zu erreichen: |
* [[https://gitlab.tachtler.net|https://gitlab.tachtler.net]] | * [[https://gitlab.tachtler.net|https://gitlab.tachtler.net]] |
| |
Nachfolgender Bildschirm sollte beim ersten Aufruf von [[https://gitlab.com/|Gitlab]] zu sehen sein. Es ist zwingend erforderlich für den Benutzer **''root''** ein Passwort zu setzen: | Nachfolgender Bildschirm sollte beim ersten Aufruf von [[https://gitlab.com/|GitLab]] zu sehen sein. Es ist zwingend erforderlich für den Benutzer **''root''** ein Passwort zu setzen: |
| |
{{:tachtler:gitlab:archlinux_gitlab_ce_first_login_with_password_change.png|Gitlab - Erste Anmeldung - Aufforderung zur Passwort Änderung}} | {{:tachtler:gitlab:archlinux_gitlab_ce_first_login_with_password_change.png|GitLab - Erste Anmeldung - Aufforderung zur Passwort Änderung}} |
| |
Nachdem das Passwort erfolgreich gesetzt wurde, wird dies am Bildschirm angezeigt und eine Anmeldung als Benutzer **''root''** sollte nun möglich sein: | Nachdem das Passwort erfolgreich gesetzt wurde, wird dies am Bildschirm angezeigt und eine Anmeldung als Benutzer **''root''** sollte nun möglich sein: |
| |
{{:tachtler:gitlab:archlinux_gitlab_ce_first_login_password_changed.png|Gitlab - Erste Anmeldung - Passwort erfolgreich geändert}} | {{:tachtler:gitlab:archlinux_gitlab_ce_first_login_password_changed.png|GitLab - Erste Anmeldung - Passwort erfolgreich geändert}} |
| |
^ Feld ^ Eingabe ^ | ^ Feld ^ Eingabe ^ |
Ihre GitLab-Instanz erlaubt es jedem, sich für ein Konto zu registrieren, was bei öffentlich zugänglichen GitLab-Instanzen ein Sicherheitsrisiko darstellt. Sie sollten neue Anmeldungen deaktivieren, wenn von öffentlichen Benutzern nicht erwartet wird, dass sie sich für ein Konto registrieren. | Ihre GitLab-Instanz erlaubt es jedem, sich für ein Konto zu registrieren, was bei öffentlich zugänglichen GitLab-Instanzen ein Sicherheitsrisiko darstellt. Sie sollten neue Anmeldungen deaktivieren, wenn von öffentlichen Benutzern nicht erwartet wird, dass sie sich für ein Konto registrieren. |
| |
{{:tachtler:gitlab:archlinux_gitlab_ce_first_login_deactivate_sign_up.png|Gitlab - Erste Anmeldung - Registrierung deaktivieren}} | {{:tachtler:gitlab:archlinux_gitlab_ce_first_login_deactivate_sign_up.png|GitLab - Erste Anmeldung - Registrierung deaktivieren}} |
| |
Es sollte die Schaltfläche **[Deactivate]** mit der **[linken Maustaste]** gedrückt werden, wodurch sich der Bildschirminhalt wie folgt anpassen sollte: | Es sollte die Schaltfläche **[Deactivate]** mit der **[linken Maustaste]** gedrückt werden, wodurch sich der Bildschirminhalt wie folgt anpassen sollte: |
| |
{{:tachtler:gitlab:archlinux_gitlab_ce_first_login_admin_area_sign_up_settings.png|Gitlab - Erste Anmeldung - Administrations-Bereich - Registrierung deaktivieren}} | {{:tachtler:gitlab:archlinux_gitlab_ce_first_login_admin_area_sign_up_settings.png|GitLab - Erste Anmeldung - Administrations-Bereich - Registrierung deaktivieren}} |
| |
Hier kann nun die getroffene Entscheidung eingestellt werden. Als **Beispiel** sollen hier nachfolgende Einstellungen umgesetzt werden: | Hier kann nun die getroffene Entscheidung eingestellt werden. Als **Beispiel** sollen hier nachfolgende Einstellungen umgesetzt werden: |
Nachfolgender Bildschirm zeigt das **deaktivierte Kästchen** bei **Sign-up enabled**: | Nachfolgender Bildschirm zeigt das **deaktivierte Kästchen** bei **Sign-up enabled**: |
| |
{{:tachtler:gitlab:archlinux_gitlab_ce_first_login_admin_area_sign_up_deactivated.png|Gitlab - Erste Anmeldung - Administrations-Bereich - Registrierung deaktiviert}} | {{:tachtler:gitlab:archlinux_gitlab_ce_first_login_admin_area_sign_up_deactivated.png|GitLab - Erste Anmeldung - Administrations-Bereich - Registrierung deaktiviert}} |
| |
Nachfolgend und in Abhängigkeit der jeweiligen Bildschirmgrösse, ist es ggf. erforderlich mit dem **[Mausrad]** oder mit der **[linken Maustaste]** und dem Browser-**[Scrollbalken]** nach unten in der Seite zu navigieren, um die **zum Abschnitt gehörende** Schaltfläche **[Save changes]** zu finden. Diese ist dann mit der **[linken Maustaste]** zu drücken, um die Änderungen zu **speichern**. | Nachfolgend und in Abhängigkeit der jeweiligen Bildschirmgrösse, ist es ggf. erforderlich mit dem **[Mausrad]** oder mit der **[linken Maustaste]** und dem Browser-**[Scrollbalken]** nach unten in der Seite zu navigieren, um die **zum Abschnitt gehörende** Schaltfläche **[Save changes]** zu finden. Diese ist dann mit der **[linken Maustaste]** zu drücken, um die Änderungen zu **speichern**. |
| |
{{:tachtler:gitlab:archlinux_gitlab_ce_first_login_admin_area_sign_up_settings_save_changes.png|Gitlab - Erste Anmeldung - Administrations-Bereich - Anmelde-Einstellungen - speichern}} | {{:tachtler:gitlab:archlinux_gitlab_ce_first_login_admin_area_sign_up_settings_save_changes.png|GitLab - Erste Anmeldung - Administrations-Bereich - Anmelde-Einstellungen - speichern}} |
| |
Wenn die geänderten Einstellungen erfolgreich gespeichert wurden, sollte nachfolgender Bildschirm erscheinen: | Wenn die geänderten Einstellungen erfolgreich gespeichert wurden, sollte nachfolgender Bildschirm erscheinen: |
| |
{{:tachtler:gitlab:archlinux_gitlab_ce_first_login_admin_area_sign_up_settings_saved.png|Gitlab - Erste Anmeldung - Administrations-Bereich - Anmelde-Einstellungen - gespeichert}} | {{:tachtler:gitlab:archlinux_gitlab_ce_first_login_admin_area_sign_up_settings_saved.png|GitLab - Erste Anmeldung - Administrations-Bereich - Anmelde-Einstellungen - gespeichert}} |
| |
Zum Abschluss kann nun über das Administrations-Menü aus dem sich öffnenden Menü-Bereich der Menüpunkt **[Sign out]** mit der **[linken Maustaste]** ausgewählt und gedrückt werden, wie auf nachfolgendem Bildschirm dargestellt: | Zum Abschluss kann nun über das Administrations-Menü aus dem sich öffnenden Menü-Bereich der Menüpunkt **[Sign out]** mit der **[linken Maustaste]** ausgewählt und gedrückt werden, wie auf nachfolgendem Bildschirm dargestellt: |
| |
{{:tachtler:gitlab:archlinux_gitlab_ce_first_login_admin_area_menu_sign_out.png|Gitlab - Erste Anmeldung - Administrations-Bereich - Administrations-Menü - abmelden}} | {{:tachtler:gitlab:archlinux_gitlab_ce_first_login_admin_area_menu_sign_out.png|GitLab - Erste Anmeldung - Administrations-Bereich - Administrations-Menü - abmelden}} |
| |
Abschliessend nach erfolgreicher Abmeldung, sollte dann der nachfolgende Anmeldebildschirm wieder erscheinen, wie nachfolgende dargestellt: | Abschliessend nach erfolgreicher Abmeldung, sollte dann der nachfolgende Anmeldebildschirm wieder erscheinen, wie nachfolgende dargestellt: |
| |
{{:tachtler:gitlab:archlinux_gitlab_ce_login_page.png|Gitlab - Erste Anmeldung - Anmeldebildschirm}} | {{:tachtler:gitlab:archlinux_gitlab_ce_login_page.png|GitLab - Erste Anmeldung - Anmeldebildschirm}} |
| |
===== Gitlab: Erweiterte Konfigurationen ===== | ===== GitLab: Erweiterte Konfigurationen ===== |
| |
Nachfolgende interne Links führen der erweiterten Konfiguration von [[https://gitlab.com/|Gitlab]], welche da wären: | Nachfolgende interne Links führen der erweiterten Konfiguration von [[https://gitlab.com/|GitLab]], welche da wären: |
| |
==== Gitlab: LDAP-Konfiguration ==== | ==== GitLab: LDAP-Konfiguration ==== |
| |
Die erweiterten Konfiguration von [[https://gitlab.com/|Gitlab]] befindet sich unter dem nachfolgenden internen Link: | Die erweiterten Konfiguration von [[https://gitlab.com/|GitLab]] befindet sich unter den nachfolgendem internen Link: |
* **[[tachtler:gitlab_archlinux_-_ldap-konfiguration|GitLab ArchLinux - LDAP-Konfiguration]]** | * **[[tachtler:gitlab_archlinux_-_ldap-konfiguration|GitLab ArchLinux - LDAP-Konfiguration]]** |
| |
| ==== GitLab: Backup ==== |
| |
| Die erweiterten Konfiguration von [[https://gitlab.com/|GitLab]] befindet sich unter den nachfolgendem internen Link: |
| * **[[tachtler:gitlab_archlinux_-_backup|GitLab ArchLinux - Backup]]** |
| |
| ==== GitLab: Restore ==== |
| |
| Die erweiterten Konfiguration von [[https://gitlab.com/|GitLab]] befindet sich unter den nachfolgendem internen Link: |
| * **[[tachtler:gitlab_archlinux_-_restore|GitLab ArchLinux - Restore]]** |
| |
| ==== GitLab: Upgrade/Update ==== |
| |
| Die erweiterten Konfiguration von [[https://gitlab.com/|GitLab]] befindet sich unter den nachfolgendem internen Link: |
| * **[[tachtler:gitlab_archlinux_-_upgrade_update|GitLab ArchLinux - Upgrade/Update]]** |
| |