كيفية إعداد خادم Git خاص على VPS
دليل كامل لإعداد خادم Git الخاص بك على VPS. تعلم كيفية استضافة مستودعات Git مع التحكم الكامل والخصوصية باستخدام GitLab أو Gitea أو المستودعات العارية.

استضافة خادم Git الخاص بك يمنحك سيطرة كاملة على مستودعات الكود الخاصة بك، مما يضمن الخصوصية وتجنب الاعتماد على خدمات الطرف الثالث. سواء كنت بحاجة إلى مستودع عاري بسيط أو منصة استضافة Git كاملة الميزات، يغطي هذا الدليل خيارات متعددة لإعداد خادم Git خاص على خادم VPS الخاص بك.
لماذا تستضيف خادم Git الخاص بك؟
- الخصوصية الكاملة: كودك يبقى على خادمك
- لا قفل البائع: التحكم الكامل في مستودعاتك
- التخصيص: التكوين بالضبط كما تريد
- فعال من حيث التكلفة: خادم واحد لمستودعات غير محدودة
- الامتثال: تلبية متطلبات إقامة البيانات
- التعلم: فهم داخليات خادم Git
الخيار 1: GitLab (كامل الميزات)
يوفر GitLab منصة DevOps كاملة:
curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | bash
apt install gitlab-ce
gitlab-ctl reconfigure
# الوصول إلى GitLab على http://your-server-ip
# اسم المستخدم الافتراضي: root
# قم بتعيين كلمة المرور عند أول تسجيل دخولالخيار 2: Gitea (خفيف الوزن)
Gitea هي خدمة Git خفيفة الوزن ومستضافة ذاتيًا:
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 العاري (بسيط)
لاستضافة Git الأساسية بدون واجهة ويب:
mkdir -p /srv/git/myproject.git
cd /srv/git/myproject.git
git --bare init
# تعيين الأذونات المناسبة:
chown -R git:git /srv/git
chmod -R 755 /srv/git
# الاستنساخ من العميل:
git clone git@your-server:/srv/git/myproject.gitتكوين الوصول SSH
إعداد SSH للوصول الآمن إلى Git:
adduser git
su - git
mkdir .ssh
chmod 700 .ssh
nano .ssh/authorized_keys
# أضف المفاتيح العامة للمطورين
chmod 600 .ssh/authorized_keys
# اختبار الاتصال:
ssh git@your-serverأفضل ممارسات الأمان
- استخدم مفاتيح SSH بدلاً من كلمات المرور
- تفعيل المصادقة الثنائية (GitLab/Gitea)
- نسخ احتياطي منتظم للمستودعات
- الحفاظ على تحديث برنامج خادم Git
- تكوين جدار الحماية لتقييد الوصول
- استخدم SSL/TLS للواجهات الويب
- تنفيذ ضوابط الوصول والأذونات
- مراقبة السجلات للأنشطة المشبوهة
استراتيجية النسخ الاحتياطي
النسخ الاحتياطي المنتظم ضروري:
#!/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يوفر إعداد خادم Git الخاص بك سيطرة كاملة على مستودعات الكود الخاصة بك. سواء اخترت GitLab الكامل الميزات أو Gitea خفيف الوزن أو المستودعات العارية البسيطة، سيكون لديك حل خاص وآمن للتحكم في الإصدار. ابدأ بإعداد أساسي وأضف ميزات مثل CI/CD وتتبع المشكلات وأدوات التعاون حسب الحاجة.