সংস্করণ নিয়ন্ত্রণের জন্য অ্যাপাচি সাবভার্সন এসভিএন এবং কচ্ছপ এসভিএন সেটআপ করার চূড়ান্ত গাইড


যদি আপনার কাজের জন্য ডকুমেন্টস, ওয়েব পৃষ্ঠাগুলি এবং নিয়মিতভাবে আপডেট হওয়া অন্যান্য ধরণের ফাইলগুলি হ্যান্ডলিংয়ের প্রয়োজন হয় তবে আপনি যদি ইতিমধ্যে এটি না করে থাকেন তবে আপনি কোনও সংস্করণ নিয়ন্ত্রণ ব্যবস্থা ব্যবহার করতে চাইতে পারেন।

অন্যান্য জিনিসের মধ্যে এটি আপনাকে (এবং সম্ভাব্য সহযোগীদের একটি গ্রুপ) প্রদত্ত ফাইলটিতে করা পরিবর্তনগুলিও ট্র্যাক করতে দেয় এবং কোনও সমস্যার মুখোমুখি হলে বা কোনও আপডেট প্রত্যাশিত ফলাফল প্রকাশ না করলে আপনাকে পূর্ববর্তী সংস্করণে ফিরে যেতে দেয় lets ।

ফ্রি সফটওয়্যার ইকোসিস্টেমে, সর্বাধিক ব্যবহৃত সংস্করণ নিয়ন্ত্রণ ব্যবস্থাকে অ্যাপাচি সাবভারসিওন (বা সংক্ষেপে এসভিএন) বলা হয়। Mod_dav_svn (সাবভার্সনের জন্য অ্যাপাচি মডিউল) এর সাহায্যে আপনি HTTP এবং একটি ওয়েব সার্ভার ব্যবহার করে একটি সাবভার্সন সংগ্রহস্থল অ্যাক্সেস করতে পারেন।

এটি বলেছিল, আসুন আমাদের হাতগুলিকে রোল আপ করুন এবং এই সরঞ্জামগুলি একটি RHEL/CentOS 7, ফেডোরা 22-24, ডেবিয়ান 8/7 এবং উবুন্টু 16.04-15.04 সার্ভারে ইনস্টল করুন। আমাদের পরীক্ষার জন্য আমরা আইপি 192.168.0.100 সহ সেন্টোস 7 সার্ভার ব্যবহার করব।

ক্লায়েন্টের পাশে (একটি উইন্ডোজ 7 মেশিন), আমরা এসটিএন-এর একটি ইন্টারফেস হিসাবে টরটোইজএসভিএন (যা অ্যাপাচি সাবভার্সনের উপর ভিত্তি করে) ইনস্টল করব এবং ব্যবহার করব।

Server - CentOS 7
IP Address - 192.168.0.100
Client - Windows 7

পদক্ষেপ 1 - লিনাক্সে এসভিএন ইনস্টল এবং কনফিগার করা

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

------------------ On CentOS / RHEL / Fedora ------------------ 
# yum update && yum install mod_dav_svn subversion httpd -y

------------------ On Debian / Ubuntu ------------------ 
# apt-get update && apt-get install libapache2-svn subversion apache2 -y 

CentOS 7-এ ইনস্টলেশনের সময়, এসভিএন-র জন্য অ্যাপাচি কনফিগারেশন ফাইলটি /etc/httpd/conf.modules.d/10-sversvers.conf হিসাবে তৈরি করা হবে। ফাইলটি খুলুন এবং নিম্নলিখিত কনফিগারেশন ব্লক যুক্ত করুন:

<Location /svn>
    DAV svn
    SVNParentPath /websrv/svn
    AuthType Basic
    AuthName "Welcome to SVN"
    AuthUserFile /etc/httpd/subversion-auth
    Require valid-user
</Location>

দ্রষ্টব্য: দেবিয়ান/উবুন্টুতে আপনাকে /etc/apache2/mods-enabled/dav_svn.conf ফাইলে নীচের লাইন যুক্ত করতে হবে।

<Location /svn>
    DAV svn
    SVNParentPath /websrv/svn
    AuthType Basic
    AuthName "Welcome to SVN"
    AuthUserFile /etc/apache2/subversion-auth
    Require valid-user
</Location>

ডেবিয়ান/উবুন্টুতে, আপনাকে dav_svn অ্যাপাচি মডিউল সক্ষম করতে হবে:

# a2enmod dav_svn

