GNU/Linux >> LINUX-Kenntnisse >  >> FreeBSD

So installieren Sie Gitlab unter FreeBSD

GitLab ist ein webbasiertes Versionskontrollsystem und kollaborative Softwareentwicklung auf Basis von Git. Zu seinen Funktionen gehören Dinge wie das Code-Repository, Wiki oder das Issue-Tracking-System. In diesem Artikel zeige ich Ihnen, wie Sie die Community Edition von GitLab auf FreeBSD installieren.

Lass es uns tun

Datenbank

Die einzige unterstützte Datenbank ist PostgreSQL. Sie können diesem Tutorial folgen, wenn Sie keins haben:https://unixcop.com/how-to-install-postgresql-in-freebsd/ .

Wir benötigen die pgtrgm-Erweiterung, wenn Sie den Port postgresl_contrib nicht haben, installieren Sie ihn mit:

# cd /usr/ports/databases/postgresql14-contrib
make install clean

Wenn Sie Pakete verwenden, installieren Sie es mit:

pkg add postgresql14-contrib

Erstellen Sie einen Datenbankbenutzer namens git und die Gitlab-Produktionsdatenbank:

root@fbsd:~ # su postgres
$ psql
psql (14beta1)
Type "help" for help.

postgres=# CREATE USER git CREATEDB SUPERUSER;
CREATE ROLE
postgres=# ALTER ROLE git WITH PASSWORD 'superpass';
ALTER ROLE
postgres=# CREATE DATABASE gitlabhq_production OWNER git;
CREATE DATABASE

Verbinden Sie sich als nächstes mit der Datenbank gitlabhq_production und aktivieren Sie die Erweiterung pg_trgm:

postgres=# \connect gitlabhq_production 
You are now connected to database "gitlabhq_production" as user "postgres".
gitlabhq_production=# CREATE EXTENSION IF NOT EXISTS pg_trgm;
CREATE EXTENSION

GitLab-ce

Lassen Sie uns nun gitlab-ce und seine Abhängigkeiten kompilieren:

root@fbsd:~ # cd /usr/ports/www/gitlab-ce/
root@fbsd:/usr/ports/www/gitlab-ce # make install clean

Dies dauert je nach bereits installierten Ports mehr oder weniger lange. Folgen Sie den Anweisungen auf dem Bildschirm. Die Zusammenstellung von allem hat auf meinem langsamen Computer ein paar Stunden gedauert:

Redis

Der Redis-Cache sollte mit dem gitlab-ce-Port installiert werden; wenn Sie es nicht installiert haben, führen Sie Folgendes aus:

# cd /usr/ports/databases/redis
# make install clean

Fügen Sie der Konfigurationsdatei /usr/local/etc/redis.conf die folgenden Zeilen hinzu :

unixsocket /var/run/redis/redis.sock
unixsocketperm 770

Dadurch werden Berechtigungen für den Redis-Socket aktiviert und gewährt. Aktivieren Sie nun die Redis-Dienste und starten Sie sie:

# /usr/local/etc/rd.d/redis enable
# /usr/local/etc/rd.d/redis start

Fügen Sie den Git-Benutzer zur Redis-Gruppe hinzu und wir sind mit der Redis-Konfiguration fertig:

#  pw groupmod redis -m git

Gitlab-Vorkonfiguration

Wir müssen etwas zusätzliche Arbeit leisten.

Ändere das Home-Verzeichnis des Git-Benutzers

Gitlab erwartet, dass das Home-Verzeichnis des Git-Benutzers /usr/home/git ist. Sie können es ändern mit:

# chsh git

Da ich das vi-Programm nicht mag, ändere ich mit diesem Befehl zu ee:

 # EDITOR=/usr/bin/ee chsh git

Gitlab konfigurieren

Gehen Sie in das Installationsverzeichnis von gitlab und bearbeiten Sie die Konfigurationsdatei:

# cd /usr/local/www/gitlab-ce
# ee config/gitlab.yml 

Also ändere ich host:localhost → host:192.168.122.234 (meine IP, da ich in dieser Test-VM keinen FQDN habe) und für dieses Tutorial kein https verwenden. Und für email_from verwende ich ein generisches noreply@localhost . Sie können nach diesen Elementen suchen, indem Sie ctrl-y drücken im ee-Editor.

In config/unicorn.rb Stellen Sie die Anzahl der Worker auf mindestens die Anzahl der Kerne ein:

# ee config/unicorn.rb

