Economisiți 15% la toate serviciile de găzduire

Testează-ți abilitățile și obține Reducere la orice plan de găzduire

Utilizați codul: Skills Începeți
Secțiuni
Administrație Linux

Cum să instalezi GitLab pe Ubuntu: Ghid complet pas cu pas

GitLab este una dintre cele mai puternice platforme DevOps open-source disponibile astazi, oferind o suita cuprinzatoare de instrumente incluzand controlul versiunilor bazat pe Git, conducte de integrare continua/livrare continua (CI/CD), urmarirea problemelor si caracteristici de colaborare in echipa — toate intr-un singur loc. Fie ca gestionezi o mica echipa de dezvoltare sau rulezi proiecte software la scara intreprinderii, auto-gazduirea GitLab pe Ubuntu iti ofera control deplin asupra datelor, fluxurilor de lucru si infrastructurii tale.

Acest ghid te ghideaza prin fiecare pas al instalarii si configurarii GitLab Community Edition (CE) pe un server Ubuntu, de la pregatirea initiala a sistemului pana la activarea HTTPS si gestionarea serviciilor.

Cerințe preliminare

Înainte de a începe, asigurați-vă că aveți următoarele:

  • Un server care rulează Ubuntu 20.04 sau 22.04 LTS (se recomandă o instalare proaspătă)
  • Minimum 4 GB RAM și 2 nuclee CPU (GitLab recomandă cel puțin 4 nuclee pentru utilizarea în producție)
  • Acces root sau sudo la server
  • Un nume de domeniu înregistrat care indică adresa IP a serverului dvs. (opțional, dar foarte recomandat pentru HTTPS)
  • Porturile 80 și 443 deschise în firewall

> Sfat: Pentru cea mai bună performanță a GitLab, luați în considerare implementarea pe un plan VPS Hosting cu suficiente resurse RAM și CPU. Planurile VPS AlexHost sunt optimizate pentru sarcini Linux și vin cu acces root complet, ceea ce le face un mediu ideal pentru platforme DevOps auto-găzduite cum ar fi GitLab.

Pasul 1: Actualizați pachetele sistemului

Înainte de a instala orice software, este esențial să vă asigurați că indexul pachetelor sistemului și pachetele instalate sunt complet actualizate. Aceasta previne conflictele de dependență și asigură că lucrați cu cele mai recente patch-uri de securitate.

sudo apt update && sudo apt upgrade -y

Așteptați ca procesul de upgrade să se finalizeze înainte de a trece la pasul următor.

Pasul 2: Instalați dependențele necesare

GitLab necesită mai multe pachete de suport pentru a funcționa corect, inclusiv instrumente pentru comunicare securizată, gestionarea fusului orar și scripting. Instalați-le cu următoarea comandă:

sudo apt install -y curl openssh-server ca-certificates tzdata perl

Iată ce face fiecare pachet:

PachetScop
curlDescarcă scripturi și fișiere de pe web
openssh-serverPermite accesul SSH la serverul dvs.
ca-certificatesValidează certificatele SSL/TLS
tzdataFurnizează date de fus orar
perlNecesar pentru scripturile interne ale GitLab

Pasul 3: Adăugați depozitul oficial GitLab

GitLab menține un depozit oficial de pachete care face instalarea și actualizările viitoare simple. Utilizați următoarea comandă pentru a descărca și executa scriptul de configurare a depozitului:

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

Acest script execută automat:

  • Detectează versiunea Ubuntu
  • Adaugă depozitul de pachete GitLab la sursele APT
  • Importă cheia de semnare GPG a depozitului pentru verificarea pachetelor

După ce scriptul se finalizează, sistemul dvs. este gata să instaleze GitLab direct din sursa oficială.

Pasul 4: Instalați GitLab Community Edition

Acum instalați GitLab CE folosind managerul de pachete apt. Trebuie să setați variabila de mediu EXTERNAL_URL la URL-ul sau adresa IP prin care utilizatorii vor accesa instanța GitLab.

Dacă aveți un nume de domeniu:

sudo EXTERNAL_URL="https://gitlab.yourdomain.com" apt install gitlab-ce

Dacă utilizați o adresă IP (de exemplu, pentru un server local sau privat):

sudo EXTERNAL_URL="http://YOUR_SERVER_IP" apt install gitlab-ce

Înlocuiți gitlab.yourdomain.com sau YOUR_SERVER_IP cu domeniul sau adresa IP reală.

