Anonim

Hvorfor Gitlab

Hurtigkoblinger

  • Hvorfor Gitlab
  • Setup
  • Installer avhengigheter
  • Installer Gitlab
  • Kjør installasjonen
  • Førstegangs oppsett
  • Sett opp SSH
    • For vanlig SSH
  • Konfigurer UFW
  • Lukkende tanker

Det er mange gode alternativer for å være vert for prosjektene dine og dele koden din. Du kan gå og sette opp en Github-konto akkurat nå. Så, hvorfor skulle du ønske å gå gjennom bryet med å sette opp Gitlab selv?

Det er et par gode argumenter for det, faktisk, ikke minst som er privatliv. Gitlab er din. Du vert det, og du eig det. Så du kan kontrollere hvem som har tilgang til depotene dine. Det betyr også at du har kontroll over selve plattformen. Du er ikke underlagt bedriftens retningslinjer, vilkårlige endringer i priser eller innsamling av data.

Selvstyrt versjonskontroll betyr også at du ikke er avhengig av en tjeneste for å få tilgang til koden din. Jada, sjansen for at Github eller en annen lignende tjeneste er helt utilgjengelig på grunn av et strømbrudd, er slanke, men vil du ikke heller at det ikke er en mulighet i det hele tatt?

Gitlab er også veldig enkel å sette opp, og krever bare at du har en Linux-server som kjører open source Gitlab-programvaren, hvorav de fleste er forhåndskonfigurert og klar til å kjøres.

Setup

Før du kommer i gang, må du få en VPS som er konfigurert for å være vert for Gitlab, med mindre du planlegger å være vert for den lokalt. Hosting selskaper som DigitalOcean og Linode tilbyr kostnadseffektive alternativer som kan få serveren din i gang.

Det er også en god idé å kjøpe et domenenavn for serveren din også. Du kan også peke et underdomener til et eksisterende domenenavn på Gitlab-serveren. Uansett vil det være lettere å få tilgang til webgrensesnittet.

Denne guiden kommer til å følge Ubuntu 16.04 LTS. Det er den siste langsiktige støtteutgivelsen av Ubuntu, og den er veldig enkel å jobbe med. Debian Stretch (Stable) vil også være et flott alternativ, og det meste av denne guiden vil også fungere med det. Både DigitalOcean og Linode vil konfigurere serveren din med operativsystemet du velger, så det er ikke nødvendig å installere Ubuntu.

Installer avhengigheter

Når du først starter opp Ubuntu, er det en god ide å oppdatere systemet for å sikre at det ikke er noen sikkerhetsrettinger tilgjengelig. Gå foran og gjør det først.

$ sudo apt oppdatering $ sudo apt upgrade

Etter at oppdateringen er ferdig kjørt, er det et par ting du må installere for at Gitlab skal komme i gang. Bruk apt til å installere de også.

$ sudo apt install curl openssh-server ca-sertifikater postfix

Det er det. Du er klar til å kjøre Gitlab-installasjonsskriptet.

Installer Gitlab

Gitlab har et eget Debian / Ubuntu-lager. For å aktivere depotet på serveren din, last ned og kjør det praktiske installasjonsskriptet som gis av Gitlab-teamet.

$ curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash

Det kan se ut som mye, men det laster bare ned skriptet og ber kommandolinjeskallet om å kjøre det. Skriptet vil ta noen sekunder å kjøre gjennom og sette opp depotet. Når det først er gjort, er du klar til å installere Gitlab-pakken.

$ sudo apt installer gitlab-ce

Installasjonen vil ta noen minutter. Gitlab kommer i en stor pakke som kalles “Omnibus-pakken.” Den kommer med alt Gitlab trenger alt sammen.

Kjør installasjonen

Det er et konfigurasjonsskript som du trenger å kjøre for at Gitlab kan konfigureres. Den kom i pakken du nettopp installerte, slik at du kan kjøre den nå.

$ sudo gitlab-ctl rekonfigurering

Skriptet vil ta noen minutter å løpe gjennom alt. Det er for det meste å sette opp databasen for Gitlab. Du vil se mange Ruby on Rails-migrasjoner som kjører ved skjermen. Det kan ta litt tid, men når det er gjort, vil Gitlab være klar til bruk.

Førstegangs oppsett

Åpne nettleseren din og naviger til Gitlab-serveren. Du blir møtt av en side som ber deg om å sette opp et administrasjonspassord. Dette er åpenbart passordet for admin-kontoen din. Som standard er kontonavnet "root".

Etter at kontoen er satt opp, kan du enten logge inn med den eller registrere en vanlig brukerkonto og logge på. Uansett, når du har logget deg på, har du tilgang til hele Gitlab-oversikten for å opprette og administrere depoter.

Sett opp SSH

Du ønsker ikke å måtte presse endringer i prosjektene dine ved hjelp av passord. Det er vondt, og det er ikke veldig sikkert. Det beste du kan gjøre er å opprette en SSH for å logge på automatisk fra hvilken som helst datamaskin med nøkkelen installert.

SSH-nøkler er veldig enkle å lage på Linux og Mac. På Windows 10 skal prosessen være den samme gjennom den tilgjengelige OpenSSH-appen.

