গিট সার্ভার সেট আপ করা হচ্ছে


57

আমি সম্প্রতি অ্যামাজন ইসি 2 তে উবুন্টু-সার্ভার সেট আপ করেছি। আমি এটিকে আমার গিট সার্ভার হিসাবে ব্যবহার করতে চাই, তাই আমি আমার রেপোগুলি সেখানে রাখতে পারি।

সুতরাং, আমি উবুন্টু সার্ভারে গিট সেটআপ করার জন্য কীভাবে কিছু বিশদ নির্দেশাবলীর সন্ধান করতে পারি? এই সমস্ত এসএসএইচ কী এবং এর মতো স্টাফ, একাধিক ব্যবহারকারী ইত্যাদি


2
আমি মনে করি না এটি একটি উবুন্টু সম্পর্কিত প্রশ্ন (স্পষ্ট "এটি লিনাক্স" এর বাইরে), আপনি কি গিট ডকুমেন্টেশনের দিকেও নজর রেখেছেন ? সেখানে একটি পাবলিক স্থাপনের পাশাপাশি একটি বেসরকারী সংগ্রহস্থলের উল্লেখ রয়েছে ।
ওয়ার্ড মুয়িলার্ট

22
@ বনবোবিঙ্গো "স্রেফ গুগল অনুসন্ধান করুন" বলছেন আসলেই কোনও সমাধান নয়। এখানে বেশিরভাগ প্রশ্নের উত্তর দেওয়া যেতে পারে "যদি আপনি যথেষ্ট পরিমাণে অনুসন্ধান করেন ..." উবুন্টুকে জিজ্ঞাসা করুন যে উত্তর ওয়াল সাইটটি "জাস্ট গুগল" বলার পরিবর্তে 1 ম স্তরের উত্তর সরবরাহ করছে কর্তৃপক্ষের প্রশ্নোত্তর জিজ্ঞাসা করুন - আরও তথ্যের জন্য FAQ
মার্কো সেপ্পি

1
এখানে একটি দরকারী পদক্ষেপ গাইড রয়েছে: help.ubuntu.com/commune/Git। @ মার্কো সেপ্পি দুঃখিত, তবে আমি পোলমিক ছিলাম না। এবং তারপরে আমি যে লিঙ্কটি পোস্ট করেছি তা প্রশ্নের সাথে বেশ প্রাসঙ্গিক বলে মনে হচ্ছে ... ঠিক আছে এখন উত্তর হিসাবে?
বনবোবিঙ্গো

@ বনবোবিঙ্গো মন্তব্যগুলি উত্তর হিসাবে গণনা করা হয় না! আমি কেবল আপনার মন্তব্যের "অনুসন্ধান গুগল" অংশে মন্তব্য করছি। আপনি যদি উবুন্টু সহায়তা গাইডের গিট নিবন্ধ সম্পর্কে বিশদ সহ উত্তর দিতে চান তবে আপনার এই পৃষ্ঠার নীচে "আপনার উত্তর" বাক্সটি ব্যবহার করা উচিত! :)
মার্কো সেপ্পি

2
"জাস্ট গুগল" বলে এমন উত্তরের দেয়ালের পরিবর্তে "- আরও তথ্যের জন্য" ... ঠিক আছে আপনি ঠিক বলেছেন :) আসুন এখানে থামি।
বনবোবিঙ্গো

উত্তর:


38

Aking1012 আপনাকে প্রস্তাবিত হিসাবে আপনি গিট সার্ভার ইনস্টল করতে টিউটোরিয়ালটি ব্যবহার করতে পারেন বা আপনি আপনার ইসি 2 ইভেন্টে এসএসএইচ সার্ভারটি ইনস্টল করতে পারেন (সম্ভবত এটি সুরক্ষিত করা এবং ডিফল্ট পোর্টটি পরিবর্তন করা বুদ্ধিমানের কাজ হবে)।

গিটটি সার্ভার-কম হতে পারে আপনি আপনার সংগ্রহস্থল শুরু করেন এবং তারপরে আপনি এসএসএইচ এর মাধ্যমে দূরবর্তী থেকে এটি অ্যাক্সেস করতে পারেন। সুতরাং উবুন্টু সার্ভারে এর মতো নির্দেশাবলীর এটি করা উচিত:

GIT_DIR=project.git git init  
cd project.git  
git --bare update-server-info  
cp hooks/post-update.sample hooks/post-update

অবশেষে আপনার সার্ভারে এসএসএইচ ইনস্টল করুন:

sudo apt-get install ssh-server

এখন, এটিকে সুরক্ষিত করার জন্য আপনার এসএসএইচ কনফিগার করা উচিত।

আপনার প্রকল্পটি অনলাইনে রাখার সময় এসেছে (আপনার ডেভলপমেন্ট মেশিনে ইতিমধ্যে যে ডেটা রয়েছে):

git push ssh://<username>@<remote-git-hostname>/path/to/project.git master

এবং এখন আপনি প্রায় ক্লোনিং শুরু করতে পারেন। আপনি আপনার বিকাশ মেশিনে যান:

git clone ssh://<username>@<remote-git-hostname>/path/to/dir.git

গিটে এই দুর্দান্ত উত্সটি পরীক্ষা করুন

এবং নিরাপদ প্রমাণীকরণের জন্য আপনার ssh কী উত্পন্ন করার জন্য, আপনি এসএসএইচ প্রমাণীকরণ সম্পর্কে এই নিবন্ধটি পড়তে পারেন ।


কি হবে না openssh-server?
জর্জি কাস্ত্রো

1
@ জোরজ মনে হচ্ছে ssh-serverকমপক্ষে উবুন্টু ১০.০৪-তে ওপেনশ -সার্ভারের একটি নাম।
হিউজেনস

1
ভাল, এটি কাজ করতে পারে তবে এসএসএইচ দিয়ে অ্যামাজন ইসি 2 মেশিনে লগইন করার জন্য পাবলিক / প্রাইভেট কিপাইয়ারের প্রয়োজন (ssh -i key.pem উবুন্টু @ ঠিকানা)। এছাড়াও, আমাকে পাথের কথা মনে রাখতে হবে (উবুন্টু @ ঠিকানা: / var / www / dir1 / dir2), কেবল গিট ক্লোন git.mydomain.com/repository এর পরিবর্তে
Pawełkowy

1
@ পাওয়েল ভাল পয়েন্ট এ কারণেই কিছু লোক গিট সংগ্রহস্থলটিকে ফাইল সিস্টেমের মূলের উপরে রাখে। তবে হ্যাঁ, আপনার ssh কী বা অ্যাকাউন্ট দরকার। অথবা আপনি এইচটিটিপি ব্যবহার করতে পারেন, তবে তারপরে আপনার কাছে সত্যিকারের সুন্দর অ্যাক্সেস নিয়ন্ত্রণ আফাইক নেই AF
Huygens

3
@ PawełKarpiński - আপনি ~/.ssh/configব্যবহারকারীর নাম / হোস্ট ঠিকানা, কী ইনপুট, পোর্ট এবং হোয়াট নোট পরিচালনা করতে ক্লায়েন্ট-সাইড এসএসএইচ কনফিগারেশন ফাইল সেট আপ করতে পারেন ।
শওনা

15

আমার সমস্ত গিট সার্ভার সেটআপের জন্য আমি গিটোলাইট ব্যবহার করি যা "প্রতি শাখায়" অ্যাক্সেসের সুরক্ষা গ্রানুলারিটির অনুমতি দেয়। আপনি যদি কোনও রিমোট সার্ভারে এটি করে থাকেন তবে সেটআপটি বেশ সোজা এগিয়ে রয়েছে এটি একটি ইন্টারেক্টিভ স্ক্রিপ্ট চালানোর মতোই সহজ। এই "সেট-টু সেটআপ" প্রকৃতির পাশাপাশি এটি নেটি এবং ম্যাভারিকের একটি প্যাকেজও রয়েছে

sudo apt-get install gitolite

এটি গিথুব বা গিটওয়েবের মতো কোনও ওয়েব ফ্রন্ট্যান্ড সরবরাহ করবে না - তবে আপনি গিটোলাইটের মতো কোনও কিছুর শীর্ষে এগুলি সহজেই কনফিগার এবং ইনস্টল করতে পারেন।


9

আমি চাই gitolite । প্রো গিট বইটির উপর একটি বিভাগ রয়েছে তবে আমি পুরো বইটি পড়ার পরামর্শ দিচ্ছি।

আপনার একাধিক ব্যবহারকারীর প্রয়োজনীয়তা হিসাবে:

গিটোলাইট আপনাকে কেবল ভান্ডার (গিটোসিসের মতো) দ্বারা নয়, প্রতিটি শাখার মধ্যে শাখা বা ট্যাগ নাম দ্বারা অনুমতিগুলি নির্দিষ্ট করতে দেয়। এটি হ'ল, আপনি নির্দিষ্ট করতে পারেন যে নির্দিষ্ট ব্যক্তিরা (বা লোকের দলগুলি) নির্দিষ্ট কিছু "রেফ" (শাখা বা ট্যাগ) কেবল অন্যদের নয় push


7

http://scie.nti.st/2007/11/14/hosting-git-repositories-the-easy- and-secure-way আপনার উদ্দেশ্য অনুসারে সামান্য পরিবর্তন করা যেতে পারে ... একটি অনুরূপ টিউটোরিয়াল http: // ব্লগ .agdunn.net /? p = 277


1
দ্রষ্টব্য: আমি বর্তমানে 0 টি সম্পন্ন আরভিএম, রি / রুবি, রেল, বিকাশ ক্লায়েন্ট এবং বিকাশ সার্ভার টিউটোরিয়াল জন্য গিট টিউটোরিয়াল একসাথে রাখছি। এটি কেবলমাত্র একসাথে প্রচুর অনলাইন টিউটোরিয়াল আঁকা এবং সেগুলিকে কিছুটা সংশোধন করে, তবে এটি এখনও এই মুহূর্তে অগ্রগতিতে কাজ।
রোবটহুমানস

