উবুন্টুতে HTTP দিয়ে Git সার্ভার কনফিগার করুন

Configure Git Server With Http Ubuntu



আপনি যদি ব্যক্তিগতভাবে গিট সংগ্রহস্থলগুলির সাথে কাজ করার জন্য একটি গিট HTTP সার্ভার সেটআপ করতে চান তবে এই নিবন্ধটি আপনার জন্য। এই নিবন্ধে, আমি আপনাকে দেখাবো কিভাবে অ্যাপাচি HTTP সার্ভারের সাথে উবুন্টুতে একটি গিট স্মার্ট HTTP সার্ভার কনফিগার করতে হয়। চল শুরু করা যাক.

গিট এবং অ্যাপাচি প্যাকেজগুলি উবুন্টুর অফিসিয়াল প্যাকেজ সংগ্রহস্থলে পাওয়া যায়। সুতরাং, আপনি এটি APT প্যাকেজ ম্যানেজারের সাথে সহজেই ইনস্টল করতে পারেন।







প্রথমে, নিম্নলিখিত কমান্ড দিয়ে APT প্যাকেজ রিপোজিটরি ক্যাশে আপডেট করুন:



$sudoউপযুক্ত আপডেট



APT প্যাকেজ রিপোজিটরি ক্যাশে আপডেট করা উচিত।





এখন, নিম্নলিখিত কমান্ড দিয়ে গিট এবং অ্যাপাচি ইনস্টল করুন:



$sudoউপযুক্তইনস্টল যাওয়াapache2 apache2-utils

এখন, টিপুন এবং এবং তারপর টিপুন ইনস্টলেশন নিশ্চিত করতে।

গিট এবং অ্যাপাচি ইনস্টল করা উচিত।

গিটের জন্য অ্যাপাচি HTTP সার্ভার কনফিগার করা হচ্ছে:

এখন, Apache সক্ষম করুন mod_env , mod_cgi , mod_alias এবং mod_rewrite নিম্নলিখিত কমান্ড সহ মডিউল:

$sudoa2enmodenvসিজিআইউপনামপুনর্লিখন

প্রয়োজনীয় অ্যাপাচি মডিউল সক্ষম করা উচিত।

এখন, একটি নতুন ডিরেক্টরি তৈরি করুন /var/www/git নিম্নলিখিত কমান্ডের সাথে সমস্ত গিট সংগ্রহস্থল রাখার জন্য:

$sudo mkdir /কোথায়/www/যাওয়া

এখন, একটি নতুন অ্যাপাচি সাইট কনফিগারেশন তৈরি করুন /etc/apache2/sites-available/git.conf নিচের কমান্ড দিয়ে গিটের জন্য:

$sudo ন্যানো /ইত্যাদি/apache2/সাইটগুলি উপলব্ধ/git.conf

এখন, কনফিগারেশন ফাইলে নিম্নলিখিত লাইনগুলি টাইপ করুন:

<ভার্চুয়াল হোস্ট*:80>
সার্ভার এডমিন ওয়েবমাস্টারস্থানীয় হোস্ট

SetEnv GIT_PROJECT_ROOT<শক্তিশালী> /কোথায়/www/যাওয়াশক্তিশালী>
SetEnv GIT_HTTP_EXPORT_ALL
স্ক্রিপ্ট আলিয়াস/যাওয়া/ /ইউএসআর/lib/গিট-কোর/git-http- ব্যাকএন্ড/

উপনাম/যাওয়া /কোথায়/www/যাওয়া

<ডিরেক্টরি/ইউএসআর/lib/গিট-কোর>
বিকল্প +ExecCGI-মুল্টিভিউস+SymLinksIfOwnerMatch
অনুমতি দিন
সব মঞ্জুর প্রয়োজন
ডিরেক্টরি>

ডকুমেন্টরুট/কোথায়/www/html

<ডিরেক্টরি/কোথায়/www>
বিকল্প সূচী অনুসরণ করুন SymLinks MultiViews
অনুমতি দিন
সব মঞ্জুর প্রয়োজন
ডিরেক্টরি>