Wechseln Sie zum Git-Benutzer und führen Sie Folgendes aus:

# su - git
$ git config --global core.autocrlf input
$ git config --global gc.auto 0
$ git config --global repack.writeBitmaps true
$ git config --global receive.advertisePushOptions true

Der erste ist für den Webeditor, der autocrlf benötigt; der zweite liegt daran, dass GitLab bei Bedarf „git gc“ ausführt; die dritte aktiviert Packfile-Bitmaps; und der letzte aktiviert Push-Optionen.

Konfigurieren Sie die Datenbankeinstellungen in config/database.yml :

DB initialisieren

Geben Sie dem Git-Benutzer temporäre Schreibrechte:

# chown git /usr/local/share/gitlab-shell

Initialisieren Sie die Datenbank mit diesem Befehl (als Git-Benutzer):

# su - git
$ cd /usr/local/www/gitlab-ce/
$ rake gitlab:setup RAILS_ENV=production

Kehren Sie zum Root-Benutzer zurück und machen Sie die temporären Berechtigungen rückgängig:

# chown root /usr/local/share/gitlab-shell 

Wir haben es fast geschafft, prüfen wir, ob bis jetzt alles richtig konfiguriert ist:

# su - git 
$ cd /usr/local/www/gitlab-ce && rake gitlab:env:info RAILS_ENV=production

Fahren Sie nun (als Git-Benutzer) mit dem Kompilieren von GetText-PO-Dateien und -Assets fort:

$ rake gettext:compile RAILS_ENV=production
Created app.js in /usr/local/www/gitlab-ce/app/assets/javascripts/locale/bg
Created app.js in /usr/local/www/gitlab-ce/app/assets/javascripts/locale/de
(...)
All files created, make sure they are being added to your assets.
If they are not, you can add them with this line (configurable):

//= require_tree ./locale
//= require gettext/all

$ yarn install --production --pure-lockfile
 yarn install v1.22.10
[1/5] Validating package.json...
[2/5] Resolving packages...
(...)
success Dependency postinstall check passed.
Done in 150.47s.
$ rake gitlab:assets:compile RAILS_ENV=production NODE_ENV=production
[long output that I didn't capture the begin because a distraction]
`gitlab:assets:fix_urls` finished in 31.47730386 seconds
`gitlab:assets:check_page_bundle_mixins_css_for_sideeffects` finished in 10.420508114 seconds
$ ^d

Aktivieren und starten Sie nun den GitLab-Dienst, führen Sie ihn als root aus:

# /usr/local/etc/rc.d/gitlab enable
gitlab enabled in /etc/rc.conf
# /usr/local/etc/rc.d/gitlab start

Nginx

Ngninx ist der offiziell unterstützte Webserver. Installieren Sie es mit:

# cd /usr/ports/www/nginx
make install clean

Die nginx-Konfiguration ist ziemlich einfach:Fügen Sie die von gitlab bereitgestellte Konfiguration hinzu, indem Sie die folgende Zeile innerhalb des http-Blocks in /usr/local/etc/nginx/nginx.conf hinzufügen :

include       /usr/local/www/gitlab-ce/lib/support/nginx/gitlab;

Nginx aktivieren und starten:

# /usr/local/etc/rc.d/nginx enable
# /usr/local/etc/rd.d/nginx start

Erster Login

Wie am Ende der Datenbankinitialisierung zu sehen ist, werden Sie aufgefordert, das Root-Passwort zu ändern:

Und das ist es, Sie können sich jetzt mit dem Root-Benutzer und dem neuen Passwort anmelden und mit der Arbeit beginnen.

Wohin es von hier aus geht

Wie ich immer sage:Gehen Sie zur Dokumentation, die in GitLab im Menü oben rechts auf dem Bildschirm enthalten ist:

Und auf dem nächsten Bildschirm finden Sie einige nützliche Links wie:


FreeBSD
  1. So installieren Sie Git unter Ubuntu 18.04 / 20.04

  2. So installieren Sie Git unter CentOS 8

  3. So installieren Sie Git auf AlmaLinux

  4. So installieren Sie Git unter Ubuntu 18.04

  5. So installieren Sie Git unter CentOS 8

So installieren Sie Mediawiki auf FreeBSD

So installieren Sie HAProxy unter FreeBSD

So installieren Sie Git auf AlmaLinux 8

So installieren Sie Git auf Manjaro 20

So installieren Sie Gitlab unter Debian 8

So installieren Sie Gitlab unter Debian 11