Beoordeel dit artikel :
Dit artikel was nuttig voor jou ?
Ja
Geen
Vous avez noté 0 étoile(s)
Sommaire
Procédure
Heb je Gitlab nodig om je projecten te beheren? Maak je eigen instantie van GitLab op je VPS door deze tutorial te volgen.
Git is goed. Gitlab is beter. Gitlab is een open-source Git repository manager. Het is ontwikkeld door GitLab Inc en biedt een intuïtieve grafische interface voor het beheren van je verschillende projecten, terwijl het compatibel blijft met Git. Je kunt feature requests aanmaken, bugs bijhouden, enz. in een team en via een webbrowser.
Gitlab is beschikbaar in verschillende versies, zowel betaald als gratis. In de volgende tutorial zullen we GitLab Community Edition (Gitlab CE) installeren , de gratis, open-source versie van Gitlab.
Om GitLab te gebruiken, heb je tenminste :
DeVPS M uit de LWS Starter serie zal ideaal zijn voor een paar Gitlab projecten, maar als je meerdere medewerkers en/of meerdere projecten te voltooien hebt, raden we de VPS L of een van de VPS uit de Pro serie aan.
Voor deze tutorial gaan we uit van een volledig leeg besturingssysteem uit het Debian 9 + SSH systeemimage dat wordt aangeboden op het LWS Panel. Hier zijn de links naar andere tutorials voor andere besturingssystemen:
Als je het besturingssysteem op je VPS wilt veranderen, is hier een link naar de helpdocumentatie: Hoe verander ik het besturingssysteem op mijn VPS?
Merk op dat deze tutorial gebaseerd is op een VIRGIN installatie van Debian 9. Als u er al iets op geïnstalleerd heeft, kunnen we niet garanderen dat de tutorial effectief zal zijn en/of dat al uw andere diensten beschikbaar zullen zijn na de installatie.
Vergeet niet de SSH-poort in te schakelen op uw VPS firewall zodat u als root verbinding kunt maken met de SSH-console.
Hier zijn de stappen die in deze tutorial worden behandeld:
Voordat je iets installeert, raden we aan dat je de lijst met pakketten en de pakketten zelf bijwerkt.
Voer op je SSH console de volgende commando's uit:
apt-get update
apt-get upgrade -y
apt-get dist-upgrade -y
Laten we eerst de benodigde afhankelijkheden installeren:
apt-get install -y curl openssh-server ca-certificates
Voeg vervolgens de Gitlab repository toe aan je VPS:
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.deb.sh | bash
Laten we nu Gitlab installeren:
EXTERNAL_URL="http://vpsXXXXX.lws-hosting.com" apt-get install gitlab-ee
De installatie duurt een paar minuten, dus je kunt een kop koffie nemen terwijl je wacht.
Tip: als je een instabiele internetverbinding hebt, kun je screen gebruiken om opnieuw verbinding te maken met de afneembare console in het geval van een onverwachte verbroken verbinding. Documentatie over het gebruik van screen.
Als de installatie voltooid is, ga dan naar http://vpsXXXXX.lws-hosting.com om Gitlab te configureren.
Tip: als je een 502 foutmelding krijgt, probeer Gitlab dan opnieuw te starten met het
gitlab-ctl restartcommando en wacht dan 5 minuten voordat je het opnieuw probeert(Ctrl+F5).
Als alles gaat zoals gepland, zul je doorgestuurd worden naar een pagina om je Gitlab wachtwoord aan te maken.
Geef een relatief complex wachtwoord op. Je kunt ook een willekeurig wachtwoord genereren.
Als dit gedaan is, kun je verbinding maken met Gitlab met de root gebruiker en het wachtwoord dat je hebt opgegeven.
Nu gaan we een reverse proxy instellen met NGINX. Dit zal je in staat stellen om in de toekomst andere sites en applicaties te hosten, vooral als je hebt gekozen voor een Cloud Pro S VPS server of hoger.
De eerste stap is om Gitlab naar een ongebruikte poort te verplaatsen. Voor deze tutorial gebruiken we poort 6080 (willekeurig gekozen).
Tip: je kunt de lijst van poorten die al in gebruik zijn vinden met het commando
netstat -tunap | grep LISTEN
Bewerk hiervoor het bestand /etc/gitlab/gitlab.rb met nano (of vim, of een andere editor):
nano /etc/gitlab/gitlab.rb
En bewerk de waarde van external_url om de poort op te nemen:
[...]
## GitLab URL
##! URL waarop GitLab bereikbaar zal zijn.
##! Voor meer details over het configureren van external_url zie:
##! 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 dan Enter om het bestand op te slaan en nano te sluiten(Esc dan :wq voor vim).
Om deze configuratie toe te passen, voer je het volgende commando uit:
gitlab-ctl reconfigure
Dit zal een minuut of twee duren, terwijl Gitlab zijn instellingen synchroniseert met de applicaties die Gitlab standaard gebruikt (NGINX, omnibus, etc.).
Gitlab staat nu op 6080. We moeten nu NGINX installeren. De installatie van NGINX wordt samengevat door de volgende commandoregels:
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 is het tijd om een NGINX configuratiebestand voor GitLab te maken. We noemen het /etc/nginx/conf.d/000-gitlab.conf. Gebruik nano om dit bestand te maken:
nano /etc/nginx/conf.d/000-gitlab.conf
Vervolgens moeten we een nieuw server{} blok aanmaken en de reverse proxy maken. Hier is een voorgestelde inhoud :
server {
listen 80;
server_name gitlab.example.com;
location / {
proxy_pass http://localhost:6080;
proxy_redirect uit;
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;
}
}
Tip: Het "000- " voorvoegsel is nodig om het bestand vóór
default.confte laden. Anders zal hetdefault.confbestand onze configuratie overschrijven.
Activeer NGINX bij het opstarten:
systemctl enable nginx
Herstart nginx vervolgens met het volgende commando:
systemctl restart nginx
Vervolgens moet je gitlab.example.com naar je VPS verwijzen door een A record aan je DNS zone toe te voegen. Als je DNS wordt beheerd op de LWS client ruimte, dan lees je hier hoe je dat moet doen:
Laten we Gitlab vervolgens opnieuw configureren om de X-Forwarded-For header te accepteren om de echte IP adressen van bezoekers te vinden. Dit wordt gedaan door het /etc/gitlab/gitlab.rb bestand aan te passen:
[...]
nginx['real_ip_header'] = 'X-Forwarded-For'
nginx['real_ip_recursive'] = 'on'
[...]
Synchroniseer vervolgens de configuraties van Gitlab en zijn ingebedde diensten opnieuw:
gitlab-ctl herconfigureren
In dit stadium zou je verbinding moeten kunnen maken met http://gitlab.exemple.com.
We gaan nu onze toegang beveiligen met een Let's Encrypt SSL certificaat. Laten we eerst certbot installeren:
apt-get install certbot -y
Vervolgens gaan we een webroot instellen voor de Let's Encrypt authenticatie. Om dit te doen, bewerk het bestand /etc/nginx/conf.d/000-gitlab.conf en voeg deze regels toe na het location / blok:
[...]
location / {
proxy_pass http://localhost:6080;
[...]
}
location ^~ /.well-known/acme-challenge/ {
root /var/www/letsencrypt;
}
}
Maak de :
mkdir -p /var/www/letsencrypt
En herstart NGINX :
systemctl restart nginx
Laten we nu een SSL certificaat aanmaken voor gitlab.example.com:
certbot certonly --webroot -w /var/www/letsencrypt/ -d gitlab.example.com
Volg de instructies op het scherm:
Vervolgens gaan we /etc/nginx/conf.d/000-gitlab.conf opnieuw aanpassen om een nieuwe server op HTTPS/443 toe te voegen. We moeten de volgende regels toevoegen aan het einde van het bestand:
[...]
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;
}
}
En herstart je NGINX server :
systemctl restart nginx
Je hebt nu een gebruiksklare Gitlab server op https://gitlab.exemple.com.
Beoordeel dit artikel :
Dit artikel was nuttig voor jou ?
Ja
Geen