ত্রুটি লগ$ {APACHE_LOG_DIR}/ত্রুটি লগ
LogLevel সতর্ক করে
কাস্টমলগ$ {APACHE_LOG_DIR}/access.log মিলিত
ভার্চুয়াল হোস্ট>

চূড়ান্ত কনফিগারেশন ফাইলটি নিম্নরূপ দেখায়। এখন, টিপে কনফিগারেশন ফাইলটি সংরক্ষণ করুন + এক্স অনুসরণ করে এবং এবং

এখন, নিম্নলিখিত কমান্ড দিয়ে ডিফল্ট অ্যাপাচি সাইট কনফিগারেশন অক্ষম করুন:

$sudoa2dissite 000-default.conf

ডিফল্ট সাইট কনফিগারেশন অক্ষম করা উচিত।

এখন, নিম্নলিখিত কমান্ড দিয়ে গিট সাইট কনফিগারেশন সক্ষম করুন:

$sudoa2ensite git.conf

গিট সাইট কনফিগারেশন সক্ষম করা উচিত।

এখন, নিম্নলিখিত কমান্ড দিয়ে Apache HTTP সার্ভার পুনরায় চালু করুন:

$sudosystemctl apache2 পুনরায় চালু করুন

Apache HTTP সার্ভারে অ্যাক্সেসযোগ্য একটি নতুন গিট রিপোজিটরি বুটস্ট্র্যাপ করার জন্য, আপনাকে কয়েকটি কমান্ড চালাতে হবে। আপনি একটি নতুন গিট সংগ্রহস্থল তৈরি করতে বারবার একই কাজ করতে চান না। সুতরাং, আমি সেই উদ্দেশ্যে একটি শেল স্ক্রিপ্ট লেখার সিদ্ধান্ত নিয়েছি।

প্রথমে, একটি নতুন শেল স্ক্রিপ্ট তৈরি করুন /usr/local/bin/git-create-repo.sh নিম্নলিখিত কমান্ড দিয়ে:

$sudo ন্যানো /ইউএসআর/স্থানীয়/আমি/git-create-repo.sh

এখন, শেল স্ক্রিপ্টে কোডগুলির নিম্নলিখিত লাইনগুলি টাইপ করুন।

#!/বিন/ব্যাশ

GIT_DIR='/var/www/git'
REPO_NAME=$ 1

mkdir -পি '$ {GIT_DIR}/$ {REPO_NAME}.যাওয়া'
সিডি '$ {GIT_DIR}/$ {REPO_NAME}.যাওয়া'

git init -ঠিক &> /দেব/খালি
স্পর্শগিট-ডেমন-রপ্তানি-ঠিক আছে
cpহুক/পোস্ট আপডেট নমুনা হুক/পোস্ট আপডেট
git কনফিগhttp.receivepackসত্য
git update-server-info
চাউন -আরএফwww-data: www-data'$ {GIT_DIR}/$ {REPO_NAME}.যাওয়া'
বের করে দিল 'গিট রিপোজিটরি'$ {REPO_NAME}'এ তৈরি$ {GIT_DIR}/$ {REPO_NAME}.যাওয়া'

একবার আপনি এই লাইনগুলি টাইপ করলে, শেল স্ক্রিপ্টটি নিম্নরূপ দেখতে হবে। এখন, টিপে ফাইলটি সংরক্ষণ করুন + এক্স অনুসরণ করে এবং এবং

এখন, নিম্নলিখিত কমান্ড দিয়ে শেল স্ক্রিপ্টে এক্সিকিউট অনুমতি যোগ করুন:

$sudo chmod+ এক্স/ইউএসআর/স্থানীয়/আমি/git-create-repo.sh

এখন, একটি নতুন গিট সংগ্রহস্থল তৈরি করুন পরীক্ষা গিট প্রকল্পের মূলের মধ্যে /var/www/git ব্যবহার করে git-create-repo.sh শেল স্ক্রিপ্ট নিম্নরূপ:

