GNU/Linux >> Znalost Linux >  >> Linux

Jak bezpečně nainstalovat Gitlab (výukový program)

Rozhodli jste se, že musíte začít používat GitLab pro řízení svých projektů, ale nejste si jisti, jak GitLab bezpečně nainstalovat? Nejenže je instalace GitLabu složitý proces, ale pokud nebude provedena správně, mohou být vaše data ohrožena. Ale nezoufejte, jste na správném místě!

Nejste čtenář? Podívejte se na tento související video tutoriál! Nevidíte video? Ujistěte se, že máte vypnutý blokovač reklam.

V tomto tutoriálu se naučíte celý proces bezpečné instalace GitLabu, takže budete muset nastavit šifrování SSL a nakonfigurovat GitLab pro optimální výkon.

Zní to zajímavě? Skočte rovnou dovnitř!

Předpoklady

Tento tutoriál bude praktickou ukázkou. Pokud je chcete sledovat, ujistěte se, že máte následující:

  • Linuxový server s přístupem root – Tato ukázka používá Ubuntu 20.04 LTS, ale bude fungovat jakákoli distribuce Linuxu.
  • Plně kvalifikovaný název domény (FQDN) směřující na váš server.
  • Let’s Encrypt nainstalovaný na serveru.
  • Minimální požadavky – 8 GB RAM, šířka pásma 50–100 Mb/s, procesor 2 GHz a 20 GB místa na disku.

Instalace GitLab Community Edition

Nyní, když máte FQDN a váš server připravený, je čas nainstalovat GitLab. Existuje několik způsobů, jak nainstalovat GitLab, jako je použití balíčku Omnibus nebo kompilace ze zdroje. Tento tutoriál se však zaměřuje na instalaci GitLab pomocí úložiště GitLab od jeho vývojáře.

GitLab přichází ve dvou distribucích:

  • GitLab Community Edition (CE) – pro uživatele, kteří preferují open source, komunitou podporovanou verzi GitLab.
  • GitLab Enterprise Edition (EE) – pro uživatele, kteří potřebují další funkce, které GitLab Enterprise Edition poskytuje.

Ale toto demo používá Community Edition k testování aplikace ve vašem vývojářském prostředí.

1. Otevřete svůj terminál a spusťte apt update níže, abyste zajistili, že váš systém bude mít přístup ke všem nejnovějším aktualizacím softwaru.

apt update příkaz aktualizuje indexové soubory balíků používané apt nástroj pro získání informací o dostupných balíčcích.

sudo apt update -y

2. Dále spusťte apt install příkaz níže ke stažení (curl ) a install následující požadované závislosti pro vaši instalaci GitLab:

  • openssh-server balíček – Obsahuje démona serveru OpenSSH a související nástroje, jako je nástroj pro správu klíčů hostitele a server, které uživatelům poskytují přístup ke vzdálenému přihlášení.
  • ca-certificates balíček – Obsahuje seznam certifikátů CA. Tento balíček poskytuje potřebné soubory k aktivaci podpory HTTPS na vašem serveru.
sudo apt install curl openssh-server ca-certificates -y

3. Spusťte curl příkaz níže ke stažení (curl ) instalační skript z GitLab ( https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce ). Příkaz poté uloží instalační skript jako skript shellu (script.deb.sh ) a spustí jej jako superuživatel (sudo bash ).

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

Jakmile curl příkaz dokončí, získáte následující výstup.

4. Spusťte apt-cache níže, abyste ověřili, že jste úspěšně přidali úložiště GitLab.

apt-cache policy docker-ce

5. Nyní znovu spusťte apt update příkaz k aktualizaci seznamu dostupných balíčků. Tento příkaz zajistí, že váš systém bude při instalaci GitLab používat nově přidané úložiště GitLab.

sudo apt update -y

6. Nakonec spusťte apt install příkaz níže k instalaci GitLab (gitlab-ce ) ve vašem systému.

sudo apt install gitlab-ce -y

Instalace bude chvíli trvat, ale po dokončení instalace uvidíte následující výstup. Tento výstup potvrzuje, že jste nyní úspěšně nainstalovali GitLab na váš systém.

Konfigurace instalace GitLab

Nyní máte na svém systému nainstalovaný GitLab, ale před použitím GitLabu budete muset provést několik změn v konfiguraci. Konfigurační soubor GitLab (/etc/gitlab/gitlab.rb ) obsahuje globální nastavení pro GitLab, která nejsou specifická pro prostředí vašeho GitLab serveru.

Upravíte konfigurační soubor GitLab tak, aby nastavil název vaší domény FQDN a zabezpečené připojení k vaší doméně.

1. Otevřete /etc/gitlab/gitlab.rb konfiguračního souboru ve vašem oblíbeném textovém editoru.