কয়েকটি স্পষ্টতা:

  1. The SVNParentPath directive indicates the directory where our repositories will be later created. If this directory does not exist (which is most likely the case), create it with:
    # mkdir -p /websrv/svn
    

    It is important to note that this directory must NOT be located inside, or overlap, the DocumentRoot of a virtual host currently being served by Apache. This is a showstopper!

  2. The AuthUserFile directive indicates the file where the credentials of a valid user will be stored. If you want to allow everyone to access SVN without authentication, remove the last four lines in the Location block. If that is the case, skip Step 2 and head directly to Step 3.
  3. Although you may be tempted to restart Apache in order to apply these recent changes, don’t do it yet as we still need to create the authentication file with valid users for SVN, and the repository itself.

পদক্ষেপ 2 - এসভিএন অ্যাক্সেসের জন্য অনুমোদিত ব্যবহারকারীদের যুক্ত করুন

SVN- এ অ্যাক্সেসের অনুমতি দেওয়া অ্যাকাউন্টগুলির জন্য একটি পাসওয়ার্ড তৈরি করতে আমরা এখন htpasswd ব্যবহার করব। শুধুমাত্র প্রথম ব্যবহারকারীর জন্য আমাদের -c বিকল্পটি প্রয়োজন।

অনুমোদিত অ্যাকাউন্ট এবং বিসিআরপিট-এনক্রিপ্ট করা পাসওয়ার্ড ( -বি ) কী-মান জোড়ায়/etc/httpd/subversion-auth এ সংরক্ষণ করা হবে। মনে রাখবেন যে আজকের মান অনুসারে, htpasswd দ্বারা ব্যবহৃত ডিফল্ট MD5 বা SHA এনক্রিপশনটিকে নিরাপত্তাহীন বলে মনে করা হয়।

------------------ On CentOS / RHEL / Fedora ------------------ 
# htpasswd -cB /etc/httpd/subversion-auth tecmint

------------------ On Debian / Ubuntu ------------------ 
# htpasswd -cB /etc/apache2/subversion-auth tecmint

প্রমাণীকরণ ফাইলে সঠিক মালিকানা এবং অনুমতি সেট করতে ভুলবেন না:

------------------ On CentOS / RHEL / Fedora ------------------ 
# chgrp apache /etc/httpd/subversion-auth
# chmod 660 /etc/httpd/subversion-auth

------------------ On Debian / Ubuntu ------------------ 
# chgrp www-data /etc/apache2/subversion-auth
# chmod 660 /etc/apache2/subversion-auth

পদক্ষেপ 3 - সুরক্ষা যুক্ত করুন এবং এসভিএন সংগ্রহস্থল তৈরি করুন

যেহেতু আপনি কোনও ওয়েব ইন্টারফেসের মাধ্যমে এসভিএন অ্যাক্সেস করবেন, তাই আপনার ফায়ারওয়ালের মাধ্যমে আপনাকে HTTP (এবং বিকল্পভাবে HTTPS) ট্র্যাফিকের অনুমতি দিতে হবে।

------------------ On CentOS / RHEL / Fedora ------------------ 
# firewall-cmd --add-service=http --permanent
# firewall-cmd --add-service=https --permanent
# firewall-cmd --reload 

--reload দিয়ে ফায়ারওয়াল কনফিগারেশন পুনরায় লোড করার মাধ্যমে স্থায়ী সেটিংস অবিলম্বে কার্যকর করা হবে।

টেকমিন্ট নামে একটি প্রাথমিক এসভিএন সংগ্রহস্থল তৈরি করুন:

# svnadmin create /websrv/svn/tecmint

পুনরাবৃত্তভাবে অ্যাপাচে মালিক এবং গোষ্ঠীর মালিককে পরিবর্তন করুন:

------------------ On CentOS / RHEL / Fedora ------------------ 
# chown -R apache:apache /websrv/svn/tecmint

------------------ On Debian / Ubuntu ------------------ 
# chown -R www-data:www-data /websrv/svn/tecmint

শেষ অবধি, আপনাকে /ওয়েবসরভি/এসভিএন/টেকমিট এর সুরক্ষা প্রসঙ্গটি পরিবর্তন করতে হবে (নোট করুন যে আপনি পরে অন্য সংগ্রহস্থলগুলি তৈরির সিদ্ধান্ত নিলে আপনাকে এই পদক্ষেপটি পুনরাবৃত্তি করতে হবে):

