Instalacja GitLab na serwerze Debian 9 VPS + ISPconfig

Procédure

GitLab to potężne narzędzie do łatwego zarządzania różnymi repozytoriami Git. Jednak jego konfiguracja w naszych systemach operacyjnych z ISPConfig 3 może łatwo przyprawić o ból głowy. Dlatego też zdecydowaliśmy się udostępnić kompletny podręcznik dotyczący tej operacji.

Wymagania

GitLab wymaga co najmniej 2 GB pamięci RAM. W połączeniu z minimum 2 GB ISPConfig 3, liczbą wykonywanych procesów (stanowiących prawie 30% limitu dla samego ISPConfig bez żadnej strony internetowej),oferta VPS L z gamy LWS Starter jest wystarczająca dla małych projektów, ale zalecamy gamę VPS Pro dla każdego profesjonalnego projektu.

W tym poradniku użyjemy VPS z systemem operacyjnym Debian 9 + ISPConfig 3 oferowanym w panelu LWS. Oto linki do innych samouczków dla innych systemów operacyjnych:

Jeśli chcesz zmienić system operacyjny na swoim VPS, oto link do dokumentacji pomocy: Jak zmienić system operacyjny na moim VPS?

Należy pamiętać, że ten poradnik został przetestowany tylko na instalacji VIRGIN Debiana 9 + ISPConfig. Jeśli masz już zainstalowane strony internetowe lub inne usługi na swoim VPS, nie możemy zagwarantować, że samouczek będzie skuteczny i / lub że wszystkie inne usługi będą działać po instalacji.

Nie zapomnij włączyć portu SSH w zaporze VPS i wyłączyć zarządzania SSH, abyś mógł połączyć się z konsolą SSH jako root.

Podsumowanie samouczka

Ten samouczek obejmuje następujące kroki:

  1. Aktualizacja systemu operacyjnego
  2. Instalacja Gitlab
  3. Tworzenie certyfikatu SSL Let's Encrypt
  4. Konfiguracja odwrotnego proxy na Apache przed Gitlabem

1. Aktualizacja systemu operacyjnego

Przed zainstalowaniem czegokolwiek zalecamy zaktualizowanie listy pakietów i samych pakietów. W konsoli SSH wpisz następujące polecenia:

apt-get update
apt-get upgrade -y
apt-get dist-upgrade -y

Możemy również zaktualizować ISPConfig.

2. Instalacja Gitlab

Najpierw zainstalujmy zależności wymagane przez Gitlab:

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

Następnie dodaj repozytorium Gitlab do swojego VPS:

curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.deb.sh | bash

Teraz zainstalujmy Gitlab na porcie 6080 (losowo wybrany port):

EXTERNAL_URL="http://vpsXXXXX.lws-hosting.com:6080" apt-get install gitlab-ee

Instalacja trwa kilka minut, więc możesz napić się herbaty podczas oczekiwania.

Wskazówka: jeśli masz niestabilne połączenie internetowe, możesz użyć ekranu, aby ponownie połączyć się z odłączaną konsolą w przypadku nieoczekiwanego rozłączenia. Dokumentacja dotycząca korzystania z ekranu.

Instalacja nie powiedzie się. Jest to całkowicie normalne. Dzieje się tak, ponieważ Gitlab będzie próbował wprowadzić zmiany w jądrze, ale zmiany te nie są autoryzowane na serwerach LWS VPS ze względu na zastosowaną technologię wirtualizacji. Aby to obejść, należy "dotknąć" (uruchomić polecenie touch) plików konfiguracyjnych jądra poszukiwanych przez Gitlab, aby opróżnić ich zawartość, aby można było kontynuować instalację:

touch /opt/gitlab/embedded/etc/90-omnibus-gitlab-kernel.sem.conf touch /opt/gitlab/embedded/etc/90-omnibus-gitlab-kernel.shmall.conf touch /opt/gitlab/embedded/etc/90-omnibus-gitlab-kernel.shmmax.conf touch /opt/gitlab/embedded/etc/90-omnibus-gitlab-net.core.somaxconn.conf

Jeśli istnieją inne pliki konfiguracyjne, możesz opróżnić je z zawartości. Następnie uruchom następujące polecenie, aby zregenerować konfiguracje Gitlab:

gitlab-ctl reconfigure

Teraz musisz zatrzymać GitLab, który, z tego co udało Ci się sprawdzić, w ogóle nie działa:

gitlab-ctl stop

Problem pochodzi z modułu unicorn, który używa tego samego portu co ISPConfig. Zmienimy więc jego port edytując plik /etc/gitlab/gitlab.rb:

nano /etc/gitlab/gitlab.rb

