অ্যাক্টিভ ডিরেক্টরী ব্যবহার করার জন্য কীভাবে আমি সাবভার্সন সংগ্রহস্থলের একটি বিদ্যমান সেট স্যুইচ করতে পারি? (Svnserve / উইন্ডোজ)


12

আমার কাছে একটি উইন্ডোজ সার্ভার 2003 বাক্সে বেসরকারী সাবভার্সন সংগ্রহস্থলের একটি সেট রয়েছে যা বিকাশকারীরা এসভিএনএস সার্ভের মাধ্যমে এসএনএন: // প্রোটোকলের মাধ্যমে অ্যাক্সেস করে। বর্তমানে আমরা ব্যবহার করা হয়েছে authz এবং passwd কোন ভান্ডার এবং বিকাশকারীরা আমি ActiveDirectory থেকে তাদের শংসাপত্র ব্যবহার করে সুইচিং বিবেচনা করছি ক্রমবর্ধমান সংখ্যায় সঙ্গে অ্যাক্সেস নিয়ন্ত্রণ করুন তবে প্রতিটি সংগ্রহস্থলের জন্য ফাইল। আমরা একটি সমস্ত মাইক্রোসফ্ট শপ চালাচ্ছি এবং আমাদের সমস্ত ওয়েব সার্ভারে আপাচের পরিবর্তে আইআইএস ব্যবহার করি সুতরাং আমি যদি সম্ভব হয় তবে এসভিএনসারভে ব্যবহার চালিয়ে যেতে পছন্দ করব।

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

আমার বিকল্পগুলি কি?

আপডেট 1: এসভিএন ডকুমেন্টেশন থেকে এটি প্রদর্শিত হয় যে এসএএসএল ব্যবহার করে আমার এসিভিএনসার্ভকে অ্যাক্টিভ ডিরেক্টরী ব্যবহার করে প্রমাণীকরণ করতে সক্ষম হওয়া উচিত। স্পষ্ট করার জন্য, আমি যে উত্তরটি সন্ধান করছি তা হ'ল কীভাবে SVNServe কনফিগার করতে হবে (যদি সম্ভব হয়) কীভাবে প্রমাণীকরণের জন্য অ্যাক্টিড ডিরেক্টরী ব্যবহার করতে হবে এবং তারপরে কীভাবে বিদ্যমান এসএনএন ব্যবহারকারীদের তাদের অ্যাক্টিভ ডিরেক্টরিতে ডোমেন লগইন অ্যাকাউন্টগুলিতে পুনর্নির্মাণের জন্য একটি বিদ্যমান সংগ্রহস্থল পরিবর্তন করতে হয়।

আপডেট 2: এটি উপস্থিত হয় যে SVNServe এ SASL সমর্থন একটি প্লাগইন মডেল থেকে কাজ করে এবং ডকুমেন্টেশন কেবল উদাহরণ হিসাবে দেখায়। এ খুঁজছি সাইরাস SASL লাইব্রেরী এটা প্রমাণীকরণ "মেকানিজম" সমর্থিত একটি নম্বর মত দেখায় কিন্তু আমি নিশ্চিত যা এক ActiveDirectory সমর্থনের জন্য ব্যবহার করা হয় না আমি ব্যাপারে সম্পর্কে কোনো ডকুমেন্টেশন জানতে পারেন নই।

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

আপডেট 4: আমি এই বিষয়টির সর্বশেষতম পোস্টটি এটিকে সাউন্ড করে তোলে যেন এমআইটি কার্বেরোস লাইব্রেরির মাধ্যমে যথাযথ বাইনারি () পাওয়া যায় তবে মনে হয় নাবল ডটকমের এই পোস্টটির লেখক এখনও জিনিস পেয়ে কাজ করে আসছে is ।

