Ubuntu’ya GitLab Kurulumu: Adım Adım Tam Rehber
GitLab, bugün mevcut olan en güçlü açık kaynaklı DevOps platformlarından biridir ve Git tabanlı sürüm kontrolü, sürekli entegrasyon/sürekli teslimat (CI/CD) boru hatları, sorun izleme ve ekip işbirliği özellikleri dahil olmak üzere kapsamlı bir araç paketi sunmaktadır — hepsi tek bir çatı altında. Küçük bir geliştirme ekibini yönetiyor olsanız veya kurumsal ölçekte yazılım projeleri çalıştırıyor olsanız, GitLab’ı Ubuntu üzerinde kendi sunucunuzda barındırmak verileriniz, iş akışlarınız ve altyapınız üzerinde tam kontrol sağlar.
Bu kılavuz, GitLab Community Edition (CE) kurulumunun ve yapılandırmasının her adımında sizi Ubuntu sunucusunda yol gösterir; ilk sistem hazırlanmasından HTTPS etkinleştirmeye ve hizmetleri yönetmeye kadar.
Ön Koşullar
Başlamadan önce, aşağıdakilerin yerinde olduğundan emin olun:
- Ubuntu 20.04 veya 22.04 LTS çalıştıran bir sunucu (taze kurulum önerilir)
- En az 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 kesinlikle önerilir)
- Güvenlik duvarınızda 80 ve 443 bağlantı noktaları açık
> İpucu: En iyi GitLab performansı için, yeterli RAM ve CPU kaynaklarına sahip bir VPS Barındırma planında dağıtmayı düşünün. AlexHost VPS planları Linux iş yükleri için optimize edilmiş ve tam root erişimi ile gelir; bu da onları GitLab gibi kendi kendine barındırılan DevOps platformları için ideal bir ortam haline getirir.
Adım 1: Sistem Paketlerini Güncelleyin
Herhangi bir yazılım kurmadan önce, sisteminizin paket indeksinin 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ı dahil olmak üzere doğru şekilde ç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 şöyledir:
| 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 iç komut dosyaları için gereklidir |
Adım 3: Resmi GitLab Deposunu Ekleyin
GitLab, kurulumu ve gelecekteki yükseltmeleri basit hale getiren resmi bir paket deposu tutar. Depo kurulum komut dosyasını indirmek ve yürütmek 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 GitLab’ı doğrudan resmi kaynaktan yüklemeye hazırdır.
Adım 4: GitLab Community Edition’ı Yükleyin
Şimdi apt paket yöneticisini kullanarak GitLab CE’yi 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: Kurulum 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.
Kurulum sırasında GitLab şunları yapacaktır:
- Tüm paketlenmiş hizmetleri yükleyin (veritabanı, önbellek, web sunucusu, vb.)
- Sağladığınız
EXTERNAL_URLtemel alınarak kendisini yapılandırın
/etc/gitlab/ içinde ilk yapılandırma dosyaları 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ı ayarlar 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 Oturum Açma
İlk ziyaretinizde, GitLab sizi bir yönetici parolası ayarlamaya davet edecektir. Ayarladıktan sonra, aşağıdaki kimlik bilgilerini kullanarak oturum açın:
Kullanıcı adı: root> Güvenlik İpucu: İlk oturum açmadan 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ğrulaması, birleştirme isteği güncellemeleri, CI/CD uyarıları ve parola sıfırlaması 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 sunmaktadır; yüksek teslimat ile istikrarlı SMTP geçişi sağlar.
Adım 8: Let’s Encrypt ile HTTPS’yi Etkinleştirin (Önerilir)
GitLab’ı HTTPS üzerinden çalıştırmak, herhangi bir üretim veya ekip ortamı için kesinlikle ö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 olarak 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; auto_renew ayarı, manuel müdahale olmaksızın sona ermeden önce yenilenmesini sağlar.
> Alternatif: SSL sertifikalarını bağımsız olarak yönetmeyi tercih ediyorsanız veya joker/çok etki alanı sertifikalarına ihtiyacınız varsa, AlexHost GitLab’ın NGINX ayarlarında manuel olarak yapılandırılabilen bir dizi SSL Sertifikası sunmaktadır.
Adım 9: GitLab Hizmetlerini Yönetme
GitLab, gitlab-ctl adlı kendi hizmet yönetimi aracını paketler. GitLab hizmetlerini kontrol etmek için aşağıdaki komutları kullanın:
GitLab’ı Başlatın
sudo gitlab-ctl startGitLab’ı Durdurun
sudo gitlab-ctl stopGitLab’ı Yeniden Başlatın
sudo gitlab-ctl restartHizmet Durumunu Kontrol Edin
sudo gitlab-ctl statusGerçek Zamanlı Günlükleri Görüntüleyin
sudo gitlab-ctl tailBelirli Bir Hizmetin Günlüklerini Görüntüleyin (örneğin, NGINX)
sudo gitlab-ctl tail nginxBu komutlar sorun giderme ve rutin bakım için paha biçilmezdir. status komutu, PostgreSQL, Redis, Sidekiq, Puma (web sunucusu) ve NGINX dahil olmak üzere tüm GitLab alt hizmetlerinin durumunu görüntüleyecektir.
