Oceń ten artykuł :
Ten artykuł był dla Ciebie przydatny ?
Tak
Nie
Vous avez noté 0 étoile(s)
Sommaire
Procédure
Potrzebujesz GitLab do zarządzania swoimi projektami? Utwórz własną instancję GitLab na swoim VPS, postępując zgodnie z tym samouczkiem.
Git jest dobry. Gitlab jest lepszy. Gitlab to menedżer repozytoriów Git o otwartym kodzie źródłowym. Opracowany przez GitLab Inc, oferuje intuicyjny interfejs graficzny do zarządzania różnymi projektami przy jednoczesnym zachowaniu kompatybilności z Git. Można tworzyć zgłoszenia funkcji, śledzić błędy itp. w zespole i za pośrednictwem przeglądarki internetowej.
Gitlab jest dostępny w kilku wersjach, zarówno płatnych, jak i darmowych. W poniższym poradniku zainstalujemy GitLab Community Edition (Gitlab CE), darmową wersję Gitlab o otwartym kodzie źródłowym.
Aby korzystać z GitLab, potrzebujesz co najmniej :
VPS M z serii LWS Starter będzie idealny dla kilku projektów Gitlab, ale jeśli masz kilku współpracowników i/lub kilka projektów do ukończenia, zalecamy skorzystanie z VPS L lub jednego z VPS z serii Pro.
W tym samouczku rozważymy całkowicie pusty system operacyjny z obrazu systemu Debian 9 + SSH oferowanego 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 samouczek opiera się na instalacji VIRGIN Debiana 9. Jeśli już coś na nim zainstalowałeś, nie możemy zagwarantować, że samouczek będzie skuteczny i / lub że wszystkie inne usługi będą dostępne po instalacji.
Nie zapomnij włączyć portu SSH w zaporze VPS, abyś mógł połączyć się z konsolą SSH jako root.
Oto kroki, które zostaną omówione w tym samouczku:
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
Najpierw zainstalujmy wymagane zależności:
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:
EXTERNAL_URL="http://vpsXXXXX.lws-hosting.com" apt-get install gitlab-ee
Instalacja trwa kilka minut, więc możesz napić się kawy 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.
Po zakończeniu instalacji przejdź do http://vpsXXXXX.lws-hosting.com, aby skonfigurować Gitlab.
Wskazówka: jeśli pojawi się błąd 502, spróbuj ponownie uruchomić Gitlab za pomocą polecenia
gitlab-ctl restart, a następnie odczekaj 5 minut przed ponowną próbą(Ctrl + F5).
Jeśli wszystko pójdzie zgodnie z planem, zostaniesz przekierowany na stronę umożliwiającą utworzenie hasła Gitlab.
Podaj stosunkowo złożone hasło. Możesz również wygenerować losowe hasło.
Gdy to zrobisz, możesz połączyć się z Gitlab za pomocą użytkownika root i podanego hasła.
Teraz skonfigurujemy odwrotne proxy z NGINX. Umożliwi to hostowanie innych witryn i aplikacji w przyszłości, szczególnie jeśli zdecydowałeś się na serwer Cloud Pro S VPS lub wyższy.
Pierwszym krokiem jest przeniesienie Gitlab na nieużywany port. Na potrzeby tego poradnika wykorzystamy port 6080 (wybrany losowo).
Wskazówka: listę już używanych portów można znaleźć za pomocą polecenia
netstat -tunap | grep LISTEN
Aby to zrobić, edytuj plik /etc/gitlab/gitlab.rb za pomocą nano (lub vim, lub innego edytora):
nano /etc/gitlab/gitlab.rb
I edytuj wartość external_url, aby uwzględnić port:
[...]
## GitLab URL
##! URL, pod którym GitLab będzie osiągalny.
##! Więcej szczegółów na temat konfiguracji external_url można znaleźć na stronie:
##! https://docs.gitlab.com/omnibus/settings/configuration.html#configuring-the-external-url-for-gitlab
external_url'http://vpsXXXXX.lws-hosting.com:6080'
[...]
Ctrl+X, Y następnie Enter, aby zapisać plik i zamknąć nano(Esc następnie :wq dla vim).
Aby zastosować tę konfigurację, uruchom następujące polecenie:
gitlab-ctl reconfigure
Zajmie to minutę lub dwie, podczas gdy Gitlab zsynchronizuje swoje ustawienia z aplikacjami, których Gitlab używa domyślnie (NGINX, omnibus itp.).
Gitlab jest teraz na 6080. Teraz musimy zainstalować NGINX. Instalacja NGINX jest podsumowana następującymi wierszami poleceń:
apt-get install -y curl gnupg2 ca-certificates lsb-release
echo "deb http://nginx.org/packages/debian `lsb_release -cs` nginx" | tee /etc/apt/sources.list.d/nginx.list
curl -fsSL https://nginx.org/keys/nginx_signing.key | apt-key add -
apt-get update
apt-get install -y nginx
Teraz nadszedł czas, aby utworzyć plik konfiguracyjny NGINX dla GitLab. Nazwiemy go /etc/nginx/conf.d/000-gitlab.conf. Użyj nano, aby utworzyć ten plik:
nano /etc/nginx/conf.d/000-gitlab.conf
Następnie musimy utworzyć nowy blok server{} i utworzyć odwrotne proxy. Oto sugerowana zawartość :
server {
listen 80;
server_name gitlab.example.com;
location / {
proxy_pass http://localhost:6080;
proxy_redirect off;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Protocol $scheme;
proxy_set_header X-Url-Scheme $scheme;
}
}
Wskazówka: Prefiks "000- " jest wymagany, aby plik został załadowany przed
default.conf. W przeciwnym razie plikdefault.conf nadpisze naszą konfigurację.
Aktywuj NGINX podczas uruchamiania:
systemctl enable nginx
Następnie uruchom ponownie nginx za pomocą następującego polecenia:
systemctl restart nginx
Następnie należy wskazać gitlab.example.com na VPS, dodając rekord A do strefy DNS. Jeśli DNS jest zarządzany w przestrzeni klienckiej LWS, oto jak to zrobić:
Następnie ponownie skonfigurujmy Gitlab, aby akceptował nagłówek X-Forwarded-For w celu znalezienia prawdziwych adresów IP odwiedzających. Odbywa się to poprzez edycję pliku /etc/gitlab/gitlab.rb:
[...]
nginx['real_ip_header'] = 'X-Forwarded-For'
nginx['real_ip_recursive'] = 'on'
[...]
Następnie ponownie zsynchronizuj konfiguracje Gitlab i jego wbudowanych usług:
gitlab-ctl reconfigure
Na tym etapie powinieneś być w stanie połączyć się z http://gitlab.exemple.com.
Zabezpieczymy teraz nasz dostęp za pomocą certyfikatu Let's Encrypt SSL. Najpierw zainstalujmy certbot :
apt-get install certbot -y
Następnie skonfigurujemy webroot dla uwierzytelniania Let's Encrypt. Aby to zrobić, edytuj plik /etc/nginx/conf.d/000-gitlab.conf i dodaj następujące wiersze po bloku location /:
[...]
location / {
proxy_pass http://localhost:6080;
[...]
}
location ^~ /.well-known/acme-challenge/ {
root /var/www/letsencrypt;
}
}
Utwórz plik :
mkdir -p /var/www/letsencrypt
I zrestartuj NGINX :
systemctl restart nginx
Teraz utwórzmy certyfikat SSL dla gitlab.example.com:
certbot certonly --webroot -w /var/www/letsencrypt/ -d gitlab.example.com
Postępuj zgodnie z instrukcjami wyświetlanymi na ekranie:
Następnie ponownie edytujemy plik /etc/nginx/conf.d/000-gitlab.conf, aby dodać nowy serwer HTTPS/443. Musimy dodać następujące linie na końcu pliku:
[...]
server {
listen 443 ssl;
server_name gitlab.example.com;
ssl_certificate /etc/letsencrypt/live/gitlab.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/gitlab.example.com/privkey.pem;
location / {
proxy_pass http://localhost:6080;
proxy_redirect off;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Protocol $scheme;
proxy_set_header X-Url-Scheme $scheme;
}
}
I uruchom ponownie serwer NGINX:
systemctl restart nginx
Masz teraz gotowy do użycia serwer Gitlab pod adresem https://gitlab.exemple.com.
Oceń ten artykuł :
Ten artykuł był dla Ciebie przydatny ?
Tak
Nie