এই টিউটোরিয়ালগুলি দুর্দান্ত, তবে ভাল, তারা বেশ জটিল। কোনও "সংক্ষিপ্ত" টিউটোরিয়াল নেই? :)
Pawełkowy

আমি আরও সোজা কিছু দেখিনি ... গুরুতর এবং গিটোসিসের জন্য বেশিরভাগ টিউটোরিয়াল একটি নমুনা প্রকল্প তৈরি এবং পরীক্ষার মধ্য দিয়ে যায় না (যা আমি মনে করি প্রতিটি টিউটোরিয়ালে থাকা উচিত)। আমি যদি আরও একটি টিট দেখতে পাই যা আরও বেশি প্রত্যক্ষ হয় তবে আমি এই থ্রেডটি
মাথায় রাখব

@ PawełKarpiński - তাদের সম্পর্কে এত জটিল কী? আমি এর আগে গিটোসিস সেটআপ ব্যবহার করেছি এবং এটি আসলে খুব সহজ।
শওনা


4

যে সমাধানটি আমার পক্ষে সবচেয়ে ভাল কাজ করেছে তা ছিল ওয়েবডিএভি সেটআপ করা।

  • sudo a2enmod sudo dav_fs

  • sudo a2enmod dav

  • নতুন ফাইল যুক্ত করুন /etc/apache2/sites-availableএবং এর নাম দিন, উদাহরণস্বরূপ git.yourserver.com,। এটি সম্পাদনা করুন এবং নিম্নলিখিত লাইন যুক্ত করুন:

<VirtualHost *:80>

DocumentRoot /var/www/git.yourserver.com/repos
ServerName git.yourserver.net
Options Indexes FollowSymLinks MultiViews

<Location />
    DAV On
    AuthType Basic
    AuthName "git repos"
    AuthUserFile /var/www/git.yourserver.net/password.dav
    Require valid-user
</Location>

</VirtualHost>

  • আইডির ভিতরে ডিরেক্টরি /var/www/git.yourserver.comএবং ডিরেক্টরি তৈরি করুনrepos
  • sudo chown www-data /var/www/git.yourserver.com/repos
  • sudo htpasswd -c /var/www/git.yourserver.com/password.dav user_login এবং ব্যবহারকারীর নামের জন্য পাসওয়ার্ড প্রবেশ করান user_login
  • sudo chown root:www-data /var/www/git.yourserver.com/password.dav
  • sudo chmod 640 /var/www/git.yourserver.com/password.dav

এখন, sudo a2ensite git.yourserver.comএবং sudo service apache2 restart

  • /var/www/git.yourserver.com/reposডিরেক্টরি লিখুন এবং তৈরি করুন, উদাহরণস্বরূপ,myrepo.git
  • cd myrepo.git
  • git --bare init
  • git update-server-info

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

git clone http://user_login:user_password@git.yourserver.com/myrepo.git

এবং আপনি শেষ করেছেন। আপনি যদি সার্ভিসে আপনার চালিত পরিবর্তনগুলি প্রেরণ করতে চান:

git push origin master

আপনি যত বেশি ব্যবহারকারী ব্যবহার করতে চান তা তৈরি করতে পারেন sudo htpasswd-cআরও বেশি ব্যবহারকারী যুক্ত করার সময় স্যুইচটি ব্যবহার না করার কথা মনে রাখবেন , কারণ পুরানো ফাইল মোছা হবে।


3
এইচটিটিপি হ'ল "বোবা" প্রোটোকল যা সমর্থিত তবে দৃ strongly়ভাবে নিরুৎসাহিত। নেটিভ গিট প্রোটোকল আরও ভাল কাজ করে এবং সেট আপ করা সহজ কারণ আপনার যা করতে হবে তার একটি ওয়ার্কিং এসএস সার্ভার রয়েছে (যা আপনার ইতিমধ্যে হওয়া উচিত) এবং গিট-কোর ইনস্টল করা উচিত। অ্যাপাচি দিয়ে মোটেও হাস্যকর করার দরকার নেই।
psusi

3

আমি ব্যবহারকারী এবং সুরক্ষা পরিচালনার জন্য গিটোলাইট পদ্ধতির পছন্দ করি । ইসি 2 বর্তমানে পরীক্ষিত হওয়ার জন্য আমার কাছে একটি গিট + গিটোলাইট সার্ভার এএমআই রয়েছে। এটি চেষ্টা করে নির্দ্বিধায়; ডকুমেন্টেশন এখানে উপলব্ধ:

অ্যালিস্টিক গিট সার্ভার

এই পদ্ধতির ব্যবহার করে আপনার কয়েক মিনিটের মধ্যে ব্যক্তিগত সংগ্রহস্থল সহ একটি কেন্দ্রীয় গিট সার্ভার থাকতে পারে। আপনি যদি তাদের সাথে পরিচিত না হন তবে গিটোলাইট এবং ইসি 2 এর জন্য একটি শিক্ষার বক্ররেখা রয়েছে।


3

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

আমার সাইটে আমার কীভাবে নিবন্ধ আছে

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.