আপডেট 5: এটি কচ্ছপ এসভিএন আলোচনা থেকে এবং svn.haxx.se এ এই পোস্টটি দেখে মনে হচ্ছেএমনকি যদি saslgssapi.dll বা প্রয়োজনীয় বাইনারিগুলি উইন্ডোজ সার্ভারে উপলব্ধ এবং কনফিগার করা থাকে যে ক্লায়েন্টদেরও এই সংগ্রহস্থলগুলির সাথে কাজ করার জন্য একই কাস্টমাইজেশন প্রয়োজন হবে। যদি এটি সত্য হয় তবে আমরা কেবলমাত্র উইন্ডোজ ক্লায়েন্টের থেকে অ্যাক্টিভডাইরেক্টরি সমর্থন পেতে সক্ষম হবো যদি এই ধরনের প্রমাণীকরণের স্কিমগুলিকে সমর্থন করার জন্য ক্লায়েন্ট বাইনারিগুলির টার্টয়েজএসভিএন এবং কোলাবনেট বিল্ডের মতো পরিবর্তনগুলি করা হয়। যদিও এই পোস্টগুলিতে যা বোঝায় তা হ'ল এটি মূলত এসএসএল সুসংগত হওয়ার সাথে অন্যান্য পড়া থেকে অনুমান করা থেকে আমার বিরোধী যে ক্লায়েন্টের কোনও পরিবর্তনের প্রয়োজন নেই বরং পরিবর্তে কেবল প্রমাণীকরণ প্রক্রিয়াটি পরিচালনা করতে সার্ভার সেটআপ করা উচিত। সাবভার্সনে সাইরাস এসএএসএল সম্পর্কে নথিতে আরও কিছু সাবধানতার সাথে পড়ার পরেবিভাগে 5 তে উল্লেখ করা হয়েছে "সাইরাস এসএএসএল সমর্থনযুক্ত 1.5+ ক্লায়েন্টরা এসএএসএল সক্ষম দ্বারা 1.5+ সার্ভারের বিরুদ্ধে প্রমাণীকরণ করতে সক্ষম হবে, তবে সার্ভার দ্বারা সমর্থিত মেকানিজমগুলির মধ্যে কমপক্ষে একটি ক্লায়েন্ট দ্বারা সমর্থিতও হবে।" সুতরাং পরিষ্কারভাবে জিএসএসএপিআই সমর্থন (যা আমি বুঝতে পারি যে অ্যাক্টিভ ডিরেক্টরিগুলির জন্য প্রয়োজনীয়) অবশ্যই ক্লায়েন্ট এবং সার্ভারের মধ্যে উপলব্ধ।

আমার বলতে হবে, সাবভার্সন কীভাবে প্রমাণীকরণ পরিচালনা করতে চেয়েছিল তার চেয়ে অনেক বেশি ইন্টার্নাল সম্পর্কে আমি শিখছি। এবং দুর্ভাগ্যক্রমে আমি কেবল একটি উইন্ডোজ সার্ভারে এসভিএনএসরভ ব্যবহার করার সময় এবং উইন্ডোজ ক্লায়েন্টের কাছ থেকে এটি অ্যাক্সেস করার সময় অ্যাক্টিভ ডিরেক্টরি প্রমাণীকরণের সমর্থন পেতে পারি কিনা সে সম্পর্কে আমি কেবল উত্তর খুঁজছিলাম। অফিসিয়াল ডকুমেন্টেশন অনুসারে মনে হয় এটি সম্ভব হয়েছে তবে আপনি দেখতে পাচ্ছেন যে কিছুটা হলেও সম্ভব না হলেও কনফিগারেশনটি তুচ্ছ tri

আপডেট::: যেহেতু সাবভার্সন ১.7 এর বিকাশ গুটিয়ে যাচ্ছে, কেউ কি এসভিএনএসরভকে অ্যাক্টিভ ডিরেক্টরি ব্যবহার করে প্রমাণীকরণ করার পরিস্থিতির উপর উন্নতি করবে কিনা সে সম্পর্কে কেউ কি কিছু যোগ করতে পারে?


তারপরে এখানে দেখুন .. stackoverflow.com/questions/333146 তবে এটি আমার কাছে বেশ হ্যাক বলে মনে হচ্ছে। আপনি
আইপিএস পাশাপাশি অ্যাপাচে

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