i edytuj następującą linię:

# unicorn['port'] = 8080 unicorn['port'] = 8083

Wcześniej był to komentarz, a wartością było 8080. Teraz odkomentowaliśmy to i ustawiliśmy 8083 jako port. Odtwórzmy pliki konfiguracyjne:

gitlab-ctl reconfigure

Teraz musimy ponownie uruchomić Gitlab:

gitlab-ctl restart

Wskazówka: Jeśli unicorn odmawia uruchomienia, istnieją procesy potomne, które nie zostały jeszcze zamknięte. Zamknij je za pomocą gitlab-ctl stop, a następnie spróbuj ponownie.

3. Tworzenie certyfikatu Let's Encrypt SSL

Aby zabezpieczyć dostęp do Gitlab, utworzymy certyfikat Let's Encrypt SSL, który zostanie następnie zainstalowany na odwrotnym serwerze proxy.

Uwaga: Nie zamierzamy instalować certyfikatu SSL w Gitlab. Zamierzamy jedynie zabezpieczyć dostęp do jego odwrotnego serwera proxy. Gitlab będzie dostępny tylko za pośrednictwem odwrotnego serwera proxy, więc możemy zaoszczędzić naszemu VPS dodatkowego wysiłku obliczeniowego, szyfrując ruch, który nie opuści VPS.

Aby to zrobić, musimy najpierw wskazać git.example.com na VPS. Następnie użyjemy certbota:

certbot certonly --webroot -w /usr/local/ispconfig/interface/acme/ -d git.example.com

Uwaga: ISPConfig (dzięki vhost i .conf dla Apache) bezpośrednio przekierowuje żądania zawierające /.well-known/ do /usr/local/ispconfig/interface/acme/. Tak więc używamy uwierzytelniania webroot i używamy folderu ISPConfig dostarczonego do tego celu. Pozwoli to uniknąć ingerencji w ISPConfig podczas odnawiania.

Jeśli po raz pierwszy tworzysz certyfikat Let's Encrypt SSL na swoim VPS, powinieneś wprowadzić adres e-mail i zaakceptować warunki korzystania z Let's Encrypt.

4. Konfiguracja odwrotnego serwera proxy Apache

Teraz musimy skonfigurować odwrotne proxy z Apache, które będzie współistnieć z ISPConfig i powiązanymi witrynami. Utworzymy więc nowy plik konfiguracyjny :

nano /etc/apache2/sites-available/gitlab.conf

i będziemy musieli dodać następującą zawartość :


    ServerName git.exemple.com ServerAdmin root@git.exemple.com RewriteEngine On RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]


    ServerName git.exemple.com ServerAdmin root@git.exemple.com ProxyRequests Off ProxyPreserveHost On ProxyVia Full Require all granted  ProxyPass http://127.0.0.1:6080/ ProxyPassReverse http://127.0.0.1:6080/ ErrorLog ${APACHE_LOG_DIR}/error.log LogLevel warn CustomLog ${APACHE_LOG_DIR}/access.log combined SSLEngine on SSLCertificateFile /etc/letsencrypt/live/git.exemple.com/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/git.exemple.com/privkey.pem SSLCertificateChainFile /etc/letsencrypt/live/git.exemple.com/chain.pem

I aktywujmy ten nowy vhost:

ln -s /etc/apache2/sites-available/gitlab.conf /etc/apache2/sites-enabled/000-gitlab.conf

Przed ponownym uruchomieniem Apache należy aktywować niezbędne moduły:

a2enmod proxy a2enmod proxy_http

Teraz należy ponownie uruchomić Apache :

systemctl restart apache2

I to wszystko. Jeśli przejdziesz do git.example.com, zobaczysz, że Gitlab jest gotowy:

Instalacja GitLab na serwerze Debian 9 VPS + ISPconfig

Oceń ten artykuł :

5/5 | 2 opinia

Ten artykuł był dla Ciebie przydatny ?

Article utileTak

Article non utileNie

MerciMerci ! N'hésitez pas à poser des questions sur nos documentations si vous souhaitez plus d'informations et nous aider à les améliorer.


Vous avez noté 0 étoile(s)

Podobne artykuły

3mn czytanie

Jak uzyskać dostęp do ISPConfig na moim dedykowanym serwerze VPS?

0mn czytanie

Jak utworzyć serwer DNS w ISPConfig na dedykowanym serwerze VPS?

0mn czytanie

Jak zmienić hasło do panelu ISPConfig 3?

1mn czytanie

Jak mogę zabezpieczyć dostęp do panelu ISPconfig za pomocą pliku .htaccess?


Zadaj pytanie zespołowi LWS i jego społeczności