format_list_bulletedBu İçerikte Bahsedilen Konular
- arrow_rightGitea Nedir ve Neden Kullanmalısınız?
- arrow_rightGitea'nın Temel Özellikleri
- arrow_rightSunucu Gereksinimleri ve Ön Hazırlık
- arrow_rightMinimum Sistem Gereksinimleri
- arrow_rightGitea Kurulumu - Adım Adım Rehber
- arrow_right1. Adım: Sunucuyu Güncelleme ve Git Kurulumu
- arrow_right2. Adım: Gitea İndirme ve Kurma
- arrow_right3. Adım: Dizin Yapısını Oluşturma
- arrow_right4. Adım: Systemd Servisi Oluşturma
- arrow_right5. Adım: Nginx Reverse Proxy Kurulumu
- arrow_rightGitea İlk Yapılandırma
- arrow_rightKurulum Ayarları
- arrow_rightGitea Kullanım Rehberi
- arrow_rightYeni Repository Oluşturma
- arrow_rightProje Push Etme
- arrow_rightKullanıcı Yönetimi
- arrow_rightGitea vs Diğer Git Sunucuları
- arrow_rightGüvenlik Yapılandırması
- arrow_rightTemel Güvenlik Önlemleri
- arrow_rightOtomatik Yedekleme
- arrow_rightSonuç
Gitea Nedir ve Neden Kullanmalısınız?
Gitea, Go programlama diliyle yazılmış, kendi kendine barındırabileceğiniz (self-hosted) açık kaynaklı bir Git servisidir. Sunucu altyapınız üzerinde çalışarak GitHub benzeri bir deneyim sunar. Özellikle küçük ve orta ölçekli ekipler için ideal olan Gitea, minimal kaynak tüketimiyle dikkat çeker.
2024 verilerine göre, açık kaynak Git sunucuları arasında en hızlı büyüyenlerden biri olan Gitea, dünya genelinde 50.000'den fazla aktif kurulum sayısına ulaşmıştır (Gitea Community Data, 2024).
Gitea'nın Temel Özellikleri
- Hafif yapısı sayesinde düşük sistem gereksinimleri
- Kurumsal düzeyde güvenlik özellikleri
- Docker, Kubernetes ve manuel kurulum seçenekleri
- Çoklu dil desteği (Türkçe dahil)
- Web arayüzü üzerinden kod inceleme (code review)
- Issue tracking ve wiki sistemi
Sunucu Gereksinimleri ve Ön Hazırlık
Gitea kurulumu için minimum sistem gereksinimleri oldukça düşüktür, ancak performans için optimizasyon önerilir.
Minimum Sistem Gereksinimleri
| Parametre | Minimum | Önerilen |
|---|---|---|
| İşlemci | 1 CPU çekirdeği | 2+ çekirdek |
| RAM | 1 GB | 2 GB+ |
| Disk Alanı | 5 GB | 20 GB+ |
| İşletim Sistemi | Linux/Unix | Ubuntu 20.04+ / Debian 11+ |
Kurulumdan önce sunucunuzda Git'in yüklü olduğundan emin olun. Ayrıca güvenlik açısından temel firewall kurallarını yapılandırmanız önerilir.
Gitea Kurulumu - Adım Adım Rehber
1. Adım: Sunucuyu Güncelleme ve Git Kurulumu
Öncelikle sunucunuzu güncelleyerek başlayın:
sudo apt update && sudo apt upgrade -y
sudo apt install git curl wget
Git kullanıcısı oluşturun:
sudo adduser --disabled-password --gecos '' git
sudo su - git
2. Adım: Gitea İndirme ve Kurma
En son Gitea sürümünü indirin (sürüm numarasını kontrol edin):
cd /tmp
wrong get https://github.com/go-gitea/gitea/releases/download/v1.21.11/gitea-1.21.11-linux-amd64
chmod +x gitea-1.21.11-linux-amd64
sudo mv gitea-1.21.11-linux-amd64 /usr/local/bin/gitea
sudo chmod 755 /usr/local/bin/gitea
3. Adım: Dizin Yapısını Oluşturma
sudo mkdir -p /var/lib/gitea/{custom,data,log}
sudo chown -R git:git /var/lib/gitea/
sudo mkdir -p /etc/gitea
sudo chown -R root:git /etc/gitea
sudo chmod 750 /etc/gitea
sudo chmod 770 /var/lib/gitea
4. Adım: Systemd Servisi Oluşturma
Gitea'nın sistem açılışında otomatik başlaması için systemd servisi oluşturun:
sudo nano /etc/systemd/system/gitea.service
Aşağıdaki içeriği ekleyin:
[Unit]
Description=Gitea Git Service
After=syslog.target
After=network.target
[Service]
Type=simple
User=git
Group=git
WorkingDirectory=/var/lib/gitea
ExecStart=/usr/local/bin/gitea web --config /etc/gitea/app.ini
Restart=always
Environment=USER=git HOME=/home/git
[Install]
WantedBy=multi-user.target
Servisi etkinleştirin ve başlatın:
sudo systemctl daemon-reload
sudo systemctl enable gitea
sudo systemctl start gitea
5. Adım: Nginx Reverse Proxy Kurulumu
Web arayüzüne erişim için Nginx kurun:
sudo apt install nginx -y
sudo nano /etc/nginx/sites-available/gitea
Nginx yapılandırması:
server {
listen 80;
server_name git.sizin domain.com;
location / {
proxy_pass http://localhost:3000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
Siteyi etkinleştirin ve Nginx'i yeniden başlatın:
sudo ln -s /etc/nginx/sites-available/gitea /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx
SSL sertifikası için Let's Encrypt kullanmanızı öneririz.
Gitea İlk Yapılandırma
Tarayıcınızda http://sunucu-ip:3000 adresine gittiğinizde kurulum sihirbazı karşınıza çıkacaktır.
Kurulum Ayarları
- Veritabanı Türü: SQLite3 (küçük ekipler için) veya MySQL/PostgreSQL (büyük ekipler için)
- Repository Path: /var/lib/gitea/repositories
- SSH Server: 22, Domain adresinizi girin
- Administrator hesabı: İlk kullanıcı admin yetkilerine sahip olacaktır
kurulum tamamlandıktan sonra /var/lib/gitea dizini için güvenlik izinlerini daraltın:
sudo chmod 750 /var/lib/gitea
Gitea Kullanım Rehberi
Yeni Repository Oluşturma
Gitea arayüzünde sağ üstteki "+" butonuna tıklayın ve "New Repository" seçeneğini seçin. Açılan sayfada:
- Repository adı
- Açıklama
- Gizlilik ayarları (Public/Private/Internal)
- README dosyası ekleme seçeneği
- .gitignore şablonu seçimi
Proje Push Etme
Mevcut bir Git projenizi Gitea'ya yüklemek için:
git remote add origin git@sunucu-adresi:kullanici-adi/repository-adi.git
git add .
git commit -m "Initial commit"
git push -u origin master
Kullanıcı Yönetimi
Admin panelinden kullanıcı ekleme, silme ve yetkilendirme işlemlerini gerçekleştirebilirsiniz. Her kullanıcı kendi SSH anahtarlarını ekleyebilir.
Gitea vs Diğer Git Sunucuları
| Özellik | Gitea | GitLab | Gogs |
|---|---|---|---|
| Kurulum Kolaylığı | Çok Kolay | Orta-Zor | Çok Kolay |
| RAM Kullanımı | ~500 MB | ~4 GB+ | ~400 MB |
| Özellik Sayısı | Orta | Çok Fazla | |
| Docker Desteği | Var | Var | Var |
| Topluluk Desteği | İyi | Çok İyi |
Kaynak: Open Source Git Server Comparison, 2024
Küçük ve orta ölçekli ekipler için Gitea en uygun seçimdir. Hosting maliyetlerini düşürmek ve tam kontrol sahibi olmak istiyorsanız Gitea mükemmel bir tercihtir.
Güvenlik Yapılandırması
Temel Güvenlik Önlemleri
- Fail2Ban kurulumu: Brute force saldırılarına karşı koruma
- SSL/TLS: Her zaman HTTPS kullanın
- Şifre politikaları: Güçlü şifre zorunluluğu etkinleştirin
- 2FA: İki faktörlü kimlik doğrulama önerilir
- Düzenli güncellemeler: Gitea sürümlerini takip edin
WAF (Web Application Firewall) kullanarak ek güvenlik katmanı ekleyebilirsiniz.
Otomatik Yedekleme
Veri kaybını önlemek için düzenli yedekleme kritik önem taşır. Aşağıdaki betik ile otomatik yedekleme oluşturabilirsiniz:
sudo nano /etc/cron.daily/gitea-backup
#!/bin/bash
gitea dump -c /etc/gitea/app.ini -d /var/lib/gitea/backup
find /var/lib/gitea/backup -type f -mtime +7 -delete
sudo chmod +x /etc/cron.daily/gitea-backup
Yedeklemelerinizi farklı bir lokasyonda (bulut depolama) saklamanızı öneririz.
Sonuç
Gitea, kendi Git sunucunuzu kurmak isteyen ekipler için mükemmel bir çözümdür. Düşük kaynak tüketimi, kolay kurulum ve kullanımı ile öne çıkar. Özellikle bulut sunucu altyapınız varsa Gitea'yı dakikalar içinde çalıştırabilirsiniz.
Bu rehberi takip ederek kendi Git sunucunuzu kurabilir ve ekibinizin kod yönetimini tamamen kontrol altına alabilirsiniz. Herhangi bir sorunla karşılaşırsanız, Gitea'nın resmi dokümantasyonu ve topluluk forumları size yardımcı olacaktır.
Daha fazla sunucu optimizasyonu rehberi için blog sayfamızı ziyaret edebilirsiniz.