Jednou z nejdůležitějších položek v konfiguračním souboru GitLab je externí url směrnice, jak je uvedeno níže. Tato direktiva umožňuje uživatelům přistupovat ke GitLabu prostřednictvím webového prohlížeče.

Změňte externí adresu URL hodnotu směrnice z http://gitlab.example.com na https://gitlab.yourdomain.com , kde vasedomena.com je název vaší domény FQDN.

2. Dále přejděte na integraci Let’s Encrypt v dolní části a nakonfigurujte direktivy takto:

  • Odkomentujte letsencrypt['enable'] odstraněním předchozího # a změňte hodnotu z nil na true . Tato direktiva říká GitLabu, aby automaticky nakonfiguroval HTTPS na vašem serveru.
  • Odkomentujte letsencrypt['contact_emails'] odstraněním předchozího # a jako hodnotu zadejte svou e-mailovou adresu. Let’s Encrypt použije tuto e-mailovou adresu, aby vás kontaktovala, když budete potřebovat obnovit váš certifikát SSL (každých 90 dní).
  • Uložte změny a ukončete editor.

3. Nakonec spusťte níže uvedený příkaz na reconfigure a aplikujte změny v /etc/gitlab/gitlab.rb konfiguračního souboru do GitLabu.

sudo gitlab-ctl reconfigure

Konfigurace brány firewall pro připojení SSL

Nyní, když jste nakonfigurovali GitLab, budete muset nakonfigurovat pravidla brány firewall tak, aby umožňovala SSL a zabezpečená připojení k vašemu serveru. Uncomplicated Firewall (UFW) je výchozí program pro správu pravidel brány firewall v Ubuntu.

Pokud umístíte svůj server za firewall, budete muset otevřít HTTP port 80 a HTTPS port 443 pro připojení SSL.

Spuštěním následujícího příkazu otevřete OpenSSH , HTTP a HTTPS porty pro váš server GitLab.

sudo ufw allow OpenSSH && sudo ufw allow http && sudo ufw allow http

Nyní spusťte následující příkaz a zkontrolujte stav vaší brány firewall.

sudo ufw status 

Zabezpečení GitLab prostřednictvím webového rozhraní

Váš firewall je aktivní, ale znamená to, že je váš GitLab zabezpečený? Přidávání vrstev zabezpečení není nikdy příliš mnoho. Svou instalaci GitLab tedy dále zabezpečíte prostřednictvím webového rozhraní.

1. Otevřete svůj oblíbený webový prohlížeč a přejděte na svůj server GitLab. Například http://gitlab.example.com , kde example.com je název vaší domény FQDN.

Pro lepší zabezpečení si při přístupu k serveru GitLab vyberte Chrome nebo Firefox. Tyto webové prohlížeče používají své vlastní protokoly HTTP/HTTPS, které pomáhají prosazovat zásady zabezpečení.

Níže vidíte přihlašovací stránku GitLab.

2. Dále klikněte na ikonu visacího zámku (vlevo nahoře) vedle adresního řádku a uvidíte stav připojení. Tato ukázka ukazuje Připojení je zabezpečené , což znamená, že vaše připojení k serveru je přes HTTPS.

Vraťte se do terminálu a spusťte cat příkazem níže získáte initial_root_password .

Ve výchozím nastavení je instalace GitLab dodávána s automaticky generovaným počátečním heslem uživatele root.

 cat /etc/gitlab/initial_root_password

Zkopírujte a uložte své počáteční heslo uživatele root na bezpečné místo. Toto heslo použijete pro přihlášení do GitLabu (krok čtyři).

4. Vraťte se do webového prohlížeče a zadejte root jako uživatelské jméno a jako heslo zadejte své počáteční heslo uživatele root. Klikněte na Přihlásit se pro přihlášení na váš server GitLab.

Po přihlášení na váš server GitLab se váš prohlížeč přesměruje na řídicí panel GitLab, jak je znázorněno níže.

Přidání klíče SSH do účtu GitLab

Kromě webového rozhraní můžete do GitLabu přistupovat také prostřednictvím prostředí příkazového řádku bezpečným způsobem. Jak? Nejprve budete muset do svého účtu přidat klíč SSH, abyste měli přístup ke GitLabu spuštěním příkazu na svém terminálu, aniž byste museli zadávat heslo.

1. Spusťte ssh-keygen příkaz ke generování páru klíčů SSH vhodného pro použití v připojeních SSH. Po zobrazení výzvy stiskněte klávesu Enter, abyste zachovali výchozí umístění pro uložení klíče SSH (/root/.ssh/id_rsa ) a nepřidávejte přístupové heslo.

ssh-keygen

