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

میزبانی سرور 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