Preduvjeti
Korak 1: Izvršite osnovne zadatke za hosting GitLab CE
Korak 2: Instalirajte potrebne ovisnosti
Korak 3: Postavite GitLab APT repo i zatim instalirajte GitLab CE
Korak 4: Omogućite HTTPS pristup integracijom Let's Encrypt SSL certifikata
Otkako je Microsoft kupio GitHub, dosta programera planiralo je premjestiti vlastita spremišta koda s github.com na alternativno rješenje s vlastitim hostingom. GitLab Community Edition (CE) je najčešći izbor.
Kao sofisticirano i fleksibilno rješenje, GitLab CE se može implementirati raznim metodama, ali ovdje će biti pokrivena samo službeno preporučena metoda, instalacija Omnibus paketa.
Preduvjeti
- Svježa instanca poslužitelja Vultr Ubuntu 18.04 LTS x64 s najmanje 4 GB memorije. 8 GB ili više preporučuje se za opsluživanje do 100 korisnika. Recimo da je njegova IPv4 adresa
203.0.113.1.
- Korisnik sudoa .
- Domena
gitlab.example.comje usmjerena na gore spomenutu instancu.
Napomena: Prilikom postavljanja na vlastitu instancu poslužitelja, svakako zamijenite sve primjere vrijednosti stvarnim.
Pokrenite SSH terminal i prijavite se na svoju instancu poslužitelja Ubuntu 18.04 LTS x64 kao sudo korisnik.
Dodajte zamjensku particiju i prilagodite postavku zamjene
Prilikom implementacije GitLab CE 11.x na stroju s 4 GB memorije, potrebno je postaviti swap particiju od 4 GB za nesmetan rad:
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
Napomena: Ako koristite drugu veličinu poslužitelja, veličina swap particije može varirati.
Za potrebe performansi sustava, preporuča se konfigurirati postavku zamjene kernela na nisku vrijednost kao što je 10:
echo 'vm.swappiness=10' | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
cat /proc/sys/vm/swappiness
Izlaz catnaredbe će biti 10.
Postavite ime računala i potpuno kvalificirani naziv domene (FQDN)
Koristite sljedeće naredbe za postavljanje imena hosta gitlab, i FQDN, gitlab.example.com, za stroj:
sudo hostnamectl set-hostname gitlab
sudo sed -i "1 i\203.0.113.1 gitlab.example.com gitlab" /etc/hosts
Rezultate možete potvrditi:
hostname
hostname -f
Izmijenite pravila vatrozida
Dopusti ulazni SSH, HTTP i HTTPS promet
sudo ufw allow OpenSSH
sudo ufw allow http
sudo ufw allow https
sudo ufw enable
Ažurirajte sustav
sudo apt update
sudo apt upgrade -y && sudo shutdown -r now
Tijekom nadogradnje možete biti obaviješteni da je trenutno instalirana verzija konfiguracijske datoteke grub lokalno izmijenjena. Budući da zapravo nismo odgovorni za izmjene, UPstrelicom označite install the package maintainer's versionopciju, a zatim pritisnite ENTER.
Kada se sustav ponovno pokrene, prijavite se ponovo kao isti sudo korisnik da biste nastavili dalje.
Korak 2: Instalirajte potrebne ovisnosti
Prije instaliranja GitLab CE, morate instalirati potrebne ovisnosti:
sudo apt install -y curl openssh-server ca-certificates
Također, ako želite koristiti Postfix za slanje poruka obavijesti, morate instalirati Postfix:
sudo apt install -y postfix
Tijekom instalacije može se pojaviti zaslon za konfiguraciju:
- Pritisnite TABda biste označili
<OK>gumb na prvom zaslonu, a zatim pritisnite ENTER.
- Odaberite
Internet Sitei pritisnite ENTER.
- Za
mail namepolje unesite FQDN vašeg poslužitelja gitlab.example.comi pritisnite ENTER.
- Ako se pojave drugi zasloni, pritisnite ENTERza prihvaćanje zadanih postavki.
Pokrenite i omogućite uslugu Postfix:
sudo systemctl enable postfix.service
sudo systemctl start postfix.service
Izmijenite pravila vatrozida za Postfix:
sudo ufw allow Postfix
sudo ufw allow 'Postfix SMTPS'
sudo ufw allow 'Postfix Submission'
Nakon što je Postfix instaliran, morate konfigurirati Postfix uređujući njegovu glavnu konfiguracijsku datoteku /etc/postfix/main.cfu skladu sa stvarnim postavkama poslužitelja.
Napomena: Osim gornjih uputa, morate poslati kartu za podršku da poništite Vultrovu zadanu blokadu na SMTP portu 25.
Alternativno, ako želite koristiti drugo rješenje za razmjenu poruka, samo preskočite instalaciju Postfixa i odaberite korištenje vanjskog SMTP poslužitelja nakon što je GitLab CE instaliran.
Korak 3: Postavite GitLab APT repo i zatim instalirajte GitLab CE
Postavite GitLab CE APT spremište na vašem sustavu:
cd
curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
Zatim instalirajte GitLab CE 11.x:
sudo EXTERNAL_URL="http://gitlab.example.com" apt install -y gitlab-ce
Instalacija može potrajati neko vrijeme.
Konačno, usmjerite svoj omiljeni web-preglednik na http://gitlab.example.com, a zatim pošaljite novu lozinku kako se od vas zatraži da završite instalaciju.
Od sada, koristite sljedeće vjerodajnice za prijavu kao administrator:
- Korisničko ime:
root
- Zaporka:
<your-new-password>
Korak 4: Omogućite HTTPS pristup integracijom Let's Encrypt SSL certifikata
Za sada ste uspješno instalirali GitLab CE 11.x na svoju instancu poslužitelja, a korisnici već mogu posjetiti stranicu koristeći HTTP protokol. Iz sigurnosnih razloga, preporučuje se omogućiti HTTPS pristup vašem GitLab poslužitelju integracijom Let's Encrypt SSL certifikata.
Koristite viuređivač za otvaranje GitLab CE konfiguracijske datoteke:
sudo vi /etc/gitlab/gitlab.rb
Pronađite sljedeća dva retka:
external_url 'http://gitlab.example.com'
# letsencrypt['contact_emails'] = [] # This should be an array of email addresses to add as contacts
Zamijenite ih u skladu s tim:
external_url 'https://gitlab.example.com'
letsencrypt['contact_emails'] = ['admin@example.com']
Spremi i zatvori:
:wq!
Ponovno konfigurirajte GitLab CE koristeći ažurirane postavke:
sudo gitlab-ctl reconfigure
Rekonfiguracija može potrajati neko vrijeme.
Nakon što se rekonfiguracija izvrši, svi će korisnici biti prisiljeni koristiti HTTPS protokol prilikom pristupa GitLab stranici.
Napomena: Nakon prebacivanja s HTTP-a na HTTPS, naslijeđeni kolačići mogu uzrokovati GitLab 422 pogrešku. Brisanje kolačića rješava ovaj problem.