2. Spusťte cat níže uvedeným příkazem vytiskněte svůj veřejný klíč na obrazovku, jak je znázorněno níže. Zkopírujte celý řetězec veřejného klíče ssh-rsa a uložte jej na bezpečné místo. Tento veřejný klíč přidáte do svého GitLabu později (krok tři).

 cat ~/.ssh/id_rsa.pub

3. Vraťte se na řídicí panel GitLab ve svém prohlížeči a přidejte svůj veřejný klíč pomocí následujícího:

  • Klikněte na Klíče SSH nabídce na levém panelu Uživatelských nastavení pro přístup ke Klíčům SSH stránku.
  • Vložte veřejný klíč, který jste zkopírovali (krok dva), do Klíče pole, jak je uvedeno níže
  • V Titulu zadejte preferovaný název klíče pole. Ale pro toto demo je název nastaven jako ATAGitHub.
  • Klikněte na Přidat klíč dokončení přidávání veřejného klíče do vašeho účtu.

Deaktivace veřejných registrací

Pro další zabezpečení můžete zakázat veřejné registrace na GitLab. Proč? Funkce veřejných registrací v GitLab umožňuje komukoli vytvořit účet na serveru GitLab. Vypnutí této funkce vám umožní vyhnout se útokům hrubou silou na váš server.

1. Na hlavním panelu GitLab klikněte na Nabídka —> Správce otevřete panel správce a poté klikněte na Nastavení pro přístup k Obecné na panelu administrátora stránku nastavení (krok dva).

2. Vypněte možnost Registrace povolena možnost v části Omezení registrace sekce. Tím deaktivujete funkci veřejných registrací GitLab.

3. Přejděte dolů a klikněte na Uložit změny (dole) pro uložení změn provedených v nastavení omezení registrace.

4. Nakonec se odhlaste ze svého účtu a přejděte na přihlašovací obrazovku GitLab.

Jak vidíte níže, Zaregistrovat se odkaz je pryč.

Testování vašeho serveru GitLab

V tuto chvíli jste již nakonfigurovali a zabezpečili svůj server GitLab, a to je skvělé! Jak ale víte, že váš server GitLab skutečně funguje? Svůj server otestujete vytvořením projektu GitLab prostřednictvím řídicího panelu GitLab a naklonováním projektu na váš server.

1. Na řídicím panelu GitLab klikněte na znaménko plus (+) ikonu vedle vyhledávacího pole a poté klikněte na Nový projekt , jak je znázorněno níže, k vytvoření nového projektu GitLab.

2. Dále zadejte preferovaný Projekt jméno , ale pro tuto ukázku je název projektu nastaven na ATA GitLab a Projektový slimák je nastaveno na (atagitlab ).

Klikněte na Vytvořit projekt vytvořit svůj nový projekt.

3. Vraťte se do svého terminálu a spusťte následující příkazy pro nastavení globálního uživatelského jména (--global user.name ) a e-mail (--global user.email ) pro Git. Každé uživatelské jméno a e-mail jsou globálně jedinečné napříč všemi účty na serveru GitLab.

git config --global user.name "ATA"
git config --global user.email "[email protected]"

4. Nyní spusťte git clone příkaz níže pro klonování projektu ATA GitLab, který jste vytvořili (krok dva), do vašeho aktuálního adresáře. Nahraďte yourdomain.com s vaším FQDN.

git clone http://gitlab.yourdomain.com/root/ATA-GitLab.git

Pokud vše půjde dobře, uvidíte výstup podobný tomu níže. Po dokončení klonování budete mít nový adresář s názvem ATA-GitLab .

5. Nakonec spusťte ls příkaz k ověření, zda adresář ATA-GitLab existuje.

ls

Protože můžete klonovat nový projekt ATA GitLab a že adresář ATA GitLab existuje, výstup níže potvrzuje, že váš server GitLab funguje správně.

Závěr

V tomto tutoriálu jste se naučili, jak provést bezpečnou instalaci GitLab na vašem systému Ubuntu Linux. Ujistili jste se, že svůj server GitLab zajistíte prostřednictvím webového rozhraní, přidáte klíče SSH do svého účtu GitLab a otestujete, zda váš server GitLab funguje.

S těmito nově získanými znalostmi byste se možná chtěli naučit, jak nastavit automatizované systémy kontinuální integrace (CI) pomocí GitLab?


Linux
  1. Jak nainstalovat Dig na Windows

  2. Jak nainstalovat GitLab v Ubuntu 20.04

  3. Jak nainstalovat Locate na server Fedory

  1. Jak nainstalovat Gitlab na CentOS 8

  2. Jak nainstalovat a používat příkaz fd v Linuxu

  3. Jak nainstalovat gitlab na ubuntu 20.04

  1. Jak nainstalovat Gitlab na Debian 8

  2. Jak nainstalovat Gitlab na Debian 11

  3. Jak nainstalovat Gitlab na Centos 7