$sudogit-create-repo.shপরীক্ষা

গিট রিপোজিটরি পরীক্ষা তৈরি করা উচিত।

Git সংগ্রহস্থল অ্যাক্সেস করতে, আপনার Git HTTP সার্ভারের IP ঠিকানা প্রয়োজন।

$আইপিপ্রতি

আপনি দেখতে পাচ্ছেন, আমার ক্ষেত্রে আইপি ঠিকানা হল 192.168.21.208 । এটি আপনার জন্য আলাদা হবে। এখন থেকে এটি আপনার সাথে প্রতিস্থাপন করুন।

এখন, আপনি ক্লোন করতে পারেন পরীক্ষা Git সংগ্রহস্থল নিম্নরূপ:

$গিট ক্লোনhttp://192.168.21.208/যাওয়া/test.go

গিট রিপোজিটরি পরীক্ষা ক্লোন করা উচিত।

এখন, আসুন একটি নতুন কমিট যোগ করি পরীক্ষা গিট রিপোজিটরি।

$সিডিপরীক্ষা/
$বের করে দিল 'ওহে বিশ্ব' >হ্যালো
$git যোগ করুন
$গিট কমিট -মি 'প্রাথমিক অঙ্গীকার'

এখন, পরিবর্তনগুলি আপলোড করুন পরীক্ষা সার্ভারে গিট রিপোজিটরি নিম্নরূপ:

$git pushউৎপত্তি

আপনি দেখতে পাচ্ছেন, পরিবর্তনগুলি ঠিকই আপলোড করা হয়েছে।

ব্যবহারকারীর প্রমাণীকরণ কনফিগার করা:

এই বিভাগে, আমি আপনাকে দেখাব কিভাবে সার্ভারে গিট সংগ্রহস্থলে ব্যবহারকারীর প্রমাণীকরণ কনফিগার করতে হয়।

প্রথমে, সম্পাদনা করুন git.conf সাইট কনফিগারেশন ফাইল নিম্নরূপ:

$sudo ন্যানো /ইত্যাদি/apache2/সাইটগুলি উপলব্ধ/git.conf

এখন, কনফিগারেশন ফাইলে নিম্নলিখিত বিভাগটি যুক্ত করুন।

