Jak nainstalovat GitLab Community Edition (CE) 11.x na Debian 9

Od té doby, co GitHub získal Microsoft, nemálo vývojářů plánovalo migrovat svá vlastní úložiště kódu z github.com na alternativní řešení s vlastním hostitelem. Nejběžnější volbou je GitLab Community Edition (CE).

Jako sofistikované a flexibilní řešení lze GitLab CE nasadit pomocí různých metod, ale zde bude popsána pouze oficiálně doporučená metoda, instalace balíčku Omnibus.

Předpoklady

  • Čerstvá instance serveru Vultr Debian 9 x64 s alespoň 4 GB paměti. Pro obsluhu až 100 uživatelů se doporučuje 8 GB nebo více. Řekněme, že jeho adresa IPv4 je 203.0.113.1.
  • Uživatel sudo .
  • Doména gitlab.example.comsměřující k výše uvedené instanci.

Poznámka: Při nasazení na vlastní instanci serveru nezapomeňte nahradit všechny vzorové hodnoty skutečnými.

Krok 1: Proveďte základní úkoly pro hostování GitLab CE

Spusťte SSH terminál a přihlaste se k instanci serveru Debian 9 x64 jako uživatel sudo.

Přidejte swapovací oddíl a upravte nastavení swappiness

Při nasazování GitLab CE 11.x na stroji se 4 GB paměti je nutné nastavit 4GB odkládací oddíl pro hladký chod.

sudo dd if=/dev/zero of=/swapfile count=4096 bs=1M
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
echo '/swapfile   none    swap    sw    0   0' | sudo tee -a /etc/fstab
free -m

Poznámka: Pokud používáte jinou velikost serveru, může se velikost odkládacího oddílu lišit.

Pro účely výkonu systému se doporučuje nakonfigurovat nastavení swappiness jádra na nízkou hodnotu, jako je 10:

echo 'vm.swappiness=10' | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
cat /proc/sys/vm/swappiness

Výstupem catpříkazu bude 10.

Nastavte název hostitele počítače a plně kvalifikovaný název domény (FQDN)

K nastavení názvu hostitele gitlaba FQDN gitlab.example.compro počítač použijte následující příkazy :

sudo hostnamectl set-hostname gitlab
sudo sed -i "1 i\203.0.113.1 gitlab.example.com gitlab" /etc/hosts

Výsledky můžete potvrdit:

hostname
hostname -f

Nastavení pravidel brány firewall

Nastavte přiměřená pravidla brány firewall pro provoz webu:

sudo iptables -F
sudo iptables -X
sudo iptables -Z
sudo iptables -A INPUT -s $(echo $(w -h ${USER}) | cut -d " " -f3) -p tcp --dport 22 -j ACCEPT
sudo iptables -A INPUT -i lo -j ACCEPT
sudo iptables -A INPUT -d 127.0.0.0/8 -j REJECT
sudo iptables -A INPUT -p tcp ! --syn -m state --state NEW -j DROP
sudo iptables -A INPUT -p tcp --tcp-flags ALL NONE -j DROP
sudo iptables -A INPUT -p tcp --tcp-flags ALL ALL -j DROP
sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
sudo iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT
sudo iptables -P INPUT DROP
sudo iptables -P OUTPUT ACCEPT
sudo iptables -P FORWARD DROP

Všechna výše uvedená nastavení se projeví okamžitě. K jejich zobrazení ke kontrole použijte následující příkaz:

sudo iptables -L -n

Použijte tento iptable-persistentnástroj k uložení všech existujících pravidel iptables do souboru /etc/iptables/rules.v4, aby všechna pravidla iptables trvala:

sudo apt install -y iptables-persistent

Během instalace budete dotázáni, zda chcete uložit aktuální pravidla IPv4/IPv6. Dvojím ENTERstisknutím uložíte aktuální pravidla IPv4 i IPv6 do /etc/iptables/rules.v4a /etc/iptables/rules.v6.

