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'] = ['[email protected]']

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.


Jak nastavit bezobslužné upgrady na Debian 9 (Stretch)

Jak nastavit bezobslužné upgrady na Debian 9 (Stretch)

Používáte jiný systém? Pokud si zakoupíte server Debian, měli byste mít vždy nejnovější bezpečnostní záplaty a aktualizace, ať už spíte nebo ne

Nastavte si svůj vlastní DNS server na Debian/Ubuntu

Nastavte si svůj vlastní DNS server na Debian/Ubuntu

Tento tutoriál vysvětluje, jak nastavit DNS server pomocí Bind9 na Debianu nebo Ubuntu. V celém článku nahraďte odpovídajícím způsobem název-vaše-domény.com. Při čt

Zkompilujte a nainstalujte Nginx pomocí modulu PageSpeed ​​na Debian 8

Zkompilujte a nainstalujte Nginx pomocí modulu PageSpeed ​​na Debian 8

V tomto článku uvidíme, jak zkompilovat a nainstalovat hlavní řadu Nginx z oficiálních zdrojů Nginx pomocí modulu PageSpeed, který vám umožňuje

Jak nainstalovat Kanboard na Debian 9

Jak nainstalovat Kanboard na Debian 9

Používáte jiný systém? Úvod Kanboard je bezplatný a otevřený softwarový program pro správu projektů, který je navržen tak, aby usnadnil a vizualizoval

Jak nainstalovat Gitea na Debian 9

Jak nainstalovat Gitea na Debian 9

Používáte jiný systém? Gitea je alternativní open source systém pro správu verzí s vlastním hostitelem poháněný systémem Git. Gitea je napsána v Golangu a je

Nainstalujte Lynis na Debian 8

Nainstalujte Lynis na Debian 8

Úvod Lynis je bezplatný nástroj pro audit systému s otevřeným zdrojovým kódem, který používá mnoho systémových administrátorů k ověření integrity a posílení svých systémů. já

Jak nainstalovat Thelia 2.3 na Debian 9

Jak nainstalovat Thelia 2.3 na Debian 9

Používáte jiný systém? Thelia je open source nástroj pro vytváření webových stránek pro e-business a správu online obsahu napsaného v PHP. Zdrojový kód Thelia i

Vytvoření sítě serverů Minecraft pomocí BungeeCord na Debian 8, Debian 9 nebo CentOS 7

Vytvoření sítě serverů Minecraft pomocí BungeeCord na Debian 8, Debian 9 nebo CentOS 7

Co budete potřebovat Vultr VPS s alespoň 1 GB RAM. Přístup SSH (s oprávněními root/administrátor). Krok 1: Instalace BungeeCord První věci

Jak nainstalovat Golang 1.8.3 na CentOS 7, Ubuntu 16.04 a Debian 9

Jak nainstalovat Golang 1.8.3 na CentOS 7, Ubuntu 16.04 a Debian 9

Golang je programovací jazyk vyvinutý společností Google. Díky své všestrannosti, jednoduchosti a spolehlivosti se Golang stal jedním z nejoblíbenějších

Resetujte kořenové heslo MySQL na Debian/Ubuntu

Resetujte kořenové heslo MySQL na Debian/Ubuntu

Pokud jste zapomněli své kořenové heslo MySQL, můžete ho resetovat podle kroků v tomto článku. Proces je poměrně jednoduchý a funguje na nich

Vytváření síťových sdílení pomocí Samby v Debianu

Vytváření síťových sdílení pomocí Samby v Debianu

Jsou chvíle, kdy potřebujeme sdílet soubory, které musí být viditelné pro klienty Windows. Vzhledem k tomu, že systémy založené na pojistkách fungují pouze na Linuxu, představujeme vás

Nastavení Counter Strike: Source na Debianu

Nastavení Counter Strike: Source na Debianu

V této příručce nastavíme herní server Counter Strike: Source na Debianu 7. Tyto příkazy byly testovány na Debianu 7, ale měly by také fungovat

Jak nainstalovat Unturned 2.2.5 na Debian 8

Jak nainstalovat Unturned 2.2.5 na Debian 8

V této příručce se dozvíte, jak nastavit server Unturned 2.2.5 na Vultr VPS se systémem Debian 8. Poznámka: Toto je upravená verze Unturned, která

Jak nainstalovat Cachet na Debian 8

Jak nainstalovat Cachet na Debian 8

V tomto tutoriálu se naučíte, jak nainstalovat Cachet na Debian 8. Cachet je výkonný open source systém stavových stránek. Instalace Tento tutoriál právě probíhá

Automaticky zálohujte více databází MySQL nebo MariaDB

Automaticky zálohujte více databází MySQL nebo MariaDB

Úvod V tomto zápisu si dobře projděte, jak zálohovat více databází MySQL nebo MariaDB, které sedí na stejném počítači pomocí vlastního bash skriptu.

Nastavení Chrootu v Debianu

Nastavení Chrootu v Debianu

Tento článek vás naučí, jak nastavit chroot jail v Debianu. Předpokládám, že používáte Debian 7.x. Pokud používáte Debian 6 nebo 8, může to fungovat, bu

Jak nainstalovat Reader Self 3.5 RSS Reader na Debian 9 LAMP VPS

Jak nainstalovat Reader Self 3.5 RSS Reader na Debian 9 LAMP VPS

Používáte jiný systém? Reader Self 3.5 je jednoduchá a flexibilní, bezplatná a open source, samostatně hostovaná RSS čtečka a alternativa Google Reader. Čtenář Sel

Jak nainstalovat Backdrop CMS 1.8.0 na Debian 9 LAMP VPS

Jak nainstalovat Backdrop CMS 1.8.0 na Debian 9 LAMP VPS

Používáte jiný systém? Backdrop CMS 1.8.0 je jednoduchý a flexibilní, mobilní, bezplatný a open source systém správy obsahu (CMS), který nám umožňuje

Jak nainstalovat SteamCMD na váš VPS

Jak nainstalovat SteamCMD na váš VPS

V tomto tutoriálu nainstalujeme SteamCMD. SteamCMD lze použít ke stažení a instalaci mnoha herních serverů Steam, jako je Counter-Strike: Global Offensiv

Upgradujte Python na Debian

Upgradujte Python na Debian

Jak možná víte, repozitáře Debianu se aktualizují velmi pomalu. V době psaní tohoto článku jsou verze vydání Pythonu na 2.7.12 a 3.5.2, ale v úložišti Debian 8

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.

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.

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.

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