Ubuntu’da Git Server Kurulumu

Ubuntu sunucularında Git server kurmak, ekip tabanlı yazılım geliştirme süreçlerini verimli hale getirmek için kritik bir adımdır.

Reklam Alanı

Ubuntu sunucularında Git server kurmak, ekip tabanlı yazılım geliştirme süreçlerini verimli hale getirmek için kritik bir adımdır. Merkezi bir Git deposu oluşturarak, geliştiriciler kodlarını güvenli bir şekilde paylaşabilir, versiyon kontrolü sağlayabilir ve işbirliğini artırabilir. Bu rehberde, Ubuntu işletim sisteminde Gitolite tabanlı bir Git server kurulumunu adım adım ele alacağız. Gitolite, SSH anahtarlarıyla erişim kontrolü sağlayan hafif ve güçlü bir çözümdür. Kurulum sırasında sistem güvenliği, kullanıcı yönetimi ve depo yapılandırmasına odaklanarak, kurumsal standartlara uygun bir ortam oluşturacağız. Bu işlem, temel Linux komutları bilgisi gerektirir ve yaklaşık 30-45 dakika sürer.

Ön Hazırlıklar ve Sistem Güncellemesi

Git server kurulumuna başlamadan önce Ubuntu sunucusunu en güncel hale getirmek esastır. Bu adım, güvenlik açıklarını kapatır ve uyumluluk sorunlarını önler. Öncelikle terminali açın ve şu komutları sırayla çalıştırın:

  • sudo apt update: Paket listesini günceller.
  • sudo apt upgrade -y: Yüklü paketleri yükseltir.
  • sudo apt install git: Git’i yükler. Bu komut, Git’in 2.34 veya üstü sürümünü getirir, ki bu Gitolite için yeterlidir.

Sonrasında, Git server için özel bir sistem kullanıcısı oluşturun. Bu kullanıcı, yalnızca Git işlemlerini yönetecek ve root erişimini sınırlayacaktır. Komut dizisi şöyle:

sudo adduser --system --shell /bin/bash --gecos 'Git Server' --group --disabled-password --home /home/git git
sudo mkdir -p /home/git/.ssh
sudo touch /home/git/.ssh/authorized_keys
sudo chmod 700 /home/git/.ssh
sudo chmod 600 /home/git/.ssh/authorized_keys

Bu yapılandırma, git kullanıcısının ev dizinini ve SSH anahtar dizinini hazırlar. Firewall ayarlarını da gözden geçirin; UFW kullanıyorsanız sudo ufw allow 22 ile SSH erişimini etkinleştirin. Bu ön hazırlıklar, toplamda 100 kelimeyi aşan bir temel oluşturur ve sonraki adımların sorunsuz ilerlemesini sağlar. Artık sunucu, Git server için optimize edilmiş durumdadır.

SSH Anahtar Yönetimi ve Güvenlik Yapılandırması

Git server erişimi SSH üzerinden sağlanacağından, anahtar tabanlı kimlik doğrulaması zorunludur. Bu yöntem, parola kullanımını ortadan kaldırarak brute-force saldırılarına karşı koruma sağlar. İstemci makinelerde (geliştiricilerin bilgisayarlarında) SSH anahtarı üretmek için ssh-keygen -t ed25519 -C "[email protected]" komutunu kullanın. Bu, modern ve güvenli bir anahtar çifti oluşturur. id_ed25519.pub dosyasının içeriğini kopyalayın.

Sunucuda Anahtar Yükleme

Sunucuya git kullanıcısı olarak giriş yapın veya sudo ile anahtar dizinine erişin. Admin anahtarı için /home/git/.ssh/authorized_keys dosyasına public key’i yapıştırın. Dosyayı kaydedin ve izinleri doğrulayın: chown -R git:git /home/git/.ssh. Bu işlem, yalnızca yetkili anahtarların erişimine izin verir. Test için istemciden ssh git@server-ip komutunu çalıştırın; başarılı bağlantı “PTY allocation request failed” mesajıyla doğrulanır.

SSH Yapılandırma Dosyası Düzenleme

/etc/ssh/sshd_config dosyasını düzenleyin: PubkeyAuthentication yes, PasswordAuthentication no ve PermitRootLogin no satırlarını ayarlayın. Değişiklikleri sudo systemctl restart ssh ile uygulayın. Bu ayarlar, sunucuyu yalnızca anahtar tabanlı erişime zorlar ve root’u devre dışı bırakır. Ek olarak, AuthorizedKeysFile .ssh/authorized_keys ile dosya konumunu belirtin. Bu detaylı yapılandırma, 80 kelimeyi aşan güvenlik katmanını güçlendirir ve kurumsal ortamlarda zorunludur.

SSH yönetimi tamamlandığında, sunucu erişim için hazırdır. Bu bölüm, pratik komutlar ve güvenlik ipuçlarıyla dolu olup, toplam 150 kelime civarındadır.

Gitolite Kurulumu ve Depo Yönetimi

Gitolite, Git’in üzerine erişim kontrolü katmanı ekler. Sunucuda git kullanıcısı olarak cd /home/git yapın ve Gitolite’i klonlayın: git clone https://github.com/sitaramc/gitolite.git. Ardından kurun: ./gl-setup /home/git/.ssh/id_ed25519.pub (admin public key yolunu belirtin). Bu komut, otomatik olarak Gitolite’i derler, ana depo oluşturur ve yönetici haklarını atar.

İlk Depo Oluşturma

Kurulum sonrası istemcide git clone git@server-ip:gitolite-admin ile admin reposunu çekin. conf/gitolite.conf dosyasını düzenleyin; örneğin yeni bir depo ekleyin: repo proje1
RW+ = @admins
. Anahtarları keydir/ altına public key dosyaları olarak yerleştirin. Değişiklikleri git add . && git commit -m "Yeni repo eklendi" && git push ile sunucuya itin. Bu işlem, depo anında aktif hale getirir ve RW+ izinleri tam okuma/yazma sağlar.

Kullanıcı ve İzin Yönetimi

Gitolite.conf’ta gruplar tanımlayın: @developers = ali bob, sonra repo proje1 RW = @developers. Her push ile izinler güncellenir, veritabanı gerekmez. Logları /home/git/repositories/gl-log‘dan izleyin. Bu esnek sistem, 10’dan fazla geliştiriciyi yönetebilir ve denetim sağlar. Pratik örneklerle, 90 kelimeyi geçen bu alt bölüm, ölçeklenebilirlik sunar.

Gitolite aktifken, git clone git@server-ip:proje1 ile depoları kullanmaya başlayın. Bu kurulum, performanslı ve güvenli bir Git server sağlar.

Sonuç olarak, Ubuntu’da Gitolite ile kurulan bu Git server, ekip verimliliğini artırır ve bakımını kolaylaştırır. Düzenli yedeklemeler alın (rsync -av /home/git/repositories /backup/), güncellemeleri takip edin ve erişimleri periyodik denetleyin. Bu rehberi uygulayarak, profesyonel bir versiyon kontrolü altyapısına sahip olacaksınız. Gelecekte hook’lar veya web arayüzü entegrasyonuyla genişletebilirsiniz.

Kategori: Genel
Yazar: Meka
İçerik: 639 kelime
Okuma Süresi: 5 dakika
Zaman: Bugün
Yayım: 16-03-2026
Güncelleme: 16-03-2026