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 -yAș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 perlIată ce face fiecare pachet:
| Pachet | Scop |
|---|---|
curl | Descarcă scripturi și fișiere de pe web |
openssh-server | Permite accesul SSH la serverul dvs. |
ca-certificates | Validează certificatele SSL/TLS |
tzdata | Furnizează date de fus orar |
perl | Necesar 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 bashAcest 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-ceDacă 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_URLpe 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 reconfigureAceastă 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.comsau
http://YOUR_SERVER_IPConectare 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.rbAdă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'] = trueSalvaț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.rbAdă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 reconfigureGitLab 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 startOprirea GitLab
sudo gitlab-ctl stopRepornirea GitLab
sudo gitlab-ctl restartVerificarea stării serviciului
sudo gitlab-ctl statusVizualizarea jurnalelor în timp real
sudo gitlab-ctl tailVizualizarea jurnalelor pentru un serviciu specific (de exemplu, NGINX)
sudo gitlab-ctl tail nginxAceste 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 daysExecutați o copie de siguranță manuală în orice moment cu:
sudo gitlab-backup createConfigurarea 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 statusDepanare Probleme Comune
| Problemă | Soluție |
|---|---|
| GitLab nu este accesibil după instalare | Verificați regulile firewall; verificați EXTERNAL_URL în /etc/gitlab/gitlab.rb |
| Eroare 502 Bad Gateway | Rulați sudo gitlab-ctl restart; verificați jurnalele cu sudo gitlab-ctl tail |
| Eșec certificat Let’s Encrypt | Asigurați-vă că portul 80 este deschis și DNS-ul domeniului este configurat corect |
| Utilizare ridicată a memoriei | Reduceți workerii Puma în gitlab.rb: puma['worker_processes'] = 2 |
| Notificări prin email nu se trimit | Verificaț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.
la toate serviciile de găzduire