Preduvjeti
Korak 1: Izvršite osnovne zadatke za hosting GitLab CE
Korak 2: Instalirajte potrebne ovisnosti
Korak 3: Postavite GitLab RPM 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 CentOS 7 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 CentOS 7 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
cat <<EOF | sudo tee /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
203.0.113.1 gitlab.example.com gitlab
EOF
Rezultate možete potvrditi:
hostname
hostname -f
Izmijenite pravila vatrozida
Dopusti ulazni HTTP i HTTPS promet:
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo systemctl reload firewalld.service
Instalirajte EPEL YUM repo, a zatim ažurirajte sustav
sudo yum install -y epel-release
sudo yum -y update && sudo shutdown -r now
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 yum install -y curl policycoreutils-python openssh-server openssh-clients
Također, ako želite koristiti Postfix za slanje poruka obavijesti, morate instalirati Postfix i izmijeniti pravila vatrozida na sljedeći način:
sudo yum install -y postfix
sudo systemctl enable postfix.service
sudo systemctl start postfix.service
sudo firewall-cmd --permanent --add-service=smtp
sudo firewall-cmd --permanent --add-service=pop3
sudo firewall-cmd --permanent --add-service=imap
sudo firewall-cmd --permanent --add-service=smtps
sudo firewall-cmd --permanent --add-service=pop3s
sudo firewall-cmd --permanent --add-service=imaps
sudo firewall-cmd --reload
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 RPM repo i zatim instalirajte GitLab CE
Postavite GitLab CE RPM spremište na vašem sustavu:
cd
curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
Zatim instalirajte GitLab CE 11.x:
sudo EXTERNAL_URL="http://gitlab.example.com" yum 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!
Pokrenite sljedeću naredbu da ponovno konfigurirate GitLab CE pomoću ažuriranih postavki:
sudo gitlab-ctl reconfigure
Rekonfiguracija će potrajati.
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.