بازگشت به وبلاگ
فوریه 2, 2026راهنماها

نحوه راه‌اندازی سرور Git خصوصی روی VPS

راهنمای کامل برای راه‌اندازی سرور Git خصوصی خود روی VPS. یاد بگیرید چگونه مخازن Git را با کنترل کامل و حریم خصوصی با استفاده از GitLab، Gitea یا مخازن bare میزبانی کنید.

نحوه راه‌اندازی سرور Git خصوصی روی VPS

میزبانی سرور Git خود کنترل کامل بر مخازن کد شما را فراهم می‌کند، حریم خصوصی را تضمین می‌کند و از وابستگی به سرویس‌های شخص ثالث جلوگیری می‌کند. چه به یک مخزن bare ساده نیاز داشته باشید و چه یک پلتفرم میزبانی Git کاملاً کاربردی، این راهنما چندین گزینه برای راه‌اندازی یک سرور Git خصوصی روی VPS شما را پوشش می‌دهد.

چرا سرور Git خود را میزبانی کنیم؟

  • حریم خصوصی کامل: کد شما روی سرور شما باقی می‌ماند
  • بدون وابستگی به فروشنده: کنترل کامل بر مخازن شما
  • سفارشی‌سازی: پیکربندی دقیقاً همانطور که می‌خواهید
  • مقرون به صرفه: یک سرور برای مخازن نامحدود
  • انطباق: برآورده کردن الزامات اقامت داده
  • یادگیری: درک داخلی سرور Git

گزینه 1: GitLab (کاملاً کاربردی)

GitLab یک پلتفرم DevOps کامل ارائه می‌دهد:

bash
curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | bash
apt install gitlab-ce

gitlab-ctl reconfigure
# دسترسی به GitLab در http://ip-سرور-شما
# نام کاربری پیش‌فرض: root
# تنظیم رمز عبور در اولین ورود

گزینه 2: Gitea (سبک)

Gitea یک سرویس Git سبک و خودمیزبان است:

bash
wget -O gitea https://dl.gitea.io/gitea/1.21.0/gitea-1.21.0-linux-amd64
chmod +x gitea
mv gitea /usr/local/bin/

# ایجاد سرویس systemd
nano /etc/systemd/system/gitea.service
# پیکربندی و راه‌اندازی Gitea
systemctl enable gitea
systemctl start gitea

گزینه 3: مخزن Git Bare (ساده)

برای میزبانی Git پایه بدون رابط وب:

bash
mkdir -p /srv/git/پروژه-من.git
cd /srv/git/پروژه-من.git
git --bare init

# تنظیم مجوزهای صحیح
chown -R git:git /srv/git
chmod -R 755 /srv/git

# کلون از کلاینت:
git clone git@سرور-شما:/srv/git/پروژه-من.git

پیکربندی دسترسی SSH

راه‌اندازی SSH برای دسترسی امن Git:

bash
adduser git
su - git
mkdir .ssh
chmod 700 .ssh
nano .ssh/authorized_keys
# افزودن کلیدهای عمومی توسعه‌دهندگان
chmod 600 .ssh/authorized_keys

# تست اتصال:
ssh git@سرور-شما

بهترین شیوه‌های امنیتی

  • استفاده از کلیدهای SSH به جای رمزهای عبور
  • فعال‌سازی احراز هویت دو عاملی (GitLab/Gitea)
  • پشتیبان‌گیری منظم از مخازن
  • نگه‌داری نرم‌افزار سرور Git به‌روز
  • پیکربندی فایروال برای محدود کردن دسترسی
  • استفاده از SSL/TLS برای رابط‌های وب
  • پیاده‌سازی کنترل دسترسی و مجوزها
  • نظارت بر لاگ‌ها برای فعالیت مشکوک

استراتژی پشتیبان‌گیری

پشتیبان‌گیری‌های منظم ضروری هستند:

bash
#!/bin/bash
# اسکریپت پشتیبان‌گیری مخزن Git
BACKUP_DIR="/backup/git"
REPO_DIR="/srv/git"
DATE=$(date +%Y%m%d)

tar -czf $BACKUP_DIR/git-backup-$DATE.tar.gz $REPO_DIR
# نگه‌داری 30 روز آخر
find $BACKUP_DIR -name "*.tar.gz" -mtime +30 -delete