Tüm barındırma hizmetlerinde 15% tasarruf edin

Becerilerini test et ve herhangi bir hosting planında İndirim kazan

Kodu kullanın: Skills Başlayın
Bölüm
Linux Yönetim

Ubuntu’ya GitLab Kurulumu: Adım Adım Tam Rehber

GitLab, günümüzde mevcut olan en güçlü açık kaynak DevOps platformlarından biridir ve Git tabanlı sürüm kontrolü, sürekli entegrasyon/sürekli teslimat (CI/CD) boru hatları, sorun takibi ve ekip işbirliği özellikleri dahil olmak üzere kapsamlı bir araç paketi sunmaktadır — hepsi tek bir çatı altında. İster küçük bir geliştirme ekibini yönetiyor ister kurumsal ölçekli yazılım projelerini çalıştırıyor olun, GitLab’ı Ubuntu’da kendi kendine barındırmak, verileriniz, iş akışlarınız ve altyapınız üzerinde tam kontrol sağlar.

Bu rehber, GitLab Community Edition (CE) öğesini bir Ubuntu sunucusuna yükleme ve yapılandırma işleminin her adımında size rehberlik eder; ilk sistem hazırlığından HTTPS etkinleştirmeye ve hizmetleri yönetmeye kadar.

Ön Koşullar

Başlamadan önce aşağıdakilerin hazır olduğundan emin olun:

  • Ubuntu 20.04 veya 22.04 LTS çalıştıran bir sunucu (taze kurulum önerilir)
  • Minimum 4 GB RAM ve 2 CPU çekirdeği (GitLab üretim kullanımı için en az 4 çekirdek önerir)
  • Sunucuya root veya sudo erişimi
  • Sunucunuzun IP adresine işaret eden kayıtlı bir alan adı (HTTPS için isteğe bağlı ancak şiddetle önerilir)
  • Güvenlik duvarınızda 80 ve 443 numaralı bağlantı noktaları açık

> İpucu: En iyi GitLab performansı için, yeterli RAM ve CPU kaynaklarına sahip bir VPS Hosting planında dağıtım yapmayı düşünün. AlexHost VPS planları Linux iş yükleri için optimize edilmiştir ve tam root erişimi ile birlikte gelir, bu da GitLab gibi kendi kendine barındırılan DevOps platformları için ideal bir ortam sağlar.

Adım 1: Sistem Paketlerini Güncelleyin

Herhangi bir yazılım yüklemeden önce, sisteminizin paket dizininin ve yüklü paketlerin tamamen güncel olduğundan emin olmak kritik öneme sahiptir. Bu, bağımlılık çatışmalarını önler ve en son güvenlik yamaları ile çalıştığınızdan emin olur.

sudo apt update && sudo apt upgrade -y

Sonraki adıma geçmeden önce yükseltme işleminin tamamlanmasını bekleyin.

Adım 2: Gerekli Bağımlılıkları Yükleyin

GitLab, güvenli iletişim, saat dilimi yönetimi ve komut dosyası oluşturma araçları da dahil olmak üzere düzgün çalışması için birkaç destekleyici pakete ihtiyaç duyar. Bunları aşağıdaki komutla yükleyin:

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

Her paketin yaptığı şey şu şekildedir:

PaketAmaç
curlWeb’den komut dosyaları ve dosyaları indirir
openssh-serverSunucunuza SSH erişimini etkinleştirir
ca-certificatesSSL/TLS sertifikalarını doğrular
tzdataSaat dilimi verilerini sağlar
perlGitLab’ın dahili komut dosyaları için gereklidir

Adım 3: Resmi GitLab Deposunu Ekleyin

GitLab, kurulumu ve gelecekteki güncellemeleri basit hale getiren resmi bir paket deposu tutar. Depo kurulum komut dosyasını indirmek ve çalıştırmak için aşağıdaki komutu kullanın:

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

Bu komut dosyası otomatik olarak:

  • Ubuntu sürümünüzü algılar
  • GitLab paket deposunu APT kaynaklarınıza ekler
  • Paket doğrulaması için deponun GPG imzalama anahtarını içe aktarır

Komut dosyası tamamlandıktan sonra, sisteminiz resmi kaynaktan doğrudan GitLab yüklemeye hazır olur.

Adım 4: GitLab Community Edition Yükleyin

Şimdi GitLab CE’yi apt paket yöneticisini kullanarak yükleyin. Kullanıcıların GitLab örneğinize erişeceği URL veya IP adresine EXTERNAL_URL ortam değişkenini ayarlamanız gerekir.

Bir alan adınız varsa:

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

Bir IP adresi kullanıyorsanız (örneğin, yerel veya özel bir sunucu için):

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

gitlab.yourdomain.com veya YOUR_SERVER_IP yerine gerçek alan adınızı veya IP adresinizi yazın.

> Not: Yükleme işlemi, PostgreSQL, Redis, NGINX ve Sidekiq dahil olmak üzere tüm GitLab bileşenlerini indirip yapılandırdığı için birkaç dakika sürebilir.

