Ohodnotit tento článek :
Tento článek byl pro vás užitečný ?
Ano
Ne
Vous avez noté 0 étoile(s)
Sommaire
Procédure
Potřebujete ke správě svých projektů Gitlab? Vytvořte si vlastní instanci GitLabu na svém VPS podle tohoto návodu.
Git je dobrý. Gitlab je lepší. Gitlab je open-source správce úložišť Git. Vyvinula jej společnost GitLab Inc. a nabízí intuitivní grafické rozhraní pro správu různých projektů při zachování kompatibility se systémem Git. Můžete vytvářet požadavky na funkce, sledovat chyby atd. v týmu a prostřednictvím webového prohlížeče.
Gitlab je k dispozici v několika verzích, placených i bezplatných. V následujícím návodu nainstalujeme GitLab Community Edition (Gitlab CE), bezplatnou verzi Gitlabu s otevřeným zdrojovým kódem.
Chcete-li používat GitLab, potřebujete alespoň :
VPS M z řady LWS Starter bude ideální pro několik projektů Gitlab, ale pokud máte několik spolupracovníků a/nebo několik projektů k dokončení, doporučujeme vzít si VPS L nebo některý z VPS z řady Pro.
Pro tento návod budeme uvažovat o zcela prázdném operačním systému z obrazu systému Debian 9 + SSH nabízeného na panelu LWS. Zde jsou odkazy na další návody pro jiné operační systémy:
Pokud chcete změnit operační systém na svém VPS, zde je odkaz na dokumentaci nápovědy: Jak změním operační systém na svém VPS?
Všimněte si, že tento návod je založen na VIRGIN instalaci Debianu 9. Pokud jste na něm již něco nainstalovali, nemůžeme zaručit, že bude návod účinný a/nebo že budou po instalaci dostupné všechny vaše další služby.
Nezapomeňte povolit port SSH na firewallu VPS, abyste se mohli připojit jako root ke konzoli SSH.
Zde jsou uvedeny kroky, které budou popsány v tomto výukovém kurzu:
Před instalací čehokoli doporučujeme aktualizovat seznam balíčků a balíčky samotné.
V konzole SSH napište následující příkazy:
apt-get update
apt-get upgrade -y
apt-get dist-upgrade -y
Nejprve nainstalujeme potřebné závislosti:
apt-get install -y curl openssh-server ca-certificates
Poté přidejte úložiště Gitlab do svého VPS:
Proveďte následující kroky: curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.deb.sh | bash
Nyní nainstalujme Gitlab:
EXTERNAL_URL="http://vpsXXXXX.lws-hosting.com" apt-get install gitlab-ee
Instalace trvá několik minut, takže si při čekání můžete dát kávu.
Tip: pokud máte nestabilní připojení k internetu, můžete v případě neočekávaného přerušení připojení použít obrazovku pro opětovné připojení k odpojitelné konzoli. Dokumentace k použití obrazovky.
Po dokončení instalace přejděte na stránku http://vpsXXXXX.lws-hosting.com a nakonfigurujte Gitlab.
Tip: Pokud se zobrazí chyba 502, zkuste restartovat systém Gitlab příkazem
gitlab-ctl restarta poté počkejte 5 minut, než to zkusíte znovu(Ctrl+F5).
Pokud vše proběhne podle plánu, budete přesměrováni na stránku pro vytvoření hesla Gitlab.
Zadejte poměrně složité heslo. Můžete si také vygenerovat náhodné heslo.
Jakmile je to hotovo, můžete se připojit ke službě Gitlab s uživatelem root a zadaným heslem.
Nyní se chystáme nastavit reverzní proxy server NGINX. To vám v budoucnu umožní hostovat další weby a aplikace, zejména pokud jste se rozhodli pro server VPS Cloud Pro S nebo vyšší.
Prvním krokem je přesunutí služby Gitlab na nepoužívaný port. Pro tento návod použijeme port 6080 (vybraný náhodně).
Tip: seznam již používaných portů můžete zjistit pomocí příkazu
netstat -tunap | grep LISTEN
Za tímto účelem upravte soubor /etc/gitlab/gitlab.rb pomocí nano (nebo vim či jiného editoru):
nano /etc/gitlab/gitlab.rb
A upravte hodnotu external_url tak, aby obsahovala port:
[...]
## GitLab URL
##! URL, na které bude GitLab dostupný.
##! Další podrobnosti o konfiguraci external_url najdete na:
##! 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 a pak Enter pro uložení souboru a zavření nano(Esc a pak :wq pro vim).
Chcete-li tuto konfiguraci použít, spusťte následující příkaz:
gitlab-ctl reconfigure
Bude to trvat minutu nebo dvě, než Gitlab synchronizuje své nastavení s aplikacemi, které Gitlab používá ve výchozím nastavení (NGINX, omnibus atd.).
Gitlab je nyní na 6080. Nyní musíme nainstalovat NGINX. Instalaci NGINX shrnují následující příkazové řádky:
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
Nyní je čas vytvořit konfigurační soubor NGINX pro GitLab. Pojmenujeme jej /etc/nginx/conf.d/000-gitlab.conf. K vytvoření tohoto souboru použijte nano:
nano /etc/nginx/conf.d/000-gitlab.conf
Dále musíme vytvořit nový blok server{} a vytvořit reverzní proxy. Zde je navrhovaný obsah :
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;
}
}
Tip: Předpona "000- " je nutná pro načtení souboru před
default.conf.Jinak soubordefault.confpřepíše naši konfiguraci.
Aktivujte NGINX při spuštění:
systemctl enable nginx
Poté restartujte nginx následujícím příkazem:
systemctl restart nginx: příkazem systemctl restart nginx
Dále je třeba nasměrovat adresu gitlab.example.com na váš VPS přidáním záznamu A do zóny DNS. Pokud je váš DNS spravován v klientském prostoru LWS, zde je návod, jak to udělat:
Dále opět nakonfigurujme Gitlab tak, aby přijímal hlavičku X-Forwarded-For a zjišťoval skutečné IP adresy návštěvníků. To provedeme úpravou souboru /etc/gitlab/gitlab.rb:
[...]
nginx['real_ip_header'] = 'X-Forwarded-For'
nginx['real_ip_recursive'] = 'on'
[...]
Poté znovu synchronizujte konfigurace systému Gitlab a jeho vestavěných služeb:
gitlab-ctl reconfigure
V této fázi byste se měli být schopni připojit k webu http://gitlab.exemple.com.
Nyní zabezpečíme náš přístup pomocí certifikátu Let's Encrypt SSL. Nejprve nainstalujeme certbot :
apt-get install certbot -y
Dále nastavíme webroot pro ověřování Let's Encrypt. Za tímto účelem upravte soubor /etc/nginx/conf.d/000-gitlab.conf a za blok location / přidejte tyto řádky:
[
location / {
proxy_pass http://localhost:6080;
[...]
}
location ^~ /.well-known/acme-challenge/ {
root /var/www/letsencrypt;
}
}
Vytvoření souboru :
mkdir -p /var/www/letsencrypt
A restartujte NGINX :
systemctl restart nginx
Nyní vytvoříme certifikát SSL pro gitlab.example.com:
certbot certonly --webroot -w /var/www/letsencrypt/ -d gitlab.example.com
Postupujte podle pokynů na obrazovce:
Dále opět upravíme soubor /etc/nginx/conf.d/000-gitlab.conf a přidáme nový server na HTTPS/443. Na konec souboru musíme přidat následující řádky:
[
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;
}
}
A restartujte server NGINX :
systemctl restart nginx
Nyní máte server Gitlab připravený k použití na adrese https://gitlab.exemple.com.
Ohodnotit tento článek :
Tento článek byl pro vás užitečný ?
Ano
Ne