Előfeltételek
1. lépés: Végezze el az alapvető feladatokat a GitLab CE üzemeltetéséhez
2. lépés: Telepítse a szükséges függőségeket
3. lépés: Állítsa be a GitLab APT repót, majd telepítse a GitLab CE-t
4. lépés: Engedélyezze a HTTPS-hozzáférést egy Let's Encrypt SSL-tanúsítvány integrálásával
Amióta a GitHubot a Microsoft felvásárolta, jó néhány fejlesztő tervezte, hogy saját kódtárát migrálja a github.com webhelyről egy alternatív, saját üzemeltetésű megoldásra. A GitLab Community Edition (CE) a leggyakoribb választás.
Kifinomult és rugalmas megoldásként a GitLab CE többféle módszerrel is telepíthető, de itt csak a hivatalosan ajánlott módszerrel, az Omnibus csomag telepítésével foglalkozunk.
Előfeltételek
- Friss Vultr Debian 9 x64 szerverpéldány legalább 4 GB memóriával. 8 GB vagy több ajánlott akár 100 felhasználó kiszolgálásához. Tegyük fel, hogy az IPv4-címe
203.0.113.1.
- Egy sudo felhasználó .
- Egy tartomány
gitlab.example.coma fent említett példányra mutat.
Megjegyzés: Amikor saját kiszolgálópéldányán telepíti a telepítést, ügyeljen arra, hogy az összes példaértéket tényleges értékre cserélje.
Indítson el egy SSH terminált, és jelentkezzen be a Debian 9 x64 szerverpéldányba sudo felhasználóként.
Adjon hozzá egy swap partíciót, és módosítsa a cserepartíciót
Ha a GitLab CE 11.x-et 4 GB memóriával rendelkező gépen telepíti, a zökkenőmentes működés érdekében be kell állítani egy 4 GB-os swap partíciót.
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
Megjegyzés: Ha más szerverméretet használ, a swap partíció mérete változhat.
A rendszer teljesítménye érdekében ajánlatos a kernel cserebeállítását alacsony értékre konfigurálni, például 10:
echo 'vm.swappiness=10' | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
cat /proc/sys/vm/swappiness
A catparancs kimenete a következő lesz 10.
Állítsa be a gép gazdagépnevét és teljesen minősített tartománynevét (FQDN)
A következő parancsokkal állítson be egy gazdagépnevet gitlab, és egy FQDN-t, gitlab.example.coma géphez:
sudo hostnamectl set-hostname gitlab
sudo sed -i "1 i\203.0.113.1 gitlab.example.com gitlab" /etc/hosts
Megerősítheti az eredményeket:
hostname
hostname -f
Tűzfalszabályok beállítása
Állítson be ésszerű tűzfalszabályokat egy webhely futtatásához:
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
A fenti beállítások azonnal érvénybe lépnek. A következő paranccsal listázhatja őket felülvizsgálatra:
sudo iptables -L -n
Az iptable-persistenteszközzel mentheti az összes létező iptables-szabályt egy fájlba /etc/iptables/rules.v4, így az összes iptables-szabály állandó marad:
sudo apt install -y iptables-persistent
A telepítés során a rendszer megkérdezi, hogy kívánja-e menteni az aktuális IPv4/IPv6 szabályokat. Nyomja meg ENTERkétszer az aktuális IPv4- és IPv6-szabályok mentéséhez a /etc/iptables/rules.v4és /etc/iptables/rules.v6.
Ha később megpróbálja frissíteni az IPv4-szabályokat, a frissítés mentéséhez használja a következőket:
sudo bash -c 'iptables-save > /etc/iptables/rules.v4'
Frissítse a rendszert
sudo apt update
sudo apt upgrade -y && sudo shutdown -r now
Amikor a rendszer újra működik, jelentkezzen be ugyanazzal a sudo felhasználóval a továbblépéshez.
2. lépés: Telepítse a szükséges függőségeket
A GitLab CE telepítése előtt telepítenie kell a szükséges függőségeket:
sudo apt install -y curl openssh-server ca-certificates
Továbbá, ha a Postfixet szeretné használni értesítő üzenetek küldésére, telepítenie kell a Postfixet:
sudo apt install -y postfix
A telepítés során egy konfigurációs képernyő jelenhet meg:
- Nyomja TABmeg a
<OK>gombot a gomb kijelöléséhez az első képernyőn, majd nyomja meg a gombot ENTER.
- Válassza ki
Internet Siteés nyomja meg a gombot ENTER.
- A
mail namemezőbe írja be a kiszolgáló FQDN-jét gitlab.example.com, és nyomja meg a gombot ENTER.
- Ha más képernyők jelennek meg, nyomja meg ENTERa gombot az alapértelmezett beállítások elfogadásához.
Indítsa el és engedélyezze a Postfix szolgáltatást:
sudo systemctl enable postfix.service
sudo systemctl start postfix.service
Módosítsa a Postfix tűzfalszabályait:
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'
A Postfix telepítése után konfigurálnia kell a Postfixet a fő konfigurációs fájl szerkesztésével /etc/postfix/main.cfa tényleges szerverbeállításoknak megfelelően.
Megjegyzés: A fenti utasítások mellett támogatási jegyet kell benyújtania a Vultr alapértelmezett blokkjának törléséhez a 25-ös SMTP-porton.
Alternatív megoldásként, ha másik üzenetkezelési megoldást szeretne használni, egyszerűen hagyja ki a Postfix telepítését, és válassza a külső SMTP-kiszolgáló használatát a GitLab CE telepítése után.
3. lépés: Állítsa be a GitLab APT repót, majd telepítse a GitLab CE-t
Állítsa be a GitLab CE APT tárolót a rendszeren:
cd
curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
Ezután telepítse a GitLab CE 11.x-et:
sudo EXTERNAL_URL="http://gitlab.example.com" apt install -y gitlab-ce
A telepítés eltarthat egy ideig.
Végül mutasson kedvenc webböngészőjére a címre http://gitlab.example.com, majd adjon meg egy új jelszót a telepítés befejezéséhez.
Mostantól az alábbi hitelesítő adatokkal jelentkezzen be rendszergazdaként:
- Felhasználónév:
root
- Jelszó:
<your-new-password>
4. lépés: Engedélyezze a HTTPS-hozzáférést egy Let's Encrypt SSL-tanúsítvány integrálásával
Egyelőre sikeresen telepítette a GitLab CE 11.x-et a szerverpéldányára, és a felhasználók már a HTTP protokoll használatával is felkereshetik az oldalt. Biztonsági okokból javasoljuk, hogy engedélyezze a HTTPS-hozzáférést a GitLab-kiszolgálóhoz egy Let's Encrypt SSL-tanúsítvány integrálásával.
A viszerkesztővel nyissa meg a GitLab CE konfigurációs fájlt:
sudo vi /etc/gitlab/gitlab.rb
Keresse meg a következő két sort:
external_url 'http://gitlab.example.com'
# letsencrypt['contact_emails'] = [] # This should be an array of email addresses to add as contacts
Cserélje ki őket ennek megfelelően:
external_url 'https://gitlab.example.com'
letsencrypt['contact_emails'] = ['admin@example.com']
Mentés és kilépés:
:wq!
A GitLab CE újrakonfigurálása frissített beállításokkal:
sudo gitlab-ctl reconfigure
Az újrakonfigurálás eltarthat egy ideig.
Az újrakonfigurálás után minden felhasználó kénytelen lesz a HTTPS protokollt használni a GitLab webhely elérésekor.
Megjegyzés: Miután HTTP-ről HTTPS-re váltott, a régi cookie-k GitLab 422-es hibát okozhatnak. A cookie-k törlése megoldja ezt a problémát.