خادم HTTP Git مع Nginx على دبيان 8

Git هو نظام تحكم في الإصدار (VCS) يتيح تتبع التغييرات في التعليمات البرمجية. في هذا البرنامج التعليمي ، سنتناول تثبيت خادم HTTP (S) Git وإضافة مصادقة اسم المستخدم / كلمة المرور.

المتطلبات الأساسية

  • ديبيان 8 (جيسي).
  • سودو .
  • محرر نصوص من اختيارك ( nano، vim).

تثبيت البرامج المطلوبة

سنحتاج nginx، git، fcgiwrapواباتشي هتبد تيلس. المضي قدما واكتب في المحطة.

sudo apt-get install nginx git fcgiwrap apache2-utils

dpkg ستفشل في تثبيت Nginx إذا كانت هناك عملية أخرى (مثل Apache) مرتبطة بالفعل بالمنفذ 80.

إنشاء دليل Git

بافتراض أنك تريد إنشاء دليل git في /var/www/git، ستحتاج إلى تشغيل الأوامر التالية:

mkdir /var/www/git
chown www-data:www-data /var/www/git # Make sure www-data (the user fastcgi runs) from has permissions.

تكوين Nginx

الآن نحن بحاجة إلى تكوين Nginx لتمرير حركة مرور Git إلى Git. يمكن إضافة هذا إلى التكوين الافتراضي ، وهو مخصص server {}في /etc/nginx/conf.dأو /etc/nginx/sites-enabled.

يجب إضافة معلمات ملف التكوين والتوجيه بالترتيب الذي تم سردهما به أدناه.

location ~ (/.*) {
    client_max_body_size 0; # Git pushes can be massive, just to make sure nginx doesn't suddenly cut the connection add this.
    auth_basic "Git Login"; # Whatever text will do.
    auth_basic_user_file "/var/www/git/htpasswd";
    include /etc/nginx/fastcgi_params; # Include the default fastcgi configs
    fastcgi_param SCRIPT_FILENAME /usr/lib/git-core/git-http-backend; # Tells fastcgi to pass the request to the git http backend executable
    fastcgi_param GIT_HTTP_EXPORT_ALL "";
    fastcgi_param GIT_PROJECT_ROOT /var/www/git; # /var/www/git is the location of all of your git repositories.
    fastcgi_param REMOTE_USER $remote_user;
    fastcgi_param PATH_INFO $1; # Takes the capture group from our location directive and gives git that.
    fastcgi_pass  unix:/var/run/fcgiwrap.socket; # Pass the request to fastcgi
}

إذا كنت ترغب في الحصول على مستودعات git الخاصة بك في دليل فرعي أي. http://your-domain.com/reposجعل الخط الأول location ~ /repos(/.*) {، إنه التعبير العادي.

تأكد من أن server_nameالتوجيه في الخاص بك server {}لا يتعارض مع أي شيء آخر وإلا لن يمرر Nginx الطلب.

إضافة مصادقة كلمة المرور

يقبل Nginx htpasswdملفات Apache ، لإنشائها ، سنحتاج إلى تنفيذ الأمر التالي:

htpasswd -c /var/www/git/htpasswd <your username>

سيُطلب منك إدخال كلمة المرور الخاصة بك. لإضافة المزيد من المستخدمين ، قم بما يلي:

htpasswd /var/www/git/htpasswd <another username>

خطوة أخيرة

تأكد من إعادة تحميل Nginx لتطبيق جميع التغييرات عن طريق تشغيل:

sudo service nginx reload

لديك الآن خادم Git خاص! استمتع.

(اختياري) أنشئ نصًا برمجيًا يهيئ مستودعات Git

يرجى ملاحظة أن www-data(حساب المستخدم الذي يعمل FastCGI تحته) يجب أن يكون لديه حق الوصول للقراءة والكتابة إلى مستودع Git ، حيث يؤدي إنشاء برنامج نصي إلى حفظ الصداع في وقت لاحق.

فتح ملف البرنامج النصي الخاص بك أي. /var/www/git/gitinit.shوالصق ما يلي:

