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 -ySonraki 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 perlHer paketin yaptığı şey şu şekildedir:
| Paket | Amaç |
|---|---|
curl | Web’den komut dosyaları ve dosyaları indirir |
openssh-server | Sunucunuza SSH erişimini etkinleştirir |
ca-certificates | SSL/TLS sertifikalarını doğrular |
tzdata | Saat dilimi verilerini sağlar |
perl | GitLab’ı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 bashBu 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-ceBir IP adresi kullanıyorsanız (örneğin, yerel veya özel bir sunucu için):
sudo EXTERNAL_URL="http://YOUR_SERVER_IP" apt install gitlab-cegitlab.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_URLtemelinde 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> 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.rbAş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'] = trueDosyayı 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.rbAş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 reconfigureGitLab 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 startGitLab’ı Durdur
sudo gitlab-ctl stopGitLab’ı Yeniden Başlat
sudo gitlab-ctl restartHizmet Durumunu Kontrol Et
sudo gitlab-ctl statusGerçek Zamanlı Günlükleri Görüntüle
sudo gitlab-ctl tailBelirli Bir Hizmetin Günlüklerini Görüntüle (örn. NGINX)
sudo gitlab-ctl tail nginxBu 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 daysHerhangi bir zamanda aşağıdaki komutla manuel yedekleme çalıştırın:
sudo gitlab-backup createFirewall 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 statusYaygın Sorunları Giderme
| Sorun | Çözüm |
|---|---|
| Kurulumdan sonra GitLab erişilemiyor | Gü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önderilmiyor | SMTP 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.
tasarruf edin