> Notă: Procesul de instalare poate dura câteva minute, deoarece descarcă și configurează toate componentele GitLab, inclusiv PostgreSQL, Redis, NGINX și Sidekiq.

În timpul instalării, GitLab va:

  • Instala toate serviciile incluse (bază de date, cache, server web, etc.)
  • Se configura pe baza EXTERNAL_URL pe care l-ați furnizat
  • Genera fișiere de configurare inițiale în /etc/gitlab/

Pasul 5: Rulați Reconfigurarea GitLab

După instalare, rulați comanda de reconfigurare pentru a finaliza configurarea, a inițializa baza de date și a porni toate serviciile GitLab:

sudo gitlab-ctl reconfigure

Această comandă citește configurația din /etc/gitlab/gitlab.rb și aplică toate setările. De asemenea, generează certificatele SSL (dacă Let’s Encrypt este configurat), configurează schema bazei de date și pornește toate serviciile de fundal necesare.

Ar trebui să vedeți o ieșire lungă care se termină cu un mesaj similar cu:

gitlab Reconfigured!

Pasul 6: Accesați GitLab în Browserul Dvs. Web

După ce reconfigurarea este completă, deschideți browserul web și navigați la URL-ul pe care l-ați specificat în timpul instalării:

https://gitlab.yourdomain.com

sau

http://YOUR_SERVER_IP

Conectare la Prima Vizită

La prima vizită, GitLab vă va solicita să setați o parolă de administrator. După setarea acesteia, conectați-vă folosind următoarele credențiale:

  • Nume de utilizator: root
  • Parolă: Parola pe care tocmai ați creat-o

> Sfat de Securitate: Schimbați imediat credențialele contului implicit root după prima dvs. conectare. Creați un cont personal de administrator și restricționați contul root doar pentru utilizare în caz de urgență.

Pasul 7: Configurați Notificările de E-mail GitLab (Opțional)

Trimiterea notificărilor de e-mail este esențială pentru o instanță GitLab de producție — aceasta activează funcții precum verificarea contului, actualizări de cereri de fuziune, alerte CI/CD și resetări de parolă. Configurați setările SMTP în fișierul principal de configurare GitLab:

sudo nano /etc/gitlab/gitlab.rb

Adăugați sau modificați următorul bloc de configurare SMTP:

gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.yourmailprovider.com"
gitlab_rails['smtp_port'] = 587
gitlab_rails['smtp_user_name'] = "your_email@yourdomain.com"
gitlab_rails['smtp_password'] = "your_email_password"
gitlab_rails['smtp_domain'] = "yourdomain.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true

Salvați fișierul și aplicați modificările:

sudo gitlab-ctl reconfigure

> Căutați o infrastructură de e-mail fiabilă? AlexHost oferă servicii profesionale de Email Hosting care se integrează perfect cu aplicații auto-găzduite precum GitLab, oferind releu SMTP stabil cu livrabilitate ridicată.

Pasul 8: Activați HTTPS cu Let’s Encrypt (Recomandat)

Rularea GitLab peste HTTPS este puternic recomandată pentru orice mediu de producție sau de echipă. GitLab are suport încorporat pentru Let’s Encrypt, o autoritate de certificare SSL gratuită și automatizată.

> Important: Let’s Encrypt necesită ca numele de domeniu să fie accesibil public și ca portul 80 să fie deschis pe serverul dvs. Nu va funcționa cu adrese IP brute.

Deschideți fișierul de configurare GitLab:

sudo nano /etc/gitlab/gitlab.rb

Adăugați următoarea configurare:

letsencrypt['enable'] = true
letsencrypt['contact_emails'] = ['your_admin_email@yourdomain.com']
letsencrypt['auto_renew'] = true
letsencrypt['auto_renew_hour'] = 12
letsencrypt['auto_renew_minute'] = 30
letsencrypt['auto_renew_day_of_month'] = "*/7"

Salvați fișierul și reconfigurați GitLab:

sudo gitlab-ctl reconfigure

GitLab va obține și instala automat certificatul SSL, iar setarea auto_renew asigură că acesta este reînnoit înainte de expirare fără nicio intervenție manuală.

> Alternativă: Dacă preferați să gestionați certificatele SSL în mod independent sau aveți nevoie de certificatele wildcard/multi-domeniu, AlexHost oferă o gamă de Certificatele SSL care pot fi configurate manual în setările NGINX ale GitLab.

Pasul 9: Gestionarea serviciilor GitLab

GitLab include propriul instrument de gestionare a serviciilor numit gitlab-ctl. Utilizați următoarele comenzi pentru a controla serviciile GitLab:

