تتوفر حزم Git و Apache في مستودع الحزم الرسمي لـ Ubuntu. لذلك ، يمكنك تثبيته بسهولة باستخدام مدير حزم APT.
أولاً ، قم بتحديث ذاكرة التخزين المؤقت لمستودع حزمة APT باستخدام الأمر التالي:
$سودوتحديث مناسب
يجب تحديث ذاكرة التخزين المؤقت لمستودع حزمة APT.
الآن ، قم بتثبيت Git و Apache باستخدام الأمر التالي:
$سودوملائمتثبيت يذهبapache2 apache2-utils
الآن اضغط و ثم اضغط لتأكيد التثبيت.
يجب تثبيت Git و Apache.
تكوين خادم Apache HTTP لـ Git:
الآن ، قم بتمكين Apache mod_env و mod_cgi و mod_alias و mod_rewrite وحدات مع الأمر التالي:
$سودوa2enmodالحسدCGIالاسم المستعاراعادة كتابة
يجب تمكين وحدات Apache المطلوبة.
الآن ، قم بإنشاء دليل جديد / var / www / git لحفظ جميع مستودعات Git بالأمر التالي:
$سودو مكدير /أين/www/يذهبالآن ، قم بإنشاء تكوين موقع Apache جديد /etc/apache2/sites-available/git.conf لـ Git بالأمر التالي:
$سودو نانو /إلخ/اباتشي 2/المواقع المتاحة/git.confالآن ، اكتب الأسطر التالية في ملف التكوين:
<استضافة افتراضية*:80>ServerAdmin webmaster@مضيف محلي
SetEnv GIT_PROJECT_ROOT<قوي> /أين/www/يذهبقوي>
SetEnv GIT_HTTP_EXPORT_ALL
سكريبت ألياس/يذهب/ /usr/ليب/بوابة النواة/بوابة http الخلفية/
الاسم المستعار/يذهب /أين/www/يذهب
<الدليل/usr/ليب/بوابة النواة>
خيارات + ExecCGI-متعدد المشاهدات+ SymLinksIfOwnerMatch
AllowOverride بلا
تتطلب كل الممنوحة
الدليل>
جذر المستند/أين/www/لغة البرمجة
<الدليل/أين/www>
فهارس الخيارات FollowSymLinks MultiViews
AllowOverride بلا
تتطلب كل الممنوحة
الدليل>
ErrorLog{APACHE_LOG_DIR} دولار/error.log
LogLevel تحذير
CustomLog{APACHE_LOG_DIR} دولار/access.log مجتمعة
استضافة افتراضية>
ملف التكوين النهائي يبدو على النحو التالي. الآن ، احفظ ملف التكوين بالضغط على + X تليها و و .
الآن ، قم بتعطيل تكوين موقع Apache الافتراضي باستخدام الأمر التالي:
$سودوa2dissite 000-default.confيجب تعطيل تكوين الموقع الافتراضي.
الآن ، قم بتمكين تكوين موقع Git باستخدام الأمر التالي:
$سودوa2ensite git.confيجب تمكين تكوين موقع Git.
الآن ، أعد تشغيل خادم Apache HTTP بالأمر التالي:
$سودوإعادة تشغيل systemctl apache2من أجل تمهيد مستودع Git جديد يمكن الوصول إليه عبر خادم Apache HTTP ، سيتعين عليك تشغيل بعض الأوامر. لا تريد أن تفعل الشيء نفسه مرارًا وتكرارًا فقط لإنشاء مستودع Git جديد. لذلك ، قررت كتابة نص شل لهذا الغرض.
أولاً ، قم بإنشاء برنامج نصي شل جديد /usr/local/bin/git-create-repo.sh بالأمر التالي:
$سودو نانو /usr/محلي/صباحا/git-create-repo.shالآن ، اكتب سطور الرموز التالية في البرنامج النصي shell.
#!/bin/bashGIT_DIR='/ var / www / git'
REPO_NAME=1 دولار
مكدير -p '{GIT_DIR} دولار/{REPO_NAME} دولار.يذهب'
قرص مضغوط '{GIT_DIR} دولار/{REPO_NAME} دولار.يذهب'
بوابة الحرف الأول --مجرد &> /ديف/باطل
لمس. اتصال. صلةبوابة-الخفي-تصدير-موافق
cpخطافات/خطافات بعد التحديث/تحديث منشور
git confighttp.receivepackحقيقية
بوابة التحديث خادم المعلومات
تشاون -الترددات اللاسلكيةwww-data: www-data'{GIT_DIR} دولار/{REPO_NAME} دولار.يذهب'
رما - طرد - قذف 'مستودع بوابة'{REPO_NAME} دولار' أنشئت في{GIT_DIR} دولار/{REPO_NAME} دولار.يذهب'
بمجرد كتابة هذه السطور ، يجب أن يبدو البرنامج النصي شل على النحو التالي. الآن ، احفظ الملف بالضغط على + X تليها و و .
الآن ، أضف إذن التنفيذ إلى البرنامج النصي shell باستخدام الأمر التالي:
$سودو chmod+ س/usr/محلي/صباحا/git-create-repo.shالآن ، قم بإنشاء مستودع Git جديد اختبار في جذر مشروع Git / var / www / git باستخدام git-create-repo.sh البرنامج النصي شل على النحو التالي:
$سودوgit-create-repo.shاختبارمستودع Git اختبار يجب أن يتم إنشاؤه.
للوصول إلى مستودع Git ، تحتاج إلى عنوان IP لخادم Git HTTP.
$IPإلىكما ترى ، عنوان IP في حالتي هو 192.168.21.208 . سيكون مختلفا بالنسبة لك. استبدلها بك من الآن فصاعدًا.
الآن ، يمكنك استنساخ ملف اختبار مستودع Git على النحو التالي:
$استنساخ بوابةhttp://192.168.21.208/يذهب/test.goمستودع Git اختبار يجب استنساخه.
الآن ، دعنا نضيف التزامًا جديدًا إلى اختبار مستودع Git.
$قرص مضغوطاختبار/$رما - طرد - قذف 'مرحبا بالعالم' >أهلا
$إضافة بوابة.
$بوابة الالتزام م 'الأولي ارتكاب'
الآن ، قم بتحميل التغييرات إلى ملف اختبار مستودع Git على الخادم على النحو التالي:
$دفع بوابةالأصلكما ترى ، يتم تحميل التغييرات على ما يرام.
تكوين مصادقة المستخدم:
في هذا القسم ، سأوضح لك كيفية تكوين مصادقة المستخدم على مستودعات Git في الخادم.
أولاً ، قم بتحرير ملف git.conf ملف تكوين الموقع على النحو التالي:
$سودو نانو /إلخ/اباتشي 2/المواقع المتاحة/git.confالآن ، أضف القسم التالي في ملف التكوين.
<الموقع/يذهب/.*.يذهب>AuthType أساسي
AuthName'Git Verification'
AuthUserFile/إلخ/اباتشي 2/git.passwd
مطلوب مستخدم صالح
الموقع>
هنا، /etc/apache2/git.passwd هو ملف قاعدة بيانات المستخدم.
يجب أن يبدو ملف التكوين النهائي على النحو التالي. الآن ، احفظ الملف بالضغط على + X تليها و و .
الآن ، قم بإنشاء ملف قاعدة بيانات مستخدم جديد /etc/apache2/git.passwd وإضافة مستخدم جديد (دعنا نقول shovon ) إلى ملف قاعدة البيانات على النحو التالي:
$سودوhtpasswd-ج /إلخ/اباتشي 2/git.passwd shovonالآن ، اكتب كلمة مرور جديدة للمستخدم الجديد واضغط .
أعد كتابة نفس كلمة المرور واضغط .
يجب إضافة زوج كلمة مرور المستخدم إلى قاعدة البيانات.
الآن ، أعد تشغيل خادم Apache HTTP بالأمر التالي:
$سودوإعادة تشغيل systemctl apache2الآن ، إذا حاولت استنساخ ملف اختبار المستودع مرة أخرى ، سيُطلب منك المصادقة كما ترى في لقطة الشاشة أدناه.
بمجرد المصادقة باستخدام اسم المستخدم وكلمة المرور ، ستتمكن من الوصول إلى مستودع Git.
حتى عندما تحاول الدفع أو السحب من مستودع Git ، سيُطلب منك أيضًا اسم المستخدم وكلمة المرور.
بمجرد المصادقة ، سيعمل الدفع / السحب.
يمكنك أيضًا تعيين قاعدة بيانات مستخدم مختلفة لمستودعات Git المختلفة. قد يكون هذا مفيدًا للمشاريع التي يعمل فيها الكثير من الأشخاص معًا في نفس مستودع Git.
لتعيين مصادقة Git repository-wise ، أولاً ، قم بتحرير ملف git.conf ملف تكوين الموقع على النحو التالي:
$سودو نانو /إلخ/اباتشي 2/المواقع المتاحة/git.confالآن ، أضف الأسطر التالية في ملف التكوين.
<موقع/يذهب/test.go>AuthType أساسي
AuthName'Git Verification'
AuthUserFile/إلخ/اباتشي 2/git.test.passwd
مطلوب مستخدم صالح
موقع>
<موقع/يذهب/test2.git>
AuthType أساسي
AuthName'Git Verification'
AuthUserFile/إلخ/اباتشي 2/git.test2.passwd
مطلوب مستخدم صالح
موقع>
لكل مستودع Git اختبار و اختبار 2 ، إلى يتم تعريف القسم. يتم استخدام ملف قاعدة بيانات مستخدم مختلف لكل مستودع Git.
يجب أن يبدو ملف التكوين النهائي على النحو التالي. الآن ، احفظ ملف التكوين بالضغط على + X تليها و و .
يمكنك الآن إنشاء قواعد بيانات المستخدم المطلوبة على النحو التالي:
$سودوhtpasswd-ج /إلخ/اباتشي 2/git.test.passwd اسم المستخدم$سودوhtpasswd-ج /إلخ/اباتشي 2/git.test2.passwd اسم المستخدم
بمجرد الانتهاء من ذلك ، أعد تشغيل خادم Apache HTTP بالأمر التالي:
$سودوإعادة تشغيل systemctl apache2الآن ، يجب أن يكون لكل مستودع Git مجموعته الخاصة من المستخدمين الذين يمكنهم الوصول إليه.
إذن ، هذه هي طريقة تكوين Git Server مع خادم Apache HTTP على Ubuntu. شكرا لقراءة هذا المقال.