Web Barındırmanızda Özel Bir Git Sunucusu Nasıl Kurulur

Kod yönetmek ve ekip üyeleriyle işbirliği yapmak her geliştirme projesi için çok önemlidir. GitHub ve GitLab gibi platformlar popüler olsa da, web barındırmanızda kendi özel Git sunucunuzu kurmak, projeleriniz üzerinde daha fazla kontrol sahibi olmanızı, gizliliğinizi garantilemenizi ve potansiyel olarak maliyet tasarrufu sağlamanızı sağlayabilir. Bu eğitim, web barındırmanızda özel bir Git sunucusu kurma adımlarında size rehberlik edecektir.

1. Neden Özel Bir Git Sunucusu Kurmalısınız?

Kuruluma başlamadan önce, kendi Git sunucunuzun olmasının faydalarını anlamak önemlidir:

  • Gizlilik: Kodunuz tamamen gizli ve sizin kontrolünüz altında kalır.
  • Özelleştirme: Sunucuyu özel ihtiyaçlarınızı ve iş akışlarınızı karşılayacak şekilde uyarlayın.
  • Kullanıcı Sınırı Yok: Özel depoların veya işbirlikçilerin sayısındaki sınırlamalardan kaçının.
  • Maliyet Etkinliği: Birden fazla kullanıcısı olan ekipler için kendi kendine barındırma, popüler platformlardaki ücretli planlardan daha uygun fiyatlı olabilir.

2. Ön koşullar

Başlamadan önce aşağıdakilere sahip olduğunuzdan emin olun:

  • VPS veya Özel Sunucu: Paylaşımlı barındırma genellikle bir Git sunucusu kurmak için gerekli erişim ve kaynakları sağlamaz.
  • SSH Erişimi: Git sunucusunu kurmak ve yapılandırmak için sunucunuza SSH erişiminiz olması gerekir.
  • Temel Linux Bilgisi: Komut satırı ve Linux'a aşinalık şarttır.

3. Git'i Sunucunuza Yükleme

Öncelikle Git'i sunucunuza yüklemeniz gerekecek. Şu adımları izleyin:

  1. Sunucuyu Güncelle: Run the following command to ensure your server’s package list is up to date:
    sudo apt-get güncelleme
  2. Git'i yükleyin: Install Git by running:
    sudo apt-get git'i yükle
  3. Kurulumu Doğrulayın: Check that Git has been installed correctly by typing:
    git --sürüm

4. Git Kullanıcısı Oluşturma

Git depolarınızı yönetmek için ayrı bir kullanıcı oluşturmak iyi bir uygulamadır:

  1. Yeni Kullanıcı Oluştur: Run the following command to create a user named ‘git’:
    sudo adduser git
  2. SSH Erişimini Ayarlayın: Add your SSH key to the new user’s authorized keys to enable secure access:
    sudo mkdir /home/git/.ssh
    sudo touch /home/git/.ssh/authorized_keys
    sudo nano /home/git/.ssh/authorized_keys

    Genel SSH anahtarınızı authorized_keys dosyasına yapıştırın, kaydedip çıkın.

  3. İzinleri Ayarla: Adjust permissions for the SSH directory:
    sudo chown -R git:git /home/git/.ssh
    sudo chmod 700 /home/git/.ssh
    sudo chmod 600 /home/git/.ssh/authorized_keys

5. Bir Depo Oluşturma

Artık ilk Git deponuzu oluşturabilirsiniz:

  1. Depolar için Bir Dizin Oluşturun: Log in as the ‘git’ user and create a directory for your repositories:
    sudo su - git
    mkdir repos
    cd repos
  2. Bir Depoyu Başlatın: Create a new Git repository by running:
    git init --bare projeniz.git

    Bu, kodun gönderilip çekildiği uzak depolar için ideal olan yalın bir depo oluşturur.

6. Klonlama ve Depoya Gönderme

Deponuz ayarlandıktan sonra artık onu yerel makinenize kopyalayabilir ve içine kod gönderebilirsiniz:

  1. Depoyu Klonlayın: On your local machine, run:
    git clone git@your-server-ip:/home/git/repos/your-project.git
  2. Dosyaları Ekleyin ve Onaylayın: Add your files to the repository, commit them, and push the changes:
    cd your-project
    echo "# Your Project" >> README.md
    git add .
    git commit -m "Initial commit"
    git push origin master

7. Birden Fazla Depoyu Yönetme

Birden fazla depo barındırmayı planlıyorsanız, her proje için depo oluşturma adımlarını tekrarlayabilirsiniz:

  • Her depo için /home/git/repos/ altında yeni bir dizin oluşturun.
  • Her yeni deponun başlatılması git init --bare your-new-project.git komutuyla yapılır.
  • Her depoya SSH aracılığıyla bağımsız olarak erişin ve yönetin.

8. Git Sunucunuzu Güvence Altına Alma

Güvenlik, özel bir Git sunucusunu barındırmanın kritik bir yönüdür. Güvenliği artırmak için bazı adımlar şunlardır:

  • Parola Kimlik Doğrulamasını Devre Dışı Bırak: SSH'yi yalnızca anahtar tabanlı kimlik doğrulamasına izin verecek şekilde yapılandırmak için /etc/ssh/sshd_config öğesini düzenleyin ve PasswordAuthentication no olarak ayarlayın.
  • Güvenlik Duvarı Yapılandırması: Sadece gerekli portlara (örneğin SSH) izin vermek ve diğerlerini engellemek için UFW gibi araçlar kullanın.
  • Düzenli Yedeklemeler: Veri kaybını önlemek için depolarınızın düzenli yedeklerini uygulayın.

9. Web Arayüzlerinin Kurulumu (İsteğe bağlı)

Depolarınızı yönetmek için bir web arayüzünü tercih ediyorsanız GitWeb veya Gitea gibi yazılımları yükleyebilirsiniz:

  • GitWeb: Git depolarını görüntülemek için basit bir web arayüzü.
  • Gitea: GitHub'a benzer kullanıcı dostu bir arayüz sağlayan kendi kendine barındırılan bir Git servisi.

Her iki seçenek de ek kurulum ve yapılandırma gerektirir ancak Git sunucunuzun kullanılabilirliğini büyük ölçüde artırabilir.

Çözüm

Web barındırmanızda özel bir Git sunucusu kurmak, kodunuz üzerinde tam kontrol sağlar, gizlilik sunar ve iş akışınıza uyacak şekilde özelleştirmeye olanak tanır. Bu kılavuzu izleyerek, kendi Git depolarınızı oluşturabilir ve yönetebilir, geliştirme sürecinizin güvenli ve verimli kalmasını sağlayabilirsiniz.