1
+1 সত্যিই এটি দীর্ঘকাল আগেও করতে চেয়েছিল, উইন্ডোজ বাক্সে অ্যাপাচি চালানোর কথা আমি সত্যই ঘৃণা করি যখন এটি প্রয়োজন হয় না তখন ... আইআইএস এর সাথে এসএসএল অ্যাক্সেসের সাথে এটি সংযুক্ত করার জন্য অতিরিক্ত পয়েন্ট ^ ^
ওসকার ডুভের্বন

@ অস্কার - আমি মনে করি যে যদি কেউ আইআইএস 7 এর জন্য ডাব্লিউএএস মডিউল তৈরি করে এবং আইপিএসের মধ্যে অ্যাপাচি ভিত্তিক এইচটিপি প্রোটোকল এবং এসভিএনভিজার প্রোটোকল উভয়কেই হোস্টিংয়ের জন্য তৈরি করে তবে এটি দুর্দান্ত হবে। যদি আমার হাতে আরও সময় থাকে তবে আমি ওপেন সোর্স প্রকল্প হিসাবে নেট। নেট এ জাতীয় কিছু তৈরি করতে আগ্রহী।
jpierson

উত্তর:


5

ইতিমধ্যে উল্লিখিত হিসাবে, ভিজুয়ালএসভিএন সার্ভারটি আপনার পছন্দসই সরঞ্জাম। এটি উইন্ডোজের জন্য একটি সর্বাত্মক প্যাকেজ যা কেবল এটির অভ্যন্তরে অ্যাপাচি ব্যবহার করার জন্য ঘটে থাকে - আপনি যতক্ষণ না এটি ইনস্টল করা ঘরের মধ্যে ঘুরে বেড়াতে যান তবে আপনি কখনই জানতে পারবেন না, যার উইন্ডোজ পরিষেবাটি যার জন্য একটি এমএমসি স্ন্যাপ-ইন রয়েছে এটি পরিচালনা করুন। আপনার যদি ইতিমধ্যে 80 বন্দরটি নেওয়া হয় তবে আপনি যে পোর্টটি চালাচ্ছেন তা আপনি এটি পরিবর্তন করতে পারেন।

আমি বুঝতে পারি এই মুহুর্তে এসএনএল সাভারের সাহায্যে কাজ করা হচ্ছে।


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

আমি কৌতূহলী যে এসএনএল সমর্থন যে / এসএনভিজারের জন্য কাজ করা হয়েছিল তা কোনও ফলস্বরূপ এসেছে কিনা সে সম্পর্কে আপনার কোনও ইনপুট থাকতে পারে কিনা cur আমরা কি সাবভার্সন ১.7 এ কোন উন্নতি দেখতে আশা করতে পারি?
jpierson

1

আমি স্বেচ্ছাসেবীর সাথে অ্যাপাচি ব্যবহার করছি ডিবিয়ান লিনাক্সের বিপরীতে অ্যাক্টিভ ডিরেক্টরি সার্ভারে চালিত। ক্লায়েন্টরা HTTP প্রোটোকলের মাধ্যমে সংগ্রহস্থলের সাথে সংযোগ স্থাপন করে। যদি এই সেটআপটি আপনার জন্য গ্রহণযোগ্য হয় - পড়া চালিয়ে যান।

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

প্রয়োজনীয় সফ্টওয়্যার ইনস্টল করুন:

apt-get install libapache2-svn subversion apache2

অ্যাপাচের ভোস্টের কনফিগারেশনে [সেগুলিতে তাদের প্রতিলিপিগুলি / etc / apache2 / সাইটগুলি সক্ষম করা পাওয়া যায়]। ভার্চুয়ালহোস্টের ভিতরে যুক্ত করুন:

<Location /svn>
        DAV svn
        #change this to actual path
        SVNPath /full/path/to/your/current/svn/directory

        AuthType Basic
        AuthName "SVN Server"
        AuthBasicProvider ldap
        AuthzLDAPAuthoritative Off

        # provide here credentials for existing domain user. 
        # in my case domain is called domainName and user - user
        AuthLDAPBindDN "domainName\user"
        AuthLDAPBindPassword usersPassword
        # put here ip of the domain controler and full path to OU containing accounts
        AuthLDAPURL ldap://10.11.22.33:389/ou=Users,dc=domainName,dc=companyName,dc=whatever?sAMAccountName?sub?(objectClass=*)
        Require valid-user
        SVNAutoversioning on

        AuthzSVNAccessFile /etc/apache2/svn_authz