------------------ On CentOS / RHEL / Fedora ------------------ 
# chcon -R -t httpd_sys_content_t /websrv/svn/tecmint/
# chcon -R -t httpd_sys_rw_content_t /websrv/svn/tecmint/

দ্রষ্টব্য: আপনি যদি SELinux অক্ষম করে কোনও ভিপিএসে এসভিএন ইনস্টল করে থাকেন তবে শেষ দুটি কমান্ড প্রযোজ্য হবে না।

অ্যাপাচি পুনরায় চালু করুন এবং সংগ্রহস্থলটি যাচাই করুন।

------------------ On CentOS / RHEL / Fedora ------------------ 
# systemctl restart httpd

------------------ On Debian / Ubuntu ------------------ 
# systemctl restart apache2

তারপরে একটি ওয়েব ব্রাউজারটি চালু করুন এবং http://192.168.0.100/svn/tecmint এ এটি নির্দেশ করুন। আমরা পদক্ষেপ 1-এ তৈরি করা বৈধ ব্যবহারকারীর শংসাপত্রগুলি প্রবেশ করার পরে, আউটপুটটির মতো হওয়া উচিত:

এই মুহুর্তে আমরা আমাদের ভান্ডারে কোনও কোড যুক্ত করি নি। তবে আমরা এটি এক মিনিটের মধ্যে করব।

পদক্ষেপ 4 - উইন্ডোজ 7 ক্লায়েন্টে কচ্ছপ এসভিএন ইনস্টল করুন

যেমনটি আমরা সূচনাতে উল্লেখ করেছি, কচ্ছপ এসভিএন অ্যাপাচি সাবভার্সনের একটি ব্যবহারকারী-বান্ধব ইন্টারফেস। এটি জিপিএল এর আওতায় লাইসেন্সযুক্ত ফ্রি সফটওয়্যার এবং https://tortoisesvn.net/downloads.html থেকে ডাউনলোড করা যায়।

আপনার মেশিনের সাথে সঙ্গতিপূর্ণ আর্কিটেকচার (32 বা 64-বিট) চয়ন করুন এবং এগিয়ে যাওয়ার আগে প্রোগ্রামটি ইনস্টল করুন।

পদক্ষেপ 5 - ক্লায়েন্ট মেশিনে সেটআপ এসভিএন সংগ্রহস্থল

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

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

সংগ্রহস্থলের URL এ, http://192.168.0.100/svn/tecmint টাইপ করুন এবং স্থানীয় চেকআউট ডিরেক্টরিটি একই রয়ে গেছে তা নিশ্চিত করুন, তারপরে ওকে ক্লিক করুন:

ব্যবহারকারীর নাম এবং পাসওয়ার্ড লিখুন (দ্বিতীয় পদক্ষেপ দেখুন) এবং ওকে ক্লিক করুন:

আপনাকে জিজ্ঞাসা করা হবে যে আপনি খালি নয় এমন ডিরেক্টরিতে চেকআউট করতে চান কিনা। চেকআউট নিয়ে এগিয়ে যাওয়ার নিশ্চয়তা দিন। এটি সম্পূর্ণ হয়ে গেলে ফোল্ডারের নামের পাশে একটি সবুজ চেকমার্ক উপস্থিত হবে:

পদক্ষেপ - - পরিবর্তনগুলি প্রতিশ্রুতিবদ্ধ করুন এবং দূরবর্তী এসভিএন সংগ্রহস্থলগুলিতে ফাইল স্থাপন করুন

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

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

যদি একই ফাইলগুলিতে বেশ কয়েকজন লোক কাজ করে থাকে তবে কাজ করার জন্য আপনার স্থানীয় অনুলিপিটি আপডেট করতে চাইবেন। আপনি ওয়েব অ্যাপ্লিকেশন ডান ক্লিক করে এবং প্রসঙ্গ মেনু থেকে আপডেট চয়ন করে এটি করতে পারেন।

অভিনন্দন! আপনি সাফল্যের সাথে একটি এসভিএন সার্ভার সেটআপ করেছেন এবং সংস্করণ নিয়ন্ত্রণের অধীনে একটি সহজ প্রকল্প কমিট/আপডেট করেছেন।

সারসংক্ষেপ

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

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

সর্বদা হিসাবে, আপনার কোনও প্রশ্ন থাকলে আমাদের জানান দ্বিধা করবেন না! আমাদের যে কোনও সময় পৌঁছাতে নীচে মন্তব্য ফর্মটি নির্দ্বিধায় ব্যবহার করুন।