قم بتكوين خادم Git باستخدام HTTP على Ubuntu

Configure Git Server With Http Ubuntu



إذا كنت ترغب في إعداد خادم Git HTTP للعمل مع مستودعات Git بشكل خاص ، فهذه المقالة مناسبة لك. في هذه المقالة ، سأوضح لك كيفية تكوين خادم Git Smart HTTP على Ubuntu باستخدام خادم Apache HTTP. لذلك دعونا نبدأ.

تتوفر حزم 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/bash

GIT_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. شكرا لقراءة هذا المقال.