كيفية إعداد خادم Git خاص على استضافة الويب الخاصة بك
إن إدارة التعليمات البرمجية والتعاون مع أعضاء الفريق أمر بالغ الأهمية لأي مشروع تطوير. وفي حين تحظى منصات مثل GitHub وGitLab بشعبية كبيرة، فإن إعداد خادم Git خاص بك على استضافة الويب الخاصة بك يمكن أن يمنحك مزيدًا من التحكم في مشاريعك، ويضمن الخصوصية، وربما يوفر التكاليف. سيرشدك هذا البرنامج التعليمي خلال الخطوات لإعداد خادم Git خاص على استضافة الويب الخاصة بك.
1. لماذا إنشاء خادم Git خاص؟
قبل الخوض في عملية الإعداد، من المهم فهم فوائد امتلاك خادم Git الخاص بك:
- الخصوصية: يظل الكود الخاص بك خاصًا تمامًا وتحت سيطرتك.
- التخصيص: قم بتخصيص الخادم لتلبية احتياجاتك وسير العمل المحددة.
- لا توجد حدود للمستخدمين: تجنب القيود المفروضة على عدد المستودعات الخاصة أو المتعاونين.
- فعّالة من حيث التكلفة: بالنسبة للفرق التي تضم مستخدمين متعددين، قد تكون الاستضافة الذاتية أكثر تكلفة من الخطط المدفوعة على المنصات الشائعة.
2. المتطلبات الأساسية
قبل أن تبدأ، تأكد من أن لديك ما يلي:
- VPS أو الخادم المخصص: لا توفر الاستضافة المشتركة عادةً الوصول والموارد اللازمة لإعداد خادم Git.
- الوصول عبر SSH: ستحتاج إلى الوصول عبر SSH إلى خادمك لتثبيت خادم Git وتكوينه.
- المعرفة الأساسية بنظام Linux: يعد التعرف على سطر الأوامر ونظام Linux أمرًا ضروريًا.
3. تثبيت Git على الخادم الخاص بك
أولاً، ستحتاج إلى تثبيت Git على الخادم الخاص بك. اتبع الخطوات التالية:
- تحديث الخادم: Run the following command to ensure your server’s package list is up to date:
sudo apt-get update
- تثبيت Git: Install Git by running:
sudo apt-get install git
- التحقق من التثبيت: Check that Git has been installed correctly by typing:
git --الإصدار
4. إنشاء مستخدم Git
من الممارسات الجيدة إنشاء مستخدم منفصل لإدارة مستودعات Git الخاصة بك:
- إنشاء مستخدم جديد: Run the following command to create a user named ‘git’:
sudo adduser git
- إعداد الوصول إلى SSH: Add your SSH key to the new user’s authorized keys to enable secure access:
sudo mkdir /home/git/.ssh sudo touch /home/git/.ssh/authorized_keys sudo nano /home/git/.ssh/authorized_keys
قم بلصق مفتاح SSH العام الخاص بك في ملف authorized_keys، ثم احفظه وقم بالخروج.
- تعيين الأذونات: Adjust permissions for the SSH directory:
sudo chown -R git:git /home/git/.ssh sudo chmod 700 /home/git/.ssh sudo chmod 600 /home/git/.ssh/authorized_keys
5. إنشاء مستودع
الآن يمكنك إنشاء مستودع Git الأول الخاص بك:
- إنشاء دليل للمستودعات: Log in as the ‘git’ user and create a directory for your repositories:
sudo su - git mkdir repos cd repos
- تهيئة المستودع: Create a new Git repository by running:
git init --bare your-project.git
يؤدي هذا إلى إنشاء مستودع عارٍ، وهو مثالي للمستودعات البعيدة حيث يتم دفع التعليمات البرمجية إليها وسحبها منها.
6. الاستنساخ والدفع إلى المستودع
بعد إعداد المستودع الخاص بك، يمكنك الآن استنساخه على جهازك المحلي وإرسال الكود إليه:
- استنساخ المستودع: On your local machine, run:
استنساخ git@your-server-ip:/home/git/repos/your-project.git
- إضافة الملفات والالتزام بها: Add your files to the repository, commit them, and push the changes:
cd your-project echo "# Your Project" >> README.md git add . git commit -m "Initial commit" git push origin master
7. إدارة مستودعات متعددة
إذا كنت تخطط لاستضافة مستودعات متعددة، فيمكنك ببساطة تكرار خطوات إنشاء المستودع لكل مشروع:
- قم بإنشاء دليل جديد لكل مستودع تحت
/home/git/repos/
. - قم بتهيئة كل مستودع جديد باستخدام
git init --bare your-new-project.git
. - يمكنك الوصول إلى كل مستودع وإدارته بشكل مستقل عبر SSH.
8. تأمين خادم Git الخاص بك
يعد الأمان جانبًا بالغ الأهمية لاستضافة خادم Git خاص. فيما يلي بعض الخطوات لتحسين الأمان:
- تعطيل مصادقة كلمة المرور: قم بتكوين SSH للسماح فقط بالمصادقة القائمة على المفتاح عن طريق تحرير
/etc/ssh/sshd_config
وتعيينPasswordAuthentication no
. - تكوين جدار الحماية: استخدم أدوات مثل UFW للسماح فقط بالمنافذ الضرورية (على سبيل المثال، SSH) وحظر المنافذ الأخرى.
- النسخ الاحتياطية المنتظمة: قم بتنفيذ نسخ احتياطية منتظمة لمستودعاتك لمنع فقدان البيانات.
9. إعداد واجهات الويب (اختياري)
إذا كنت تفضل واجهة ويب لإدارة مستودعاتك، فيمكنك تثبيت برامج مثل GitWeb أو Gitea:
- GitWeb: واجهة ويب بسيطة لعرض مستودعات Git.
- Gitea: خدمة Git مستضافة ذاتيًا توفر واجهة سهلة الاستخدام مشابهة لـ GitHub.
يتطلب كلا الخيارين إعدادًا وتكوينًا إضافيين ولكن يمكنهما تحسين قابلية استخدام خادم Git الخاص بك بشكل كبير.
خاتمة
إن إعداد خادم Git خاص على استضافة الويب الخاصة بك يوفر لك التحكم الكامل في الكود الخاص بك، ويمنحك الخصوصية، ويسمح لك بالتخصيص ليناسب سير عملك. باتباع هذا الدليل، يمكنك إنشاء وإدارة مستودعات Git الخاصة بك، مما يضمن لك أن تظل عملية التطوير الخاصة بك آمنة وفعالة.