</Location>

নিশ্চিত হোন যে অ্যাপাচি ldap মডিউলটি লোড করেছে:

cd /etc/apache2/mods-enabled
ln -s ../mods-available/authnz_ldap.load
ln -s ../mods-available/ldap.load
/etc/init.d/apache2 reload

নিশ্চিত করুন যে অ্যাপাচি এসএনএন সংগ্রহস্থলে ফাইলগুলি সংশোধন করতে পারে:

chown www-data:www-data -R /full/path/to/your/current/svn/directory

কে কী অ্যাক্সেস করতে পারে তা বলার জন্য আপনার এসএনএন_আউথজে নিয়ম থাকতে হবে। আমার ক্ষেত্রে:

[groups]
ops=jack.brown,john.smith

[/]
* = rw

[/priv]
* =
@ops = rw

আপনি এখানে ফাইলটির সিনট্যাক্স সম্পর্কে আরও জানতে পারেন ।

যদি আপনি এতদূর পৌঁছে থাকেন - আপনার ব্যবহারকারীরা কোনও এসএনএন ক্লায়েন্ট [কচ্ছপ / সেমিডলাইন / ভিজ্যুয়াল এসএনএন] ব্যবহার করে http: //server.address/svn/ থেকে চেক আউট করতে পারেন , তারা সমস্ত ইতিহাস দেখতে পাবে এবং এতে লেখা / লেখা চালিয়ে যাবে।


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

1

আপনি জিএসএসপিআইয়ের পরিবর্তে স্যাসলএনটিএমএল ব্যবহার করতে পারেন। স্যাসলএনটিএমএল dll টিএসভিএন দিয়ে ডিফল্টরূপে ইনস্টল করা আছে এবং আমি মনে করি এটিও কোলাব.net থেকে এসএনএন ক্লায়েন্টের অন্তর্ভুক্ত।

দুই আছে অপশন আপনার SASL কনফিগ ফাইলে আপনি সেট করতে হবে:

ntml_server

এবং alচ্ছিক

ntml_v2

এবং অবশ্যই আপনাকে এনটিএমএল অন্তর্ভুক্ত করতে আপনার কনফিগার ফাইলে মেছ তালিকাটি সেট করতে হবে।

আমি পুরো বিষয়টি বাস্তবায়িত করার পরে আমি কেবল একবার টিএসভিএন দিয়ে চেষ্টা করেছি। তবে আমার জন্য অন্য কেউ আমার কাছে একটি পরীক্ষা সার্ভার স্থাপন করেছিল যাতে সঠিক কনফিগারেশন বিকল্পগুলি কী তা আমার কোনও ধারণা নেই।


দুর্দান্ত, আমি খুব শীঘ্রই এটি চেষ্টা করে দেখব এবং কোথায় পাব।
jpierson

আমি বেশ কয়েকটি জিনিস চেষ্টা করেছি তবে টরটোইজএসভিএন ব্যবহার করে চেক আউট করার চেষ্টা করার সময় আমি সর্বদা নিম্নলিখিত ত্রুটিটি পেয়ে যাই। ত্রুটি: সার্ভার থেকে প্রমাণীকরণের ত্রুটি: এসএএসএল (-13): ব্যবহারকারী খুঁজে পাওয়া যায় নি: ত্রুটিটি খুঁজে পেতে অক্ষম: কলব্যাক: 2
জেপিয়ারসন

"ব্যবহারকারী পাওয়া যায় নি" এর অর্থ হল কম্পিউটারটি আপনি যে ডোমেনে প্রমাণীকরণের চেষ্টা করছেন তার অংশ নয় বা ব্যবহারকারী ডোমেনে জানেন না। সম্ভবত আপনি নেটওয়ার্ক ট্র্যাফিক ক্যাপচার চেষ্টা করতে পারেন এবং কি ঘটছে তা জানার চেষ্টা করতে পারেন?
স্টিফান
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.