#!/bin/sh
sudo -u www-data mkdir $1
cd $1
sudo -u www-data git init --bare

يمكنك تشغيل البرنامج النصي مثل هذا:

cd /var/www/git
./gitinit.sh repo-name

تذكر أن تسمح بالتنفيذ عن طريق تشغيل:

chmod +x /var/www/git/gitinit.sh

اترك تعليقاً

نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول

نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول

نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول

وظائف طبقات معمارية مرجعية للبيانات الضخمة

وظائف طبقات معمارية مرجعية للبيانات الضخمة

اقرأ المدونة لمعرفة الطبقات المختلفة في بنية البيانات الضخمة ووظائفها بأبسط طريقة.

6 أشياء شديدة الجنون حول نينتندو سويتش

6 أشياء شديدة الجنون حول نينتندو سويتش

يعرف الكثير منكم أن Switch سيصدر في مارس 2017 وميزاته الجديدة. بالنسبة لأولئك الذين لا يعرفون ، قمنا بإعداد قائمة بالميزات التي تجعل "التبديل" "أداة لا غنى عنها".

وعود التكنولوجيا التي لم يتم الوفاء بها بعد

وعود التكنولوجيا التي لم يتم الوفاء بها بعد

هل تنتظر عمالقة التكنولوجيا للوفاء بوعودهم؟ تحقق من ما تبقى دون تسليم.

كيف يمكن للذكاء الاصطناعي نقل أتمتة العمليات إلى المستوى التالي؟

كيف يمكن للذكاء الاصطناعي نقل أتمتة العمليات إلى المستوى التالي؟

اقرأ هذا لمعرفة مدى انتشار الذكاء الاصطناعي بين الشركات الصغيرة وكيف أنه يزيد من احتمالات نموها ومنح منافسيها القدرة على التفوق.

التفرد التكنولوجي: مستقبل بعيد للحضارة الإنسانية؟

التفرد التكنولوجي: مستقبل بعيد للحضارة الإنسانية؟

مع تطور العلم بمعدل سريع ، واستلام الكثير من جهودنا ، تزداد أيضًا مخاطر تعريض أنفسنا إلى تفرد غير قابل للتفسير. اقرأ ، ماذا يمكن أن يعني التفرد بالنسبة لنا.

CAPTCHA: ما هي المدة التي يمكن أن تظل تقنية قابلة للتطبيق للتميز بين الإنسان والذكاء الاصطناعي؟

CAPTCHA: ما هي المدة التي يمكن أن تظل تقنية قابلة للتطبيق للتميز بين الإنسان والذكاء الاصطناعي؟

لقد أصبح حل CAPTCHA صعبًا جدًا على المستخدمين في السنوات القليلة الماضية. هل ستكون قادرة على أن تظل فعالة في اكتشاف البريد العشوائي والروبوتات في المستقبل القريب؟

التطبيب عن بعد والرعاية الصحية عن بعد: المستقبل هنا

التطبيب عن بعد والرعاية الصحية عن بعد: المستقبل هنا

ما هو التطبيب عن بعد والرعاية الصحية عن بعد وأثره على الأجيال القادمة؟ هل هو مكان جيد أم لا في حالة الوباء؟ اقرأ المدونة لتجد طريقة عرض!

هل تساءلت يومًا كيف يربح المتسللون الأموال؟

هل تساءلت يومًا كيف يربح المتسللون الأموال؟

ربما سمعت أن المتسللين يكسبون الكثير من المال ، لكن هل تساءلت يومًا كيف يجنون هذا النوع من المال؟ دعنا نناقش.

يتسبب التحديث الإضافي لنظام macOS Catalina 10.15.4 في حدوث مشكلات أكثر من حلها

يتسبب التحديث الإضافي لنظام macOS Catalina 10.15.4 في حدوث مشكلات أكثر من حلها

أصدرت Apple مؤخرًا macOS Catalina 10.15.4 تحديثًا تكميليًا لإصلاح المشكلات ولكن يبدو أن التحديث يتسبب في المزيد من المشكلات التي تؤدي إلى إنشاء أجهزة macOS. قراءة هذه المادة لمعرفة المزيد