ब्लॉग पर वापस जाएं
फरवरी 2, 2026गाइड

VPS पर निजी Git सर्वर कैसे सेट अप करें

VPS पर अपना निजी Git सर्वर सेट अप करने का पूरा गाइड। GitLab, Gitea या bare repositories का उपयोग करके पूर्ण नियंत्रण और गोपनीयता के साथ Git repositories होस्ट करना सीखें।

VPS पर निजी Git सर्वर कैसे सेट अप करें

अपना Git सर्वर होस्ट करना आपको अपने कोड repositories पर पूर्ण नियंत्रण देता है, गोपनीयता सुनिश्चित करता है और तृतीय-पक्ष सेवाओं पर निर्भरता से बचता है। चाहे आपको एक सरल bare repository की आवश्यकता हो या एक पूर्ण-सुविधा Git होस्टिंग प्लेटफॉर्म की, यह गाइड आपके VPS पर निजी Git सर्वर सेट अप करने के लिए कई विकल्पों को कवर करता है।

अपना Git सर्वर क्यों होस्ट करें?

  • पूर्ण गोपनीयता: आपका कोड आपके सर्वर पर रहता है
  • कोई विक्रेता लॉक-इन नहीं: अपने repositories पर पूर्ण नियंत्रण
  • अनुकूलन: बिल्कुल वैसे ही कॉन्फ़िगर करें जैसा आप चाहते हैं
  • लागत प्रभावी: असीमित repositories के लिए एक सर्वर
  • अनुपालन: डेटा निवास आवश्यकताओं को पूरा करें
  • सीखना: 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: Bare Git Repository (सरल)

वेब इंटरफेस के बिना बुनियादी 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 पहुंच कॉन्फ़िगरेशन

सुरक्षित Git पहुंच के लिए SSH सेट अप करें:

bash
adduser git
su - git
mkdir .ssh
chmod 700 .ssh
nano .ssh/authorized_keys
# डेवलपर्स की सार्वजनिक कुंजी जोड़ें
chmod 600 .ssh/authorized_keys

# कनेक्शन परीक्षण:
ssh git@आपका-सर्वर

सुरक्षा सर्वोत्तम प्रथाएं

  • पासवर्ड के बजाय SSH कुंजी का उपयोग करें
  • दो-कारक प्रमाणीकरण सक्षम करें (GitLab/Gitea)
  • Repositories के नियमित बैकअप
  • Git सर्वर सॉफ़्टवेयर अपडेट रखें
  • पहुंच को प्रतिबंधित करने के लिए फ़ायरवॉल कॉन्फ़िगर करें
  • वेब इंटरफेस के लिए SSL/TLS का उपयोग करें
  • पहुंच नियंत्रण और अनुमतियां लागू करें
  • संदिग्ध गतिविधि के लिए लॉग की निगरानी करें

बैकअप रणनीति

नियमित बैकअप आवश्यक हैं:

bash
#!/bin/bash
# Git repository बैकअप स्क्रिप्ट
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