Betygsätt denna artikel :
Den här artikeln var användbar för dig ?
Ja
Nej
Vous avez noté 0 étoile(s)
Sommaire
Procédure
Behöver du Gitlab för att hantera dina projekt? Skapa din egen instans av GitLab på din VPS genom att följa denna handledning.
Git är bra. Gitlab är bättre. Gitlab är en öppen källkod Git repository manager. Utvecklat av GitLab Inc, erbjuder det ett intuitivt grafiskt gränssnitt för att hantera dina olika projekt samtidigt som kompatibiliteten med Git bibehålls. Du kan skapa funktionsförfrågningar, spåra buggar etc. i ett team och via en webbläsare.
Gitlab finns i flera versioner, både betalda och gratis. I följande handledning kommer vi att installera GitLab Community Edition (Gitlab CE), den kostnadsfria versionen av Gitlab med öppen källkod.
För att använda GitLab behöver du minst :
VPS M från LWS Starter-sortimentet är perfekt för några få Gitlab-projekt, men om du har flera medarbetare och/eller flera projekt att slutföra rekommenderar vi att du tar VPS L eller en av VPS:erna från Pro-sortimentet.
För denna handledning kommer vi att överväga ett helt tomt operativsystem från Debian 9 + SSH-systembilden som erbjuds på LWS-panelen. Här är länkarna till andra handledningar för andra operativsystem:
Om du vill ändra operativsystemet på din VPS finns här en länk till hjälpdokumentationen: Hur ändrar jag operativsystemet på min VPS?
Observera att denna handledning är baserad på en VIRGIN-installation av Debian 9. Om du redan har installerat något på den kan vi inte garantera att handledningen fungerar och/eller att alla dina andra tjänster kommer att vara tillgängliga efter installationen.
Glöm inte att aktivera SSH-porten på din VPS-brandvägg så att du kan ansluta som root till SSH-konsolen.
Här är de steg som kommer att behandlas i den här handledningen:
Innan du installerar något rekommenderar vi att du uppdaterar listan över paket och själva paketen.
Skriv följande kommandon på din SSH-konsol:
apt-get update
apt-get upgrade -y
apt-get dist-upgrade -y
Låt oss först installera de beroenden som krävs:
apt-get install -y curl openssh-server ca-certifikat
Lägg sedan till Gitlab-förvaret till din VPS:
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.deb.sh | bash
Låt oss nu installera Gitlab:
EXTERNAL_URL="http://vpsXXXXX.lws-hosting.com" apt-get install gitlab-ee
Installationen tar flera minuter, så du kan ta en kopp kaffe medan du väntar.
Tips: Om du har en instabil internetanslutning kan du använda screen för att återansluta till den löstagbara konsolen vid ett oväntat avbrott. Dokumentation om hur du använder screen.
När installationen är klar kan du gå till http://vpsXXXXX.lws-hosting.com för att konfigurera Gitlab.
Tips: om du får ett 502-fel kan du försöka starta om Gitlab med kommandot
gitlab-ctl restartoch sedan vänta 5 minuter innan du försöker igen(Ctrl+F5).
Om allt går som planerat kommer du att omdirigeras till en sida där du kan skapa ditt Gitlab-lösenord.
Ange ett relativt komplext lösenord. Du kan också generera ett slumpmässigt lösenord.
När detta är gjort kan du ansluta till Gitlab med root-användaren och det lösenord du angav.
Nu ska vi konfigurera en omvänd proxy med NGINX. Detta kommer att göra det möjligt för dig att vara värd för andra webbplatser och applikationer i framtiden, särskilt om du har valt en Cloud Pro S VPS-server eller högre.
Det första steget är att flytta Gitlab till en oanvänd port. För denna handledning använder vi port 6080 (slumpmässigt vald).
Tips: du kan hitta listan över portar som redan används med kommandot
netstat -tunap | grep LISTEN
För att göra detta, redigera filen /etc/gitlab/gitlab.rb med nano (eller vim, eller en annan editor):
nano /etc/gitlab/gitlab.rb
Och redigera värdet för external_url så att det inkluderar porten:
[...]
## GitLab URL
##! URL på vilken GitLab kommer att vara nåbar.
##! För mer information om konfiguration av external_url se:
##! https://docs.gitlab.com/omnibus/settings/configuration.html#configuring-the-external-url-for-gitlab
external_url'http://vpsXXXXX.lws-hosting.com:6080'
[...]
Ctrl+X, Y och sedan Enter för att spara filen och stänga nano(Esc och sedan :wq för vim).
För att tillämpa denna konfiguration kör du följande kommando:
gitlab-ctl omkonfigurera
Detta kommer att ta en minut eller två medan Gitlab synkroniserar sina inställningar med de applikationer som Gitlab använder som standard (NGINX, omnibus, etc.).
Gitlab är nu på 6080. Vi behöver nu installera NGINX. Installationen av NGINX sammanfattas av följande kommandorader:
apt-get install -y curl gnupg2 ca-certificates lsb-release
echo "deb http://nginx.org/packages/debian `lsb_release -cs` nginx" | tee /etc/apt/sources.list.d/nginx.list
curl -fsSL https://nginx.org/keys/nginx_signing.key | apt-key add -
apt-get update
apt-get install -y nginx
Nu är det dags att skapa en NGINX-konfigurationsfil för GitLab. Vi namnger den /etc/nginx/conf.d/000-gitlab.conf. Använd nano för att skapa denna fil:
nano /etc/nginx/conf.d/000-gitlab.conf
Därefter måste vi skapa ett nytt server{}-block och skapa den omvända proxyn. Här är ett förslag på innehåll:
server {
listen 80;
server_name gitlab.example.com;
location / {
proxy_pass http://localhost:6080;
proxy_redirect off;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Protocol $scheme;
proxy_set_header X-Url-Scheme $scheme;
}
}
Tips: Prefixet "000- " krävs för att filen ska kunna läsas in före
default.conf.Annars kommer filendefault.confatt skriva över vår konfiguration.
Aktivera NGINX vid uppstart:
systemctl enable nginx
Starta sedan om nginx med följande kommando:
systemctl restart nginx
Därefter måste du peka gitlab.example.com till din VPS genom att lägga till en A-post i din DNS-zon. Om din DNS hanteras på LWS-klientutrymmet, så här gör du det:
Låt oss sedan konfigurera Gitlab igen för att acceptera X-Forwarded-For-huvudet för att hitta besökarnas riktiga IP-adresser. Detta görs genom att redigera filen /etc/gitlab/gitlab.rb:
[...]
nginx['real_ip_header'] = 'X-Forwarded-For'
nginx['real_ip_recursive'] = 'on'
[...]
Synkronisera sedan konfigurationerna för Gitlab och dess inbäddade tjänster:
gitlab-ctl reconfigure
I det här skedet bör du kunna ansluta till http://gitlab.exemple.com.
Vi kommer nu att säkra vår åtkomst med ett Let's Encrypt SSL-certifikat. Låt oss först installera certbot:
apt-get installera certbot -y
Därefter ska vi ställa in en webroot för Let's Encrypt-autentisering. För att göra detta redigerar du filen /etc/nginx/conf.d/000-gitlab.conf och lägger till dessa rader efter location / -blocket:
[...]
location / {
proxy_pass http://localhost:6080;
[...]
}
location ^~ /.well-known/acme-challenge/ {
root /var/www/letsencrypt;
}
}
Skapa :
mkdir -p /var/www/letsencrypt
Och starta om NGINX :
systemctl starta om nginx
Låt oss nu skapa ett SSL-certifikat för gitlab.example.com:
certbot certonly --webroot -w /var/www/letsencrypt/ -d gitlab.example.com
Följ instruktionerna på skärmen:
Därefter ska vi redigera /etc/nginx/conf.d/000-gitlab.conf igen för att lägga till en ny server på HTTPS/443. Vi måste lägga till följande rader i slutet av filen:
[...]
server {
listen 443 ssl;
server_name gitlab.example.com;
ssl_certificate /etc/letsencrypt/live/gitlab.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/gitlab.example.com/privkey.pem;
location / {
proxy_pass http://localhost:6080;
proxy_redirect off;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Protocol $scheme;
proxy_set_header X-Url-Scheme $scheme;
}
}
Och starta om din NGINX-server :
systemctl starta om nginx
Du har nu en Gitlab-server som är klar att använda på https://gitlab.exemple.com.
Betygsätt denna artikel :
Den här artikeln var användbar för dig ?
Ja
Nej