Forutsetninger
Trinn 1: Utfør grunnleggende oppgaver for å være vert for GitLab CE
Trinn 2: Installer nødvendige avhengigheter
Trinn 3: Sett opp GitLab RPM-repoen og installer deretter GitLab CE
Trinn 4: Aktiver HTTPS-tilgang ved å integrere et Let's Encrypt SSL-sertifikat
Siden GitHub ble kjøpt opp av Microsoft, har ganske mange utviklere planlagt å migrere sine egne kodelagre fra github.com til en alternativ selvhostet løsning. GitLab Community Edition (CE) er det vanligste valget. Som en sofistikert og fleksibel løsning kan GitLab CE distribueres ved hjelp av ulike metoder, men bare den offisielt anbefalte metoden, Omnibus-pakkeinstallasjonen, vil bli dekket her.
Forutsetninger
- En fersk Vultr CentOS 7-serverforekomst med minst 4 GB minne. 8 GB eller mer anbefales for å betjene opptil 100 brukere. Si at IPv4-adressen er
203.0.113.1.
- En sudo-bruker .
- Et domene
gitlab.example.comsom peker mot forekomsten nevnt ovenfor.
Merk: Når du distribuerer på din egen serverforekomst, må du passe på å erstatte alle eksempelverdier med faktiske.
Start en SSH-terminal, og logg på CentOS 7-serverforekomsten din som en sudo-bruker.
Legg til en swap-partisjon og juster swapness-innstillingen
Når du distribuerer GitLab CE 11.x på en maskin med 4 GB minne, er det nødvendig å sette opp en 4 GB byttepartisjon for jevn drift.
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
Merk: Hvis du bruker en annen serverstørrelse, kan størrelsen på swap-partisjonen variere.
For systemytelsesformål, anbefales det å konfigurere kjernens swappiness-innstilling til en lav verdi som 10:
echo 'vm.swappiness=10' | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
cat /proc/sys/vm/swappiness
Utgangen av catkommandoen vil være 10.
Konfigurer maskinens vertsnavn og fullt kvalifiserte domenenavn (FQDN)
Bruk følgende kommandoer for å sette opp et vertsnavn, gitlab, og et FQDN, gitlab.example.com, for maskinen:
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
Du kan bekrefte resultatene:
hostname
hostname -f
Endre brannmurregler
Tillat innkommende HTTP- og HTTPS-trafikk:
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo systemctl reload firewalld.service
Installer EPEL YUM-repoen og oppdater deretter systemet
sudo yum install -y epel-release
sudo yum -y update && sudo shutdown -r now
Når systemet er oppe og går igjen, logger du på igjen som samme sudo-bruker for å gå videre.
Trinn 2: Installer nødvendige avhengigheter
Før du installerer GitLab CE, må du installere nødvendige avhengigheter:
sudo yum install -y curl policycoreutils-python openssh-server openssh-clients
Hvis du vil bruke Postfix til å sende varslingsmeldinger, må du installere Postfix og endre brannmurreglene som følger:
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
Etter å ha installert Postfix, må du konfigurere Postfix ved å redigere hovedkonfigurasjonsfilen /etc/postfix/main.cfi samsvar med dine faktiske serverinnstillinger.
Merk: I tillegg til instruksjonene ovenfor, må du sende inn en støttebillett for å kansellere Vultrs standardblokkering på SMTP-port 25.
Alternativt, hvis du ønsker å bruke en annen meldingsløsning, hopper du over installasjonen av Postfix og velger å bruke en ekstern SMTP-server etter at GitLab CE er installert.
Trinn 3: Sett opp GitLab RPM-repoen og installer deretter GitLab CE
Sett opp GitLab CE RPM-depotet på systemet ditt:
cd
curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
Installer deretter GitLab CE 11.x:
sudo EXTERNAL_URL="http://gitlab.example.com" yum install -y gitlab-ce
Installasjonen kan ta en stund.
Til slutt, pek på favorittnettleseren din http://gitlab.example.com, og send deretter inn et nytt passord når du blir bedt om å fullføre installasjonen.
Fra nå av, bruk legitimasjonen nedenfor for å logge på som administrator:
- Brukernavn:
root
- Passord:
<your-new-password>
Trinn 4: Aktiver HTTPS-tilgang ved å integrere et Let's Encrypt SSL-sertifikat
Foreløpig har du installert GitLab CE 11.x på serverinstansen din, og brukere kan allerede besøke nettstedet ved å bruke HTTP-protokollen. Av sikkerhetshensyn anbefales det å aktivere HTTPS-tilgang til GitLab-serveren din ved å integrere et Let's Encrypt SSL-sertifikat.
Bruk vieditoren til å åpne GitLab CE-konfigurasjonsfilen:
sudo vi /etc/gitlab/gitlab.rb
Finn følgende to linjer:
external_url 'http://gitlab.example.com'
# letsencrypt['contact_emails'] = [] # This should be an array of email addresses to add as contacts
Erstatt dem tilsvarende:
external_url 'https://gitlab.example.com'
letsencrypt['contact_emails'] = ['admin@example.com']
Lagre og avslutt:
:wq!
Kjør følgende kommando for å rekonfigurere GitLab CE ved å bruke de oppdaterte innstillingene:
sudo gitlab-ctl reconfigure
Rekonfigurasjonen vil ta en stund.
Etter at omkonfigureringen er fullført, vil alle brukere bli tvunget til å bruke HTTPS-protokollen når de får tilgang til GitLab-siden.
Merk: Etter å ha byttet fra HTTP til HTTPS, kan eldre informasjonskapsler forårsake en GitLab 422-feil. Sletting av informasjonskapsler løser dette problemet.