Pornirea GitLab

sudo gitlab-ctl start

Oprirea GitLab

sudo gitlab-ctl stop

Repornirea GitLab

sudo gitlab-ctl restart

Verificarea stării serviciului

sudo gitlab-ctl status

Vizualizarea jurnalelor în timp real

sudo gitlab-ctl tail

Vizualizarea jurnalelor pentru un serviciu specific (de exemplu, NGINX)

sudo gitlab-ctl tail nginx

Aceste comenzi sunt neprețuite pentru depanare și întreținere de rutină. Comanda status va afișa starea tuturor sub-serviciilor GitLab, inclusiv PostgreSQL, Redis, Sidekiq, Puma (server web) și NGINX.

Pasul 10: Configurația inițială GitLab pentru organizația dvs.

Cu GitLab instalat și în funcțiune, este timpul să-l configurați pentru nevoile echipei dvs. Iată zonele cheie de configurat prin interfața web GitLab:

Gestionarea utilizatorilor

Navigați la Admin Area → Users pentru a crea conturi de utilizator pentru membrii echipei dvs. Puteți configura metode de autentificare, inclusiv LDAP, OAuth și SAML pentru single sign-on enterprise.

Grupuri și proiecte

  • Grupurile vă permit să organizați proiectele conexe și să gestionați permisiunile la scară largă
  • Proiectele sunt depozite individuale cu propriile urmăritori de probleme, wiki-uri și conducte CI/CD

Conducte CI/CD

CI/CD-ul încorporat al GitLab este una dintre cele mai puternice caracteristici ale acestuia. Creați un fișier .gitlab-ci.yml în rădăcina depozitului dvs. pentru a defini conducte automate de construire, testare și implementare.

Setări depozit

Configurați regulile de protecție a ramurilor, aprobările cererilor de fuzionare și fluxurile de revizuire a codului în secțiunea Settings → Repository a fiecărui proiect.

Configurația de backup

Configurați copiile de siguranță automate prin configurarea următoarelor în /etc/gitlab/gitlab.rb:

gitlab_rails['backup_path'] = "/var/opt/gitlab/backups"
gitlab_rails['backup_keep_time'] = 604800  # Keep backups for 7 days

Executați o copie de siguranță manuală în orice moment cu:

sudo gitlab-backup create

Configurarea Firewall-ului

Dacă aveți UFW (Uncomplicated Firewall) activat pe serverul Ubuntu, asigurați-vă că permiteți traficul HTTP și HTTPS:

sudo ufw allow http
sudo ufw allow https
sudo ufw allow OpenSSH
sudo ufw enable
sudo ufw status

Depanare Probleme Comune

ProblemăSoluție
GitLab nu este accesibil după instalareVerificați regulile firewall; verificați EXTERNAL_URL în /etc/gitlab/gitlab.rb
Eroare 502 Bad GatewayRulați sudo gitlab-ctl restart; verificați jurnalele cu sudo gitlab-ctl tail
Eșec certificat Let’s EncryptAsigurați-vă că portul 80 este deschis și DNS-ul domeniului este configurat corect
Utilizare ridicată a memorieiReduceți workerii Puma în gitlab.rb: puma['worker_processes'] = 2
Notificări prin email nu se trimitVerificați acreditările SMTP și rulați sudo gitlab-rails console pentru a testa

Concluzie

Instalarea GitLab pe Ubuntu este un proces simplu care oferă o platformă DevOps de nivel enterprise sub controlul dvs. complet. Urmând acest ghid, ați configurat o instanță GitLab complet funcțională cu criptare HTTPS, notificări prin email și gestionare adecvată a serviciilor — gată pentru fluxuri de lucru reale de dezvoltare.

Auto-găzduirea GitLab oferă echipei dvs. libertatea de a personaliza fluxurile de lucru, de a menține suveranitatea datelor și de a se integra cu infrastructura existentă fără costuri recurente de abonament SaaS. Cheia unei experiențe GitLab fluide este să începeți cu un server fiabil și de înaltă performanță.

Pentru echipele care au nevoie de o bază robustă pentru GitLab, Dedicated Servers AlexHost oferă performanță maximă și izolare, în timp ce planurile VPS Hosting oferă o alternativă rentabilă și scalabilă pentru echipe mai mici și proiecte în creștere. Ambele opțiuni vin cu acces root complet, stocare SSD și suport tehnic 24/7 — tot ceea ce aveți nevoie pentru a rula GitLab cu încredere.