Yükleme sırasında GitLab şunları yapacaktır:

  • Tüm paketlenmiş hizmetleri yükleyin (veritabanı, önbellek, web sunucusu, vb.)
  • Sağladığınız EXTERNAL_URL temelinde kendisini yapılandırın
/etc/gitlab/ içinde ilk yapılandırma dosyalarını oluşturun

Adım 5: GitLab Yeniden Yapılandırmasını Çalıştırın
Kurulumdan sonra, kurulumu sonlandırmak, veritabanını başlatmak ve tüm GitLab hizmetlerini başlatmak için yeniden yapılandırma komutunu çalıştırın:
sudo gitlab-ctl reconfigure
Bu komut, /etc/gitlab/gitlab.rb dosyasından yapılandırmayı okur ve tüm ayarları uygular. Ayrıca SSL sertifikaları oluşturur (Let’s Encrypt yapılandırılmışsa), veritabanı şemasını kurar ve gerekli tüm arka plan hizmetlerini başlatır.
Aşağıdakine benzer bir iletiyle biten uzun bir çıktı görmelisiniz:
gitlab Reconfigured!
Adım 6: Web Tarayıcınızda GitLab’a Erişin
Yeniden yapılandırma tamamlandıktan sonra, web tarayıcınızı açın ve kurulum sırasında belirttiğiniz URL’ye gidin:
https://gitlab.yourdomain.com
veya
http://YOUR_SERVER_IP
İlk Kez Giriş Yapma
İlk ziyaretinizde, GitLab size bir yönetici parolası ayarlamanızı isteyecektir. Ayarladıktan sonra, aşağıdaki kimlik bilgilerini kullanarak giriş yapın:

Kullanıcı Adı: root
  • Parola: Az önce oluşturduğunuz parola
  • > Güvenlik İpucu: İlk girişinizden hemen sonra varsayılan root hesabı kimlik bilgilerini değiştirin. Kişisel bir yönetici hesabı oluşturun ve root hesabını yalnızca acil durum kullanımı için kısıtlayın.

    Adım 7: GitLab E-posta Bildirimlerini Yapılandırın (İsteğe Bağlı)

    E-posta bildirimleri göndermek, üretim GitLab örneği için gereklidir — hesap doğrulama, birleştirme isteği güncellemeleri, CI/CD uyarıları ve parola sıfırlama gibi özellikleri etkinleştirir. Ana GitLab yapılandırma dosyasında SMTP ayarlarını yapılandırın:

    sudo nano /etc/gitlab/gitlab.rb

    Aşağıdaki SMTP yapılandırma bloğunu ekleyin veya değiştirin:

    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

    Dosyayı kaydedin ve değişiklikleri uygulayın:

    sudo gitlab-ctl reconfigure

    > Güvenilir bir e-posta altyapısı arıyor musunuz? AlexHost, GitLab gibi kendi kendine barındırılan uygulamalarla sorunsuz bir şekilde entegre olan profesyonel E-posta Barındırma hizmetleri sunarak yüksek teslimat oranıyla istikrarlı SMTP geçişi sağlar.

    Adım 8: HTTPS’i Let’s Encrypt ile Etkinleştirin (Önerilir)

    GitLab’ı HTTPS üzerinde çalıştırmak, herhangi bir üretim veya ekip ortamı için güçlü bir şekilde önerilir. GitLab, ücretsiz ve otomatik bir SSL sertifika yetkilisi olan Let’s Encrypt için yerleşik desteğe sahiptir.

    > Önemli: Let’s Encrypt, alan adınızın herkese açık bir şekilde erişilebilir olmasını ve sunucunuzda 80 numaralı bağlantı noktasının açık olmasını gerektirir. Ham IP adresleriyle çalışmaz.

    GitLab yapılandırma dosyasını açın:

    sudo nano /etc/gitlab/gitlab.rb

    Aşağıdaki yapılandırmayı ekleyin:

    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"

    Dosyayı kaydedin ve GitLab’ı yeniden yapılandırın:

    sudo gitlab-ctl reconfigure

    GitLab otomatik olarak SSL sertifikanızı alacak ve yükleyecek ve auto_renew ayarı, herhangi bir manuel müdahale olmaksızın süresi dolmadan önce yenilenmesini sağlar.

    > Alternatif: SSL sertifikalarını bağımsız olarak yönetmeyi tercih ederseniz veya joker/çok etki alanı sertifikalarına ihtiyacınız varsa, AlexHost SSL Sertifikaları sunarak GitLab’ın NGINX ayarlarında manuel olarak yapılandırılabilir.

    Adım 9: GitLab Hizmetlerini Yönetme

    GitLab, gitlab-ctl adlı kendi hizmet yönetim aracını içerir. GitLab hizmetlerini kontrol etmek için aşağıdaki komutları kullanın:

    GitLab’ı Başlat

    sudo gitlab-ctl start

    GitLab’ı Durdur

    sudo gitlab-ctl stop

    GitLab’ı Yeniden Başlat

    sudo gitlab-ctl restart

    Hizmet Durumunu Kontrol Et

    sudo gitlab-ctl status

    Gerçek Zamanlı Günlükleri Görüntüle

    sudo gitlab-ctl tail

    Belirli Bir Hizmetin Günlüklerini Görüntüle (örn. NGINX)

    sudo gitlab-ctl tail nginx

    Bu komutlar sorun giderme ve rutin bakım için çok değerlidir. status komutu, PostgreSQL, Redis, Sidekiq, Puma (web sunucusu) ve NGINX dahil olmak üzere tüm GitLab alt hizmetlerinin durumunu gösterecektir.

    Adım 10: Kuruluşunuz İçin İlk GitLab Yapılandırması

    GitLab yüklü ve çalışır durumda olduğuna göre, bunu ekibinizin ihtiyaçlarına göre yapılandırmanın zamanı geldi. GitLab web arayüzü aracılığıyla ayarlanacak temel alanlar şunlardır:

    Kullanıcı Yönetimi

    Admin Area → Users bölümüne giderek ekip üyeleriniz için kullanıcı hesapları oluşturun. LDAP, OAuth ve SAML dahil olmak üzere kimlik doğrulama yöntemlerini yapılandırabilirsiniz.

    Gruplar ve Projeler

    • Gruplar ilgili projeleri organize etmenize ve izinleri ölçekte yönetmenize olanak tanır
    • Projeler kendi sorun izleyicileri, wiki’leri ve CI/CD boru hatları olan bireysel depolarıdır

    CI/CD Boru Hatları

    GitLab’ın yerleşik CI/CD’si en güçlü özelliklerinden biridir. Otomatik derleme, test ve dağıtım boru hatlarını tanımlamak için depo kökünüzde .gitlab-ci.yml dosyası oluşturun.

    Depo Ayarları

    Her projenin Settings → Repository bölümü altında dal koruma kurallarını, birleştirme isteği onaylarını ve kod inceleme iş akışlarını yapılandırın.

    Yedekleme Yapılandırması

    /etc/gitlab/gitlab.rb dosyasında aşağıdakileri yapılandırarak otomatik yedeklemeleri ayarlayın:

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

    Herhangi bir zamanda aşağıdaki komutla manuel yedekleme çalıştırın:

    sudo gitlab-backup create

    Firewall Yapılandırması

    Ubuntu sunucunuzda UFW (Uncomplicated Firewall) etkinse, HTTP ve HTTPS trafiğine izin verdiğinizden emin olun:

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

    Yaygın Sorunları Giderme

    SorunÇözüm
    Kurulumdan sonra GitLab erişilemiyorGüvenlik duvarı kurallarını kontrol edin; EXTERNAL_URL öğesini /etc/gitlab/gitlab.rb içinde doğrulayın
    502 Bad Gateway hatasısudo gitlab-ctl restart çalıştırın; sudo gitlab-ctl tail ile günlükleri kontrol edin
    Let's Encrypt sertifikası hatası80 numaralı bağlantı noktasının açık olduğundan ve alan adı DNS'inin doğru şekilde yapılandırıldığından emin olun
    Yüksek bellek kullanımıgitlab.rb içinde Puma çalışanlarını azaltın: puma['worker_processes'] = 2
    E-posta bildirimleri gönderilmiyorSMTP kimlik bilgilerini doğrulayın ve test etmek için sudo gitlab-rails console çalıştırın

    Sonuç

    Ubuntu üzerine GitLab kurulumu, tam kontrolünüz altında kurumsal düzeyde bir DevOps platformu sunan basit bir işlemdir. Bu kılavuzu takip ederek, HTTPS şifrelemesi, e-posta bildirimleri ve uygun hizmet yönetimi ile tam işlevsel bir GitLab örneği kurmuş oldunuz — gerçek dünya geliştirme iş akışları için hazır.

    GitLab’ı kendi sunucunuzda barındırmak, ekibinize iş akışlarını özelleştirme, veri egemenliğini koruma ve mevcut altyapınızla entegrasyon yapma özgürlüğü verir; bunu yaparken tekrarlayan SaaS abonelik maliyetlerinden kaçınırsınız. Sorunsuz bir GitLab deneyiminin anahtarı, güvenilir ve yüksek performanslı bir sunucuyla başlamaktır.

    GitLab için sağlam bir temel gereken ekipler için, AlexHost’un Dedicated Servers maksimum performans ve izolasyon sunarken, VPS Hosting planları daha küçük ekipler ve büyüyen projeler için uygun maliyetli ve ölçeklenebilir bir alternatif sağlar. Her iki seçenek de tam root erişimi, SSD depolama ve 24/7 teknik destek ile gelir — GitLab’ı güvenle çalıştırmak için ihtiyacınız olan her şey.