Pokud se pokusíte aktualizovat pravidla IPv4 později, uložte aktualizaci pomocí následujícího:

sudo bash -c 'iptables-save > /etc/iptables/rules.v4'

Aktualizujte systém

sudo apt update
sudo apt upgrade -y && sudo shutdown -r now

Až bude systém znovu spuštěn, přihlaste se jako stejný uživatel sudo, abyste mohli pokračovat.

Krok 2: Nainstalujte požadované závislosti

Před instalací GitLab CE je třeba nainstalovat požadované závislosti:

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

Také, pokud chcete používat Postfix k odesílání zpráv s upozorněním, musíte nainstalovat Postfix:

sudo apt install -y postfix

Během instalace se může zobrazit konfigurační obrazovka:

  1. Stisknutím TABzvýrazněte <OK>tlačítko na první obrazovce a poté stiskněte ENTER.
  2. Vyberte Internet Sitea stiskněte ENTER.
  3. Do mail namepole zadejte FQDN vašeho serveru gitlab.example.coma stiskněte ENTER.
  4. Pokud se objeví další obrazovky, stiskněte ENTERpro potvrzení výchozího nastavení.

Spusťte a povolte službu Postfix:

sudo systemctl enable postfix.service
sudo systemctl start postfix.service

Upravte pravidla brány firewall pro Postfix:

sudo iptables -A INPUT -i eth0 -p tcp --dport 25 -m state --state NEW,ESTABLISHED -j ACCEPT
sudo iptables -A INPUT -i eth0 -p tcp --dport 143 -m state --state NEW,ESTABLISHED -j ACCEPT
sudo iptables -A INPUT -i eth0 -p tcp --dport 993 -m state --state NEW,ESTABLISHED -j ACCEPT
sudo iptables -A INPUT -i eth0 -p tcp --dport 110 -m state --state NEW,ESTABLISHED -j ACCEPT
sudo iptables -A INPUT -i eth0 -p tcp --dport 995 -m state --state NEW,ESTABLISHED -j ACCEPT
sudo bash -c 'iptables-save > /etc/iptables/rules.v4'

Po instalaci Postfixu musíte Postfix nakonfigurovat úpravou jeho hlavního konfiguračního souboru /etc/postfix/main.cfv souladu s vaším skutečným nastavením serveru.

Poznámka: Kromě výše uvedených pokynů musíte odeslat lístek podpory, abyste zrušili výchozí blokování Vultr na portu SMTP 25.

Případně, pokud chcete použít jiné řešení pro zasílání zpráv, stačí přeskočit instalaci Postfixu a po instalaci GitLab CE zvolit použití externího SMTP serveru.

Krok 3: Nastavte repozitář GitLab APT a poté nainstalujte GitLab CE

Nastavte úložiště GitLab CE APT na vašem systému:

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

Dále nainstalujte GitLab CE 11.x:

sudo EXTERNAL_URL="http://gitlab.example.com" apt install -y gitlab-ce

Instalace může chvíli trvat.

Nakonec nasměrujte svůj oblíbený webový prohlížeč na http://gitlab.example.coma poté po zobrazení výzvy k dokončení instalace odešlete nové heslo.

Od nynějška k přihlášení jako správce použijte níže uvedené přihlašovací údaje:

  • uživatelské jméno: root
  • Heslo: <your-new-password>

Krok 4: Povolte přístup HTTPS integrací certifikátu Let's Encrypt SSL

Prozatím jste úspěšně nainstalovali GitLab CE 11.x na svou instanci serveru a uživatelé již mohou stránky navštěvovat pomocí protokolu HTTP. Z bezpečnostních důvodů se doporučuje povolit přístup HTTPS na váš server GitLab integrací certifikátu Let's Encrypt SSL.

Pomocí vieditoru otevřete konfigurační soubor GitLab CE:

sudo vi /etc/gitlab/gitlab.rb

Najděte následující dva řádky:

external_url 'http://gitlab.example.com'
# letsencrypt['contact_emails'] = [] # This should be an array of email addresses to add as contacts

Vyměňte je podle toho:

external_url 'https://gitlab.example.com'
letsencrypt['contact_emails'] = ['admin@example.com']

Uložit a ukončit:

:wq!

Překonfigurujte GitLab CE pomocí aktualizovaných nastavení:

sudo gitlab-ctl reconfigure

Rekonfigurace může chvíli trvat.

Po dokončení rekonfigurace budou všichni uživatelé nuceni při přístupu na stránky GitLab používat protokol HTTPS.

Poznámka: Po přepnutí z HTTP na HTTPS mohou starší soubory cookie způsobit chybu GitLab 422. Tento problém řeší vymazání souborů cookie.

Zanechat komentář

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Umělá inteligence není v budoucnosti, je zde přímo v současnosti V tomto blogu si přečtěte, jak aplikace umělé inteligence ovlivnily různé sektory.

Útoky DDOS: Stručný přehled

Útoky DDOS: Stručný přehled

Jste také obětí DDOS útoků a nemáte jasno v metodách prevence? Chcete-li vyřešit své dotazy, přečtěte si tento článek.

Přemýšleli jste někdy, jak hackeři vydělávají peníze?

Přemýšleli jste někdy, jak hackeři vydělávají peníze?

Možná jste slyšeli, že hackeři vydělávají spoustu peněz, ale napadlo vás někdy, jak takové peníze vydělávají? Pojďme diskutovat.

Revoluční vynálezy od Googlu, které vám usnadní život.

Revoluční vynálezy od Googlu, které vám usnadní život.

Chcete vidět revoluční vynálezy Google a jak tyto vynálezy změnily život každého dnešního člověka? Pak si přečtěte na blogu a podívejte se na vynálezy od Googlu.

Friday Essential: Co se stalo s auty řízenými umělou inteligencí?

Friday Essential: Co se stalo s auty řízenými umělou inteligencí?

Koncept aut s vlastním pohonem, která vyrazí na silnice s pomocí umělé inteligence, je snem, který už nějakou dobu máme. Ale přes několik slibů nejsou nikde vidět. Přečtěte si tento blog a dozvíte se více…

Technologická singularita: vzdálená budoucnost lidské civilizace?

Technologická singularita: vzdálená budoucnost lidské civilizace?

Jak se věda vyvíjí rychlým tempem a přebírá mnoho našeho úsilí, stoupá také riziko, že se vystavíme nevysvětlitelné singularitě. Přečtěte si, co pro nás může znamenat singularita.

Funkcionality vrstev referenční architektury velkých dat

Funkcionality vrstev referenční architektury velkých dat

Přečtěte si blog, abyste co nejjednodušším způsobem poznali různé vrstvy v architektuře velkých dat a jejich funkce.

Evoluce ukládání dat – Infografika

Evoluce ukládání dat – Infografika

Způsoby ukládání dat se mohou vyvíjet od narození dat. Tento blog se zabývá vývojem ukládání dat na základě infografiky.

6 úžasných výhod toho, že máme v životě zařízení pro chytrou domácnost

6 úžasných výhod toho, že máme v životě zařízení pro chytrou domácnost

V tomto digitálním světě se chytrá domácí zařízení stala klíčovou součástí života. Zde je několik úžasných výhod chytrých domácích zařízení o tom, jak náš život stojí za to žít a zjednodušit jej.

Aktualizace doplňku macOS Catalina 10.15.4 způsobuje více problémů než řešení

Aktualizace doplňku macOS Catalina 10.15.4 způsobuje více problémů než řešení

Apple nedávno vydal doplňkovou aktualizaci macOS Catalina 10.15.4, která opravuje problémy, ale zdá se, že aktualizace způsobuje další problémy, které vedou k zablokování počítačů mac. Přečtěte si tento článek a dozvíte se více