আপনাকে অনুরোধ করা হতে পারে অন-সাইট থেকে ক্লাউডে একাধিক ইন্টারনেট ইনফরমেশন সার্ভার (IIS) সাইট মাইগ্রেট করার জন্য, কিন্তু প্রতিটি সাইট আলাদা করে মাইগ্রেট করা একটি দীর্ঘ এবং ভয়াবহ কাজ। এই ব্লগটি প্রসেসটি সহজ করার কথা বলে।
পরিচয়
Microsoft® Web Deploy টুলটি ব্যবহার করা হয় সোর্স থেকে সাইটগুলো এবং তাদের কন্টেন্ট এক্সপোর্ট করতে এবং টার্গেট এনভায়রনমেন্টে ইম্পোর্ট করতে। Web Deploy ব্যবহার করে IIS সাইট মাইগ্রেট করার জন্য নিচের ধাপগুলো এই পোস্টে আরও বিস্তারিত আলোচনা করা হয়েছে:
- সোর্স এবং টার্গেট সার্ভারে Web Deploy ইনস্টল করুন।
- Web Deploy ব্যবহার করে সোর্স এনভায়রনমেন্ট থেকে IIS কন্টেন্ট এক্সপোর্ট করুন।
- PowerShell
copy/syncকমান্ড ব্যবহার করে সোর্স থেকে টার্গেট এনভায়রনমেন্টে ডেটা কপি করুন। - Web Deploy ব্যবহার করে টার্গেট এনভায়রনমেন্টে IIS কন্টেন্ট ইম্পোর্ট করুন।
- ব্যাকআপ এবং রিস্টোর কমান্ড ব্যবহার করে সোর্স থেকে টার্গেট এনভায়রনমেন্টে ডাটাবেস কপি করুন। এই ব্লগে MySQL® ডাটাবেস উদাহরণ হিসেবে ব্যবহার করা হয়েছে।
সোর্স এবং টার্গেট সার্ভারে Web Deploy ইনস্টল করুন
Web Deploy ইনস্টল করতে নিচের ইনস্ট্রাকশন ফলো করুন:
- Microsoft-এর Web Platform Installer (WebPI) ডাউনলোড করে Web Deploy ইনস্টল করুন, যেটিতে Web Deploy অন্তর্ভুক্ত।
- WebPI ডাউনলোড হলে, ইনস্টলার লঞ্চ করুন।
- সার্চ বারে Recommended টাইপ করুন, এবং Recommended Configuration for Hosting Providers বেছে নিন নিচের স্ক্রিনশটে দেখানো মতো।
- ইনস্টল होनेवाले সব কম্পোনেন্টের লিস্ট দেখতে, উইন্ডোর নিচে Items to be installed ক্লিক করুন। যেকোনো জিনিস जिसके পাশে "X" আছে, সেটি রিমুভ করা যাবে। নিচের স্ক্রিনশটে Web Deploy ফিচারগুলো দেখানো হয়েছে:
- কিছুই আনচেক করবেন না, Next এবং Install ক্লিক করুন। লাইসেন্স অগ্রিমেন্ট এক্সেপ্ট করার পর ইনস্টলেশন শুরু হবে, নিচের স্ক্রিনশটে দেখানো মতো:
- WebPI ইনস্টলেশন কমপ্লিট হলে, WebPI বন্ধ করুন।
সোর্স এনভায়রনমেন্ট থেকে IIS কন্টেন্ট এক্সপোর্ট করুন
Web Deploy ব্যবহার করে IIS সাইট কন্টেন্ট এক্সপোর্ট করার আগে, নিচের ফাইলগুলোর ব্যাকআপ কপি বানান:
- C:\Windows\System32\inetsrv\config\administration.config
- C:\Windows\System32\inetsrv\config\applicationHost.config
এই ফাইলগুলো সব সাইট সেটিংস ধারণ করে। নিচের স্টেপগুলো শুধু ডেস্টিনেশন সার্ভারে এই ফাইলগুলো মডিফাই করে। আপনি যদি প্রসেস중에 কোনো সমস্যায় পড়েন এবং ডেস্টিনেশন সার্ভারকে এর আরিজিনাল স্টেটে ফেরাতে হয়, ফাইল ব্যাকআপ রিস্টোর করুন।
ব্যাকআপ কপি বানালে, সোর্স সার্ভারে নিচের স্টেপগুলো পারফর্ম করুন IIS সাইট কন্টেন্ট এক্সপোর্ট করতে:
- সোর্স সার্ভারে IIS 7.0 Manager খুলুন আপনার IIS সাইটগুলো যেগুলো মাইগ্রেট করা হবে।
- সার্ভার নামের ওপর রাইট ক্লিক করুন, Deploy সিলেক্ট করুন, এবং Export Server Package ক্লিক করুন, নিচের স্ক্রিনশটে দেখানো মতো:
- Export Server Package স্ক্রিনে, Manage Components ক্লিক করুন নিচের স্ক্রিনশটে দেখানো মতো:
- Manage Components উইন্ডোতে, নিশ্চিত করুন প্রথম Provider Name লিস্টেড হয় webServer, নিচের স্ক্রিনশটে দেখানো মতো। এটি আপনাকে পুরো সার্ভার কনফিগারেশন এক্সপোর্ট করতে সক্ষম করে। যদি এটি মিসিং থাকে, Provider Name এর নিচে সেলে ক্লিক করুন এবং ডিসপ্লে করা লিস্ট থেকে বেছে নিন।
- OK, Next, এবং তারপর আবার Next ক্লিক করুন।
- এক্সপোর্টেড ফাইল সেভ করার জন্য পথ লিখুন এবং Next ক্লিক করুন।
- যদি প্রম্পট করা হয়, আপনার সিকিউর সেটিংসের জন্য এনক্রিপ্টেড পাসওয়ার্ড লিখুন।
- Export Progress and Summary স্ক্রিনে Finish ক্লিক করুন নিচের স্ক্রিনশটে দেখানো মতো:
সোর্স থেকে টার্গেট এনভায়রনমেন্টে ডেটা কপি করুন
পূর্বের সেকশনে তৈরি এক্সপোর্ট ফাইলটি টার্গেট সার্ভারে কপি করুন স্ট্যান্ডার্ড robocopy কমান্ড, উইন্ডোজ কপি ইউটিলিটি, বা আপনার পছন্দের কপি ইউটিলিটি ব্যবহার করে।
টার্গেট সার্ভারে IIS কন্টেন্ট ইম্পোর্ট করুন
টার্গেট সার্ভারে IIS সেটিংস ইম্পোর্ট করতে নিচের স্টেপগুলো ব্যবহার করুন:
- ডেস্টিনেশন সার্ভারে IIS 7.0 Manager খুলুন যেসব সাইট মাইগ্রেট করা হচ্ছে।
- সার্ভার নামের ওপর রাইট ক্লিক করুন, Deploy ক্লিক করুন, এবং Import Server or Site Package ক্লিক করুন।
- সোর্স সার্ভার থেকে কপি করা এক্সপোর্টেড zip ফাইল ব্রাউজ করুন এবং সিলেক্ট করুন।
- Next ক্লিক করুন।
- যদি প্রম্পট করা হয়, আপনার সিকিউর সেটিংসের জন্য এনক্রিপ্টেড পাসওয়ার্ড লিখুন।
- Next ক্লিক করুন।
- OK ক্লিক করুন সার্ভারে এক্সিস্টিং IIS কনফিগারেশন ওভাররাইট করতে, নিচের স্ক্রিনশটে দেখানো মতো:
- Next ক্লিক করুন।
- Export Progress and Summary স্ক্রিনে Finish ক্লিক করুন।
ইম্পোর্ট ফেইলার সমাধান
যদি প্যাকেজ ইম্পোর্ট নিচের এরর দিয়ে ফেইল করে, এই স্টেপগুলো ব্যবহার করে ইস্যুটি সমাধান করুন:
Child object 'customFields' cannot be added to object 'logFile'. The 'logFile' provider may not support this deployment."
msdeployব্যবহার করে এক্সপোর্ট করা zip ফাইলটি খুলুন।- Zip ফাইল থেকে archive.xml একটি টেক্সট এডিটরে খুলুন।
- customFields-য়ে থাকা লাইনগুলো রিমুভ করুন।
- XML ফাইলটি সেভ করুন।
- আবার zip ইম্পোর্ট করুন।
MySQL ডাটাবেস ব্যাকআপ এবং রিস্টোর
সোর্স সার্ভারে আপনার MySQL ডাটাবেস ব্যাকআপ করতে, mysqldump কমান্ড ব্যবহার করুন।
টার্গেট সার্ভারে আপনার MySQL ডাটাবেস রিস্টোর করতে, আপনার তৈরি করা ডাম্প ফাইলের নাম দিয়ে mysql কমান্ড ব্যবহার করুন।
উপসংহার:
IIS সাইট ম্যানুয়ালি মাইগ্রেট করা একঘন কাজ। Web Deploy হাজার হাজার সাইট এবং তাদের কনফিগারেশন সমস্যায় টার্গেট এনভায়রনমেন্টে সমস্যায় মাইগ্রেট করা সহজ করে, কোড সম্পর্কে চিন্তা না করেই। Web deploy শুধু মাইগ্রেশনের অধিকাংশটুকু অটোমেট করে না, এটি মানব ভুলের সম্ভাবনাও দূর করে এবং সময় বাঁচায়।
ডাটাবেস সম্পর্কে আরও জানুন
ফিডব্যাক ট্যাব ব্যবহার করে যেকোনো মন্তব্য বা প্রশ্ন করুন। আপনি আমাদের সাথে কথা বলতে পারেন।