<লোকেশনম্যাচ/যাওয়া/*.যাওয়া>
AuthType বেসিক
AuthName'গিট ভেরিফিকেশন'
AuthUserFile/ইত্যাদি/apache2/git.passwd
বৈধ-ব্যবহারকারীর প্রয়োজন
লোকেশনম্যাচ>

এখানে, /etc/apache2/git.passwd ব্যবহারকারীর ডাটাবেস ফাইল।

চূড়ান্ত কনফিগারেশন ফাইলটি নিম্নরূপ দেখতে হবে। এখন, টিপে ফাইলটি সংরক্ষণ করুন + এক্স অনুসরণ করে এবং এবং

এখন, একটি নতুন ব্যবহারকারী ডাটাবেস ফাইল তৈরি করুন /etc/apache2/git.passwd এবং একটি নতুন ব্যবহারকারী যুক্ত করুন (ধরা যাক shovon ডাটাবেস ফাইলে নিম্নরূপ:

$sudohtpasswd-সি /ইত্যাদি/apache2/git.passwd shovon

এখন, নতুন ব্যবহারকারীর জন্য একটি নতুন পাসওয়ার্ড লিখুন এবং টিপুন

একই পাসওয়ার্ড পুনরায় টাইপ করুন এবং টিপুন

ইউজার-পাসওয়ার্ড পেয়ার ডাটাবেসে যুক্ত করতে হবে।

এখন, নিম্নলিখিত কমান্ড দিয়ে Apache HTTP সার্ভার পুনরায় চালু করুন:

$sudosystemctl apache2 পুনরায় চালু করুন

এখন, যদি আপনি ক্লোন করার চেষ্টা করেন পরীক্ষা পুনরায় সংগ্রহস্থল, আপনাকে নীচের স্ক্রিনশটে দেখতে পাওয়ায় প্রমাণীকরণ করতে বলা হবে।

একবার আপনি ব্যবহারকারীর নাম এবং পাসওয়ার্ড ব্যবহার করে প্রমাণীকরণ করলে, আপনি গিট সংগ্রহস্থল অ্যাক্সেস করতে সক্ষম হবেন।

এমনকি যখন আপনি গিট সংগ্রহস্থল থেকে ধাক্কা বা টানতে চেষ্টা করবেন, তখন আপনাকে ব্যবহারকারীর নাম এবং পাসওয়ার্ডও জিজ্ঞাসা করা হবে।

একবার আপনি প্রমাণীকরণ করলে, push/pull কাজ করবে।

আপনি বিভিন্ন গিট সংগ্রহস্থলের জন্য বিভিন্ন ব্যবহারকারীর ডাটাবেসও সেট করতে পারেন। এটি এমন প্রকল্পগুলির জন্য দরকারী হতে পারে যেখানে অনেক লোক একই গিট সংগ্রহস্থলে একসাথে কাজ করছে।

গিট সংগ্রহস্থল-ভিত্তিক প্রমাণীকরণ সেট করতে, প্রথমে, সম্পাদনা করুন git.conf সাইট কনফিগারেশন ফাইল নিম্নরূপ:

$sudo ন্যানো /ইত্যাদি/apache2/সাইটগুলি উপলব্ধ/git.conf

এখন, কনফিগারেশন ফাইলে নিম্নলিখিত লাইন যুক্ত করুন।

<অবস্থান/যাওয়া/test.go>
AuthType বেসিক
AuthName'গিট ভেরিফিকেশন'
AuthUserFile/ইত্যাদি/apache2/git.test.passwd
বৈধ-ব্যবহারকারীর প্রয়োজন
অবস্থান>

<অবস্থান/যাওয়া/test2.git>
AuthType বেসিক
AuthName'গিট ভেরিফিকেশন'
AuthUserFile/ইত্যাদি/apache2/git.test2.passwd
বৈধ-ব্যবহারকারীর প্রয়োজন
অবস্থান>

প্রতিটি গিট সংগ্রহস্থলের জন্য পরীক্ষা এবং পরীক্ষা 2 , প্রতি বিভাগ সংজ্ঞায়িত করা হয়। প্রতিটি গিট রিপোজিটরির জন্য একটি ভিন্ন ব্যবহারকারী ডাটাবেস ফাইল ব্যবহার করা হয়।

চূড়ান্ত কনফিগারেশন ফাইলটি নিম্নরূপ দেখতে হবে। এখন, টিপে কনফিগারেশন ফাইলটি সংরক্ষণ করুন + এক্স অনুসরণ করে এবং এবং

এখন, আপনি নিম্নলিখিত ব্যবহারকারীর প্রয়োজনীয় ডাটাবেস তৈরি করতে পারেন:

$sudohtpasswd-সি /ইত্যাদি/apache2/git.test.passwd USERNAME
$sudohtpasswd-সি /ইত্যাদি/apache2/git.test2.passwd USERNAME

একবার হয়ে গেলে, নিম্নলিখিত কমান্ড দিয়ে অ্যাপাচি HTTP সার্ভার পুনরায় চালু করুন:

$sudosystemctl apache2 পুনরায় চালু করুন

এখন, প্রতিটি গিট সংগ্রহস্থলের নিজস্ব ব্যবহারকারীদের সেট থাকা উচিত যা এটি অ্যাক্সেস করতে পারে।

সুতরাং, এভাবে আপনি উবুন্টুতে অ্যাপাচি এইচটিটিপি সার্ভারের সাথে গিট সার্ভার কনফিগার করুন। এই নিবন্ধটি পড়ার জন্য ধন্যবাদ।