Ultimate Multisite 101
Ultimate Multisite ହେଉଛି ଏକ WordPress Multisite plugin ଯାହା ଆପଣଙ୍କୁ ଗ୍ରାହକମାନଙ୍କୁ WaaS ବା Websites as a Service ଦେବାକୁ ସକ୍ଷମ କରିଥାଏ। ଆମେ କ'ଣ Ultimate Multisite ଆପଣଙ୍କ ବ୍ୟବସାୟ ଏବଂ ଗ୍ରାହକମାନଙ୍କ ପାଇଁ କିପରି ସାହାଯ୍ୟ କରିପାରିବ, ତାହା ଜାଣିବା ପୂର୍ବରେ ଆମକୁ କିଛି ମୌଳିକ ଜ୍ଞାନ ଅର୍ଜନ କରିବା ଆବଶ୍ୟକ।
The WordPress Multisite
ଆମେ ମଧ୍ୟରୁ ଅଧିକାଂଶ ସ୍ଥାପତ୍ରୀ (installation) ଷ୍ଟକ୍-ଷ୍ଟାଣ୍ଡାର୍ WordPress ବିଷୟରେ ଜାଣିଛନ୍ତି। ଆପଣ ଏହାକୁ ଆପଣଙ୍କ ହୋস্টিং ପ୍ରଭାବକଙ୍କ କଣ୍ଟ୍ରୋଲ୍ ପ୍ୟାନେଲ ମାଧ୍ୟମରେ ସୃଷ୍ଟି କରିପାରିବେ ବା, ଯଦି ଆପଣ ବହୁତ ବୀର, ତେବେ ଏକ ନୂଆ web server ଏବଂ database ସେଟଅପ୍ କରିବା, core files ଡାଉନଲୋଡ କରି ଏକ installations ପ୍ରକ୍ରିୟା ଆରମ୍ଭ କରିପାରିବେ।
ଏହା ବିଶ୍ୱରେ ମିଳି ଯାଇଥିବା ମିଳିଯାଇଥିବା ମିଳିଯାଇଥିବା WordPress ସାଇଟ୍ଗୁଡ଼ିକ ପାଇଁ କାର୍ଯ୍ୟ କରେ, କିନ୍ତୁ ଏକ agency ବା ହୋস্টিং ପ୍ରଭାବକଙ୍କ ଦୃଷ୍ଟିକୋଣରୁ ଆମେ ମୁହୂର୍ତ୍ତରେ ଭଲ ଭାବରେ ଚିନ୍ତା କରିବା।
ଏକ automated control panel ମାଧ୍ୟମରେ ଗୋଟିଏ WordPress ସାଇଟ୍ କିମ୍ବା ଏକ ଶହ ପର୍ଯ୍ୟନ୍ତ ସାଇଟ୍ ସୃଷ୍ଟି କରିବା ସହ ସେଥିପାଇଁ ଆମେ synch (ସଙ୍ଗମ) ହୋଇଥାଉ, କିନ୍ତୁ ଏହି ସାଇଟ୍ଗୁଡ଼ିକର ପରିଚାଳନା (management) ମାନରେ ପହଞ୍ଚିଲେ ଅନ soon ସମସ୍ୟା ଦେଖାଯିବା ଆରମ୍ଭ କରିବ। ଯଦି ଏହାକୁ ପରିଚାଳନା କରା ନଯାଏ, ତେବେ ମାଲୱାର୍ (malware) ପାଇଁ ଆପଣ ପ୍ରମୁଖ ଲକ୍ଷ୍ୟ ହୋଇଥାଆନ୍ତି। ପରିଚାଳନା କରିବା ଅର୍ଥ ହେଉଛି ପ୍ରୟାସ ଏବଂ ସମ୍ପଦର ବ୍ୟବହାର, ଏବଂ WordPress ସାଇଟ୍ଗୁଡ଼ିକର ପରିଚାଳନା ଏବଂ ତିଷ୍ଠିତ କରିବାର କାର୍ଯ୍ୟକୁ ସରଳ କରିବା ପାଇଁ ବାହାରେ external tools ଏବଂ plugins ମଧ୍ୟ ଉପଲବ୍ଧ, କିନ୍ତୁ ଗ୍ରାହକମାନେ ପ୍ରଶାସନିକ ପ୍ରବେଶ (administrative access) ବଜାୟ ରଖନ୍ତି, ଯୋଗୁଁ ଏହି ପ୍ରୟାସଗୁଡ଼ିକ ସହଜରେ ପରାସ୍ତ ହୋଇପାରେ।
ଏହାର core ଭିତରେ, WordPress 'Multisite' ନାମରେ ଏକ ବିଶେଷ ଅବଲମ୍ବନ (feature) ଯୋଗ ଦିଏ, ଯାହାର ମୂଳ 2010 ରେ WordPress 3.0 ଆରମ୍ଭ ହେବା ସମୟରେ ଆସିଥିଲା। ସେତେSince, ଏହା ନୂଆ features ପ ୍ରଦାନ କରିବା ଏବଂ ସୁରକ୍ଷାକୁ କଠୋର କରିବା ପାଇଁ ଅନେକ revision ପାଇଛି।
ସାରା କହିଲେ, ଏକ WordPress multisiteକୁ ଏପରି ଭାବରେ ବିବେଚନା କରାଯାଇପାରିବ: ଏକ ବିଶ୍ୱବିଦ୍ୟାଳୟ ଗୋଟିଏ WordPress installation ରଖେ, କିନ୍ତୁ ପ୍ରତ୍ୟେକ fakultତା ନିଜର ନିଜର WordPress site ରଖେ।
আসুন আমরা কিছু প্রাথমিক শব্দগুলো দেখে নিই যা শুধু Ultimate Multisite-এর ডকুমেন্টেশনে নয়, বরং পুরো WordPress কমিউনিটিতেও ব্যবহার করা হয়।
নেটওয়ার্ক (The Network)
ওয়ার্ডপ্রেসের ক্ষেত্রে, মাল্টিসাইট নেটওয়ার্ক মানে হলো একটি ড্যাশবোর্ড থেকে একাধিক সাবসাইট পরিচালনা করা। হোস্টিং প্রোভাইডারের মধ্যে মাল্টিসাইট নেটওয়ার্ক তৈরি করার পদ্ধতি আলাদা হলেও, শেষ পর্যন্ত ওয়ার্ডপ্রেসে জানাতে wp-config.php ফাইলে কিছু অতিরিক্ত নির্দেশিকা যোগ করতে হয় যে এটি এই নির্দিষ্ট মোডে চলছে।
একটি স্ট্যান্ড-অ্যালোন ওয়ার্ডপ্রেস ইনস্টলেশন এবং একটি মাল্টিসাইট নেটওয়ার্কের মধ্যে বেশ কিছু স্পষ্ট পার্থক্য আছে, যা আমরা সংক্ষেপে আলোচনা করব।
সাবডোমেইন বনাম সাবডিরেক্টরি (Subdomain vs. Subdirectory)
আপনাকে যে সিদ্ধান্তটি নিতে হবে তার মধ্যে একটি হলো আপনার মাল্টিসাইট ইনস্টলেশনটি সাবডিরেক্টরি নাকি সাবডোমেইনের মাধ্যমে চলবে। Ultimate Multisite এই দুটি বিকল্পের সাথেই সমানভাবে কাজ করে, তবে এই দুটি কনফিগারেশনের মধ্যে কিছু স্থাপত্যগত পার্থক্য আছে।
সাবডিরেক্টরি কনফিগারেশনে, নেটওয়ার্ক সাইটগুলো মূল ডোমেইন নামের উপর ভিত্তি করে একটি পাথ উত্তরাধিকার সূত্রে পায়। উদাহ রণস্বরূপ, 'site1' নামে চিহ্নিত একটি নেটওয়ার্ক সাইটের সম্পূর্ণ URL হবে https://domain.com/site1। সাবডোমেইন কনফিগারেশনে, নেটওয়ার্ক সাইটটি মূল ডোমেইন থেকে একটি নিজস্ব সাবডোমেইন পাবে। অর্থাৎ, 'site1' নামে চিহ্নিত সাইটের সম্পূর্ণ URL হবে https://site1.domain.com/।
যদিও উভয় বিকল্পই পুরোপুরি বৈধ পছন্দ, তবে সাবডোমেইন ব্যবহারের কিছু সুবিধা আছে, কিন্তু এর স্থাপত্যের জন্য আরও বেশি চিন্তা এবং পরিকল্পনা প্রয়োজন।
DNS-এর ক্ষেত্রে, subdirectories ব্যবহার করা তুলনামূলকভাবে সহজ একটা সমস্যা। যেহেতু নেটওয়ার্ক সাইটগুলো আসলে প্যারেন্ট পাথ বা মূল ডোমেইনের সন্তানের মতো, তাই মূল ডোমেইন নামের জন্য শুধু একটি মাত্র ডোমেইন নাম এন্ট্রি থাকা দরকার। কিন্তু subdomains-এর ক্ষেত্রে চ্যালেঞ্জটা একটু বেশি জটিল হয়, যার জন্য হয় প্রতিটি নেটওয়ার্ক সাই টের জন্য আলাদা CNAME এন্ট্রি নিতে হয় অথবা DNS রেকর্ডে ওয়াইল্ডকার্ড (*) এন্ট্রি ব্যবহার করতে হয়।
SSL এবং SSL সার্টিফিকেট ইস্যু ও ব্যবহারের বিষয়টাও একটা বিবেচ্য বিষয়। subdirectory কনফিগারেশনে, যেহেতু নেটওয়ার্ক সাইটগুলো মূল ডোমেইনের পাথ মাত্র, তাই একটি মাত্র ডোমেইন সার্টিফিকেট ব্যবহার করা যায়। অর্থাৎ domain.com-এর জন্য একটি সার্টিফিকেট https://domain.com/site1, https://domain.com/site2 এবং এগুলোর জন্য SSL ঠিকভাবে সরবরাহ করবে।
subdomain কনফিগারেশনে ওয়াইল্ডকার্ড SSL সার্টিফিকেট ব্যবহার করা সবচেয়ে সাধারণ উপায়গুলোর মধ্যে একটি। এই ধরণের SSL সার্টিফিকেট একটি ডোমেইন এবং তার subdomains-এর জন্য এনক্রিপশন প্রদান করে। তাই ওয়াইল্ডকার্ড SSL সার্টিফিকেট https://site1.domain.com, https://site2.domain.com এবং এমনকি https://domain.com-এর জন্যও এনক্রিপশন সরবরাহ করবে।
যদিও অন্য বিকল্পগুলোও আছে, তবে সেগুলো প্রায়শই সীমিত পরিসরের এবং প্রয়োগের ক্ষেত্রে অতিরিক্ত কনফিগারেশন ও উপযুক্ততা নিয়ে চিন্তা করতে হয়।
প্লাগইন এবং থিমসমূহ
ওয়ার্ডপ্রেস যা দেয়, তা গ্রাহকের দৃষ্টিকোণ থেকে কেড়ে নেয়। একটি স্বতন্ত্র ওয়ার্ডপ্রেস ইনস্টলেশনে যদি সাইট অ্যাডমিনিস্ট্রেটর কোনো খারাপ প্লাগইন ইনস্টল করে বা তাদের ইনস্টলেশন আপডেট রাখতে ব্যর্থ হয়, তবে এই কাজের একমাত্র শিকার ও ক্ষতির কারণ তিনিই হবেন। কিন্তু মাল্টিসাইট ইনস্টলেশনে কোনো সাইট অ্যাডমিনিস্ট্রেটর যখন কোনো খারাপ প্লাগইন ইনস্টল করেন, তখন নেটওয়ার্কে থাকা প্রতিটি সাইটের শিকার হয়ে যান।
ଏହି କାରଣରୁ, ଯେତେବେଳେ ଏହା ମల్టీସାଇଟ୍ WordPress ଭାବରେ ସେଟିଂ କରାଯାଏ, ସେଟି ଇନଷ୍ଟ୍ରିଟର୍ (site administrators) ପାଇଁ ପ୍ଲଗିନ୍ ଏବଂ ଥିମ ଇନଷ୍ଟଲ କରିବାର କ୍ଷମତାକୁ ବାତିଲ କରିଦିଏ ଏବଂ ଏହି କ୍ଷମତାକୁ ନୂଆ ସେଟି ଅଡମିନିଷ୍ଟ୍ରେଟର (network administrator) ବା 'ସୁପର ଆଡମିନ' ଭୋଲ୍ (role) ମଧ୍ୟରେ ସ୍ଥାନାନ୍ତର କରିଦିଏ। ଏହି ବିଶେଷ ଅଧିକାରୀ ଭୂମିକା ତାହା ନିର୍ଦ୍ଦେଶ କରିପାରନ୍ତି ଯେ କେଉଁ ସେଟିର ଆଡମିନମାନେ ନିଜ ଡାଶବୋର୍ଡରେ ପ୍ଲଗିନ୍ ମେନୁ ଦେଖିବାକୁ ଅନୁମତି ଦେବେ ଏବଂ ଯଦି ଦେବେ, ତେବେ ସେହି ଅନୁମତିଟି ପ୍ଲଗିନ୍ କାର୍ଯ୍ୟକାରୀ କରିବା (activating) କିମ୍ବା ଅକାର୍ଯ୍ୟକରଣ କରିବା (deactivating) ପାଇଁ ବ୍ୟାପିଯିବ କି ନାହିଁ, ତାହା ସେ ନିର୍ଦ୍ଦେଶ କରିପାରନ୍ତି।
ଏହି ଅନ୍ତର୍ଗତ, ମల్టీସାଇଟ୍ ଆଡମିନିଷ୍ଟ୍ରେଟର ହେଉଛନ୍ତି ମల్टीସାଇଟ୍ରେ ପ୍ଲଗିନ୍ ଏବଂ ଥିମ ସେଟିରେ ଇନଷ୍ଟଲ କରିବା ଏବଂ ନିଜ ସେଟି ପାଇଁ ଅନୁମତି ଦିଆଯାଇଥିବା ପ୍ଲଗିନ୍ ଏବଂ ଥିମ ବ୍ୟବହାର କରିବା ପାଇଁ ଅନୁମତି ପ୍ରଦାନ କରିବା ପାଇଁ କ୍ଷମତାକୁ ବିଭାଜନ କରନ୍ତି। ସେଟି ଆଡମିନି ଷ୍ଟ୍ରେଟର୍ ନିଜ ସେଟିରେ ନିର୍ଦ୍ଧାରିତ ନଥିବା ପ୍ଲଗିନ୍ ଏବଂ ଥିମ ଇନଷ୍ଟଲ କରିପାରିବେ ନାହିଁ କିମ୍ବା ସେମାନଙ୍କୁ ଦେଖିପାରିବେ ନାହିଁ।
ବ୍ୟବହାରକ ଏବଂ ଆଡମିନିଷ୍ଟ୍ରେଟର୍ (Users and Administrators)
WordPress Multisite ରେ, ସମସ୍ତ ମల్टीସାଇଟ୍ ସମାନ ଡାଟାବେସ୍ ବ୍ୟବହାର କରନ୍ତି ଏବଂ ତେଣୁ ସମାନ ବିଜ୍ଞାନୀ (users), ଭୂମିକା (roles) ଏବଂ କ୍ଷମତା (capabilities) ସହ ବାଣ୍ଟିଥାନ୍ତି। ଏହାକୁ ସବୁଠାରୁ ଭଲଭାବରେ ଚିନ୍ତା କରିବାକୁ ଗଲେ, ସମସ୍ତ ବିଜ୍ଞାନୀ ମల్टीସାଇଟ୍ର ଅଂଶ ଏବଂ କୌଣସି ନିର୍ଦ୍ଦିଷ୍ଟ ସେଟିର ନୁହନ୍ତି।
ଏହି ବୁଝାମଣା ଦୃଷ୍ଟିରୁ, ବିଶେଷ କରି ଯେଉଁ କାରଣରୁ ବିଜ୍ଞାନୀ ତିଆରି କରିବାକୁ ଅନୁମତି ଦିଆଯାଇପାରିବ, ସେଥିପାଇଁ WordPress Multisite ସେଟି ଆଡମିନିଷ୍ଟ୍ରେଟର୍ଙ୍କଠାରୁ ଏହି କ୍ଷମତ ା ବାତିଲ କରିଦିଏ ଏବଂ ଏହାକୁ ନେଟୱର୍କ ଆଡମିନିଷ୍ଟ୍ରେଟରଙ୍କ ପାଇଁ ସ୍ଥାନାନ୍ତର କରିଦିଏ। ଏପରି ମଧ୍ୟ, ନେଟୱର୍କ ଆଡମିନିଷ୍ଟ୍ରେଟର୍ ସେଟି ଆଡମିନିଷ୍ଟ୍ରେଟର୍କୁ ନିଜ ସେଟି ପାଇଁ ବିଶେଷ ବ୍ୟବହାରକ ଖାତା (user accounts) ତିଆରି କରିବା ପାଇଁ ଆବଶ୍ୟକ ଅଧିକାର ପ୍ରଦାନ କରିପାରନ୍ତି।
ଉପରୋକ୍ତ ବିବରଣୀକୁ ପୁଣିଥରେ କହିବା, ଯେଉଁ ବିଜ୍ଞାନୀ ଖାତାଗୁଡ଼ିକ ସେଟି ସହିତ ଜଡିତ ବୋଲି ଦେଖାଯାଏ, ବାସ୍ତବରେ ସେ ନେଟୱର୍କ ସହିତ ଆଲୋକିତ ଏବଂ ତେଣୁ ସମଗ୍ର ମల్टीସାଇଟ୍ରେ ଅନନ୍ୟ ହେବା ଆବଶ୍ୟକ। ଏଭଳି କେତେକ ପରିସ୍ଥିତିରେ, ଏହି କାରଣରୁ ନାମ (usernames) ରେଜିଷ୍ଟ୍ରେଷ୍ଟ କରିବାକୁ ଅସମ୍ଭବ ହୋଇପାରେ।
যদিও এন্টারপ্রাইজ সিস্টেমে এটি অপরিচিত ধারণা নয়, ব্যবহারকারী নিবন্ধন এবং প্রমাণীকরণের জন্য এই একক উৎসটি এমন মানুষদের কাছে বোঝা কঠিন হতে পারে যারা স্ব-নির্ভর ওয়ার্ডপ্রেস ইনস্টলেশনের সাথে পরিচিত যেখানে ব্যবহারকারী প্রশাসন কিছুটা সহজ।
মিডিয়া (Media)
যেখানে নেটওয়ার্ক সাইটগুলি একটি ওয়ার্ডপ্রেস মাল্টিসাইটে একই ডেটাবেস ভাগ করে নেয়, তারা ফাইল সিস্টেমের জন্য মিডিয়া ফাইলের জন্য আলাদা পাথ বজায় রাখে।
স্ট্যান্ডার্ড ওয়ার্ডপ্রেস লোকেশন (wp-content/uploads) একই থাকে; তবে এর পাথ পরিবর্তন করা হয় যাতে নেটওয়ার্ক সাইটের অনন্য আইডি প্রতিফলিত হয়। ফলস্বরূপ, একটি নেটওয়ার্ক সাইটের মিডিয়া ফাইলগুলি wp-contents/uploads/site/[id] হিসাবে প্রদর্শিত হয়।
পার্মালিঙ্কস (Permalinks)
আমরা আগে উল্লেখ করেছি যে সাবডোমেইন কনফিগারেশনের চেয়ে সাবডিরেক্টরি কনফিগারেশনের স্বতন্ত্র সুবিধা রয়েছে এবং এখানে তা দেওয়া হলো: পাথ।
একটি সাবডিরেক্টরি কনফিগ ারেশনে, মূল সাইটটি (নেটওয়ার্ক প্রতিষ্ঠিত হওয়ার সময় তৈরি করা প্রথম সাইট) এবং নেটওয়ার্ক সাবসাইটগুলির ডোমেইন নাম থেকে আসা একই পাথ ভাগ করে নিতে হবে। এর ফলে প্রচুর দ্বন্দ্বের সম্ভাবনা থাকে।
পোস্টগুলির জন্য, নেটওয়ার্ক সাইটগুলির সাথে সংঘর্ষ এড়াতে মূল সাইটে একটি বাধ্যতামূলক /blog/ পাথ যোগ করা হয়। এর মানে হলো 'পোস্টের নাম' এর মতো সুন্দর পার্মালিঙ্কগুলি domain.name/blog/post-name/ হিসাবে প্রদর্শিত হবে।
একটি সাবডোমেইন কনফিগারেশনে এই পদক্ষেপটি প্রয়োজন হয় না কারণ প্রতিটি নেটওয়ার্ক সাইট সম্পূর্ণ ডোমেইন বিভাজন থেকে উপকৃত হয় এবং তাই তাদের একটি একক পথের উপর নির্ভর করার প্রয়োজন নেই। পরিবর্তে, তারা তাদের সাবডোমেইনের উপর ভিত্তি করে নিজস্ব স্বতন্ত্র পাথ বজায় রাখে।