Åpne en terminal, og kjør følgende kommando for å opprette nøkkelen. Du kan legge fra -C '' delen hvis du bare vil bruke påloggingsinformasjonen til datamaskinen din. Ellers er en e-postadresse vanligvis det rette anropet.

$ ssh-keygen -b 4096 -t rsa -C ''

Prosessen vil lede deg gjennom et par trinn. Standardverdiene er stort sett gode, og alt er ganske selvforklarende. Hvis du velger å knytte et passord med nøkkelen, trenger du det passordet hver gang du logger inn eller trykker på en endring. Du kan la passordet være tomt for ikke å bruke et.

Kjør kommandoen nedenfor for å se nøkkelen din. Det kommer til å se ut som en haug med tull, og egentlig er det, men det er nøkkelen din. Du må kopiere den ut av terminalen og forbi den i Gitlab.

$ cat ~ / .ssh / id_rsa.pub

Tilbake til Gitlab, klikk på profilikonet øverst til høyre på skjermen. Klikk deretter på "Innstillinger" på den resulterende menyen. I menyen til venstre på siden klikker du på "SSH-nøkler."

Kopier nøkkelen fra terminalen. Start etter “ssh-rsa” og stopp før e-postadressen din. Så, bare kopier tullete delen. Lim den inn i den store boksen merket "Nøkkel." Navngi nøkkelen og lagre den. Fra det tidspunktet vil du kunne skyve koden til depotene dine uten å logge deg på.

For vanlig SSH

Du har allerede en SSH-nøkkel. Du kan like gjerne bruke den til SSH. OpenSSH har et innebygd verktøy for å skyve nøkkelen til serveren din.

$ ssh-copy-id -i ~ / .ssh / id_rsa.pub _IP

Bytt ut servernavn og SERVER_IP med brukernavnet på serveren og serverens IP-adresse.

Prøv å logge deg på serveren din med den nye nøkkelen.

$ ssh _IP

Du bør koble deg til umiddelbart uten å måtte oppgi et passord.

Det er bedre å låse resten av SSH også. Det er sannsynligvis et av de svakeste punktene i en server som vender mot offentligheten. Åpne / etc / ssh / sshd_confg i teksteditoren du velger på serveren.

Det er et par ting du må endre. Finn først PermitRootLogin og sett den til nr.

PermitRootLoginr

Deretter finner du PasswordAuthentication, fjerner merket for det, og sett det til nei.

PasswordAuthentication no

Så sørg for at følgende to linjer er satt til nr. De skal være som standard på Ubuntu, men det er bedre å sjekke.

PermitEmptyPasswords no HostbasedAuthentication no

Til slutt, finn UsePAM nederst i konfigurasjonen og sett den til nei også.

BrukPAM-nr

Lagre og avslutt konfigurasjonen. Start SSH-tjenesten på nytt.

$ sudo systemctl start sshd på nytt

Konfigurer UFW

Det siste sikkerhetstiltaket du sannsynligvis vil ta, er å installere og sette opp en brannmur. Ubuntu fungerer veldig bra med den passende navngitte ukompliserte brannmuren (UFW). Det er bare en innpakning rundt iptables-brannmuren, men det gjør det enklere å jobbe med brannmuren. Gå videre og installer den.

$ sudo apt install ufw

Når du har installert ufw, begynner du med å sette standardreglene for å nekte alt.

$ sudo ufw default nekter innkommende $ sudo ufw default fornekter utgående $ sudo ufw default fornekter fremover

Neste konfigurer reglene dine for å tillate grunnleggende tjenester, inkludert Git. Kommentarene er bare der for informasjon. Ikke prøv å kjøre dem.

# SSH $ sudo ufw tillate i ssh $ sudo ufw tillate ut ssh # HTTP og HTTPS for Web $ sudo ufw tillate i http $ sudo ufw tillate ut http $ sudo ufw tillate på https $ sudo ufw tillate ut https # NTP for å holde tiden riktig $ sudo ufw tillate i ntp $ sudo ufw tillate ut ntp # Port 53 for DNS-domeneresolusjon $ sudo ufw tillate i 53 $ sudo ufw tillate 53 # Du trenger sannsynligvis ikke dette # Hvis serveren din bruker DHCP, må du fjerne blokkering 67 $ sudo ufw tillate i 67 $ sudo ufw tillate ut 67 # Til slutt, Git $ sudo ufw tillate i 9418 $ sudo ufw allo out 9418

Forsikre deg om at alt er bra, og aktiver brannmuren

$ sudo ufw enable

Du kan sjekke statusen til brannmuren din med følgende:

$ sudo ufw status

Det er det! Gitlab-serveren din står bak en brannmur.

Lukkende tanker

Nå har du en fungerende Gitlab-server. Du kan begynne å sette opp brukerkontoer og prosjekter gjennom Gitlab-grensesnittet. Gitlab er nå en vanlig Ubuntu-pakke, så den vil oppdateres regelmessig med treff når du holder systemet oppdatert.

Gitlab vil gi deg all den fleksibiliteten du trenger for å styre dine egne prosjekter og større prosjekter som du kanskje jobber med et team på. Det er en fullt ut kapabel og robust plattform som flere og flere team begynner å stole på.

Vert for dine egne programvareprosjekter med gitlab