অন্যান্য সার্ভার অপারেটিং সিস্টেমের মতোই উইন্ডোজ সার্ভার ২০০৮-এ শক্তিশালী মজবুত ওয়েব সার্ভিস ইন্টারনেট ইনফরমেশন সার্ভিস ৭.০ (আইআইএস ৭.০) যুক্ত করা হয়েছে। তবে এর অন্যান্য কনফিগারেশন পদ্ধতির মতোই একে কমান্ড মোডে AppCmd.exe-এর সাহায্যে কনফিগার করতে হবে। AppCmd.exe-এর সাহায্যে কমান্ড প্রম্পটে ওয়েব সার্ভার কনফিগার পদ্ধতি, নতুন সাইট সার্ভারে যুক্ত করা, ওয়েব সার্ভিস চালু বা বন্ধ করা এবং সাইটের স্ট্যাটাস দেখা ইত্যাদি বিষয় এখানে আলোচনা করা হয়েছে।
তবে সবার আগে নিশ্চিত করতে হবে সিস্টেমে যথাযথভাবে আইআইএস ইনস্টল করা হয়েছে কি না। উইন্ডোজ সার্ভার ২০০৮ ইনস্টলের সময় আইআইএস বা ওয়েব সার্ভার ইনস্টল না করলে পরে স্ক্রিপ্ট রান করে ইনস্টলেশনের কাজ সম্পন্ন করতে পারেন। এজন্য যে স্ক্রিপ্ট রান করতে হবে তা হচ্ছে :
start /w pkgmgr /iu:IIS-WebServerRole;
IIS-WebServerManagementTools;IIS-ManagementService;
IIS-Metabase;WAS-WindowsActivationService;
স্ক্রিপ্ট রান করা সম্পন্ন হলে অন্যান্য রোল (Role)-এর সাথে সার্ভারে ওয়েব সার্ভার রোল যুক্ত হবে। চিত্র-১-এর মতো মৌলিক আইআইএস রোলের সাথে একটি আপডেটেড সার্ভার ম্যানেজার স্ন্যাপ-ইন (snap-in) দেখা যাবে। সার্ভারের স্ট্যাটাস এ অবস্থায় আসার পরই AppCmd.exe অ্যাপ্লিকেশন রান করাতে পারবেন।
চিত্র-১ : স্ক্রিপ্টের সাহায্যে সার্ভারে ওয়েব সার্ভিস রোল যুক্ত করা
AppCmd.exe-এর প্রধান কাজগুলো
উইন্ডোজ সার্ভার ২০০৮-এর আগের সার্ভার অপারেটিং সিস্টেমগুলোর আপনি গ্রাফিক্যাল ইন্টারফেস ব্যবহার করে যেভাবে ওয়েব সার্ভার কনফিগারেশন এবং ব্যবস্থাপনার কাজ করতেন, ঠিক সেই কাজগুলোই AppCmd.exe-এর সাহায্যে কমান্ড লাইন ইন্টারফেসে সম্পন্ন করতে পারেন। AppCmd.exe দিয়ে সম্পন্ন করা যাবে এমন একটি কাজের তালিকা তুলে ধরা হলো :
* আইআইএস ওয়েবসাইট চালু বা বন্ধ করা।
* আইআইএস ওয়েবসাইট, অ্যাপ্লিকেশন, ভার্চুয়াল ডিরেক্টরি তৈরি।
* চলমান আইআইএস প্রসেস, সম্পাদিত কার্যক্রমগুলোর তালিকা দেখা।
* আইআইএস কনফিগারেশনের ব্যাকআপ নেয়া।
* আইআইএস ASP.NET কনফিগারেশন ইমপোর্ট, এক্সপোর্ট এবং সার্চ করা।
চিত্র-২ : AppCmd.exe অবজেক্ট টাইপের বিষয়ে প্রয়োজনীয় সাহায্য খুঁজে বের করার প্রক্রিয়া
আপনি যত বেশি একটি AppCmd.exe কমান্ডের আউটপুট নিয়ে স্ক্রিপ্টিং লজিকের সাথে যুক্ত করবেন এবং তা আরেকটি কমান্ড দানের জন্য ব্যবহার করবেন, ততই এ অ্যাপ্লিকেশনের ক্ষমতা বেড়ে যাবে। AppCmd.exe কমান্ডের সুবিধা হচ্ছে, এর সাহায্যে একটি কমান্ড মাত্র একবার বা যেসব কমান্ড ব্যবহার করা হয় সেসব কমান্ডের শর্টকাট ডেস্কটপে সংরক্ষণ করে পরবর্তী সময়ে একাধিকবার ব্যবহার করতে পারেন। এছাড়া AppCmd.exe কমান্ড ব্যবহার করে জটিল ধরনের আইআইএস অ্যাডমিনিস্ট্রেটিভ কমান্ড স্ক্রিপ্ট তৈরি করতে পারেন যেখানে বিভিন্ন ধরনের কমান্ড সন্নিবেশিত থাকবে।
চিত্র-৩ : AppCmd.exe-এর সাথে add এবং vdir অপশন একত্রে ব্যবহার করে হেল্প ফাইল অনুসন্ধান করা
যেভাবে AppCmd.exe কমান্ড ব্যবহার করবেন
AppCmd.exe কমান্ড ব্যবহারের আগে বেশ কিছু বিষয় জেনে নিতে হবে। এগুলো হচ্ছে :
আপনার সিস্টেমে IIS ৭ সার্ভিস ইনস্টল করা থাকতে হবে। এটি না থাকলে AppCmd.exe কমান্ডের এক্সেস পাওয়া যাবে না।
সিস্টেমের ডিফল্ট পাথে যেহেতু AppCmd.exe কমান্ড থাকে না, তাই আপনাকে এর সঠিক অবস্থান জানতে হবে। AppCmd.exe কমান্ড রান করানোর জন্য আপনাকে ডিরেক্টরিকে %windir%\system32\inetsrv\ হিসেবে পরিবর্তন করতে হবে অথবা ডিরেক্টরিকে পাথ ভেরিয়েবলে যুক্ত করতে হবে। উইন্ডোজ সার্ভার ২০০৮-এর ডিফল্ট ইনস্টলেশনে AppCmd.exe কমান্ডটি C:\Windows\System32\inetsrv লোকেশনে পাওয়া যাবে।
চিত্র-৪ : AppCmd.exe কমান্ডের সাহায্যে ওয়েবসাইটগুলোর তালিকা প্রদর্শন
অন্যান্য উইন্ডোজ কমান্ডের মতোই এ কমান্ড সম্পর্কে মৌলিক ধারণা পেতে চাইলে কমান্ড প্রম্পটে AppCmd.exe /? টাইপ করুন। এ কমান্ডের সাধারণ ফরমেট হচ্ছে :
APPCMD (command) (object-type)
< /parameter1:value1 ... >
AppCmd.exe-এর সাথে যেসব মৌলিক কমান্ড ব্যবহার করা হয় তা হচ্ছে start, stop, list, add, delete, Ges set। সাধারণত AppCmd.exe অ্যাপ্লিকেশনে এসব কমান্ড কোনো একটি অবজেক্টের সাথে ব্যবহার করতে হয়। বিভিন্ন ধরনের অবজেক্ট এ কমান্ডের সাথে ব্যবহার করতে পারেন। তবে ব্যাপকভাবে ব্যবহার হওয়া অবজেক্টের তালিকায় রয়েছে :
Site – আইআইএস ভার্চুয়াল সাইট।
App – আইআইএস অ্যাপ্লিকেশন।
Vdir – আইআইএস ভার্চুয়াল ডিরেক্টরি।
Apppool – আইআইএস অ্যাপ্লিকেশন পুল।
Config – আইআইএস জেনারেল কনফিগারেশন।
Backup – আইআইএস সার্ভার কনফিগারেশন ব্যাকআপস (restore কমান্ডও একই উদ্দেশ্যে ব্যবহার করা যেতে পারে)।
Wp – আইআইএস ওয়ার্কার প্রসেস।
Request – অ্যাক্টিভ এইচটিটিপি রিকোয়েস্ট।
Module – আইআইএস সার্ভার অ্যাডমিনিস্ট্রেশন।
Trace – আইআইএস সার্ভার ট্রেস লগস।
চিত্র-৫ : AppCmd.exe-এর সাহায্যে ওয়েবসাইট চালু করা
সুতরাং এখান থেকেই ঝুঝতে পারছেন AppCmd.exe কমান্ড ব্যবহার করে ওয়েব সার্ভিস কনফিগার ও পরিচর্যায় সব কাজই করা সম্ভব হচ্ছে। তবে এ কমান্ড এবং এর সাথে সংশ্লিষ্ট অবজেক্ট ব্যবহার করতে গিয়ে যদি সমস্যার মুখোমুখি হোন, তাহলে তার সমাধানের জন্য আপনি তাৎক্ষণিকভাবে সাহায্য পেতে পারেন।
চিত্র-৬ : AppCmd কমান্ডের সাহায্যে ওয়েব সার্ভারে কোনো ওয়েবসাইট যুক্ত করা
AppCmd.exe কমান্ডের রয়েছে নিজস্ব সাহায্যকারী বা Help পেজ, যা আপনাকে সাবলীলভাবে কমান্ড ব্যবহার সংক্রান্ত বিষয়ে সাহায্য করবে। সাহায্য পাওয়ার বিষয়ে কমান্ড প্রম্পটে আপনাকে টাইপ করতে হবে AppCmd.exe /?। এখানে AppCmd.exe ব্যবহার সম্পর্কিত প্রায় সব বিষয়েই সাহায্য পাবেন। এছাড়াও পৃথক পৃথক অবজেক্ট সম্পর্কেও হেল্প ফাইলের মাধ্যমে জানতে পারেন। এজন্য কমান্ড প্রম্পটে টাইপ করতে হবে appcmd (object) /?। এ ধরনের একটি উদাহরণ এখানে তুলে ধরা হলো :
চিত্র-২ থেকে এটা সুস্পষ্ট, appcmd কমান্ডের সাথে অবজেক্ট হিসেবে site ব্যবহার করা হয়েছে। সাইট সংক্রান্ত বিষয়ে যেসব কমান্ড সাপোর্ট করা হবে তার একটি তালিকাও কমান্ডের আউটপুট স্ক্রিনে (চিত্র-২) দেখানো হয়েছে।
চিত্র-৭ : সার্ভারে সক্রিয় বা নিষ্ক্রিয় ওয়েবসাইটের তালিকা দেখানো হয়েছে
আপনি প্রতিটি কমান্ড এবং অবজেক্টের ব্যবহারের বিষয়ে পৃথকভাবে সাহায্য পেতে পারেন। এর অর্থ হচ্ছে সিস্টেমের বিভিন্ন কমান্ড ব্যবহারে আপনি কোনো ধরনের সমস্যায় পড়বেন না, যদি হেল্প ফাইলগুলো ঠিকমতো কাজে লাগাতে পারেন। কোনো কমান্ডের সাথে আপনি প্রয়োজনে একাধিক অবজেক্টের হেল্প ফাইল দেখতে পারেন। বিষয়টি একটি উদাহরণ দিয়ে ব্যাখ্যা করা যাক। ধরা যাক, আপনি appcmd কমান্ডের সাথে add এবং vdir অবজেক্টের ব্যবহারবিধি হেল্প ফাইল থেকে একত্রে দেখতে চাচ্ছেন। এক্ষেত্রে কমান্ড প্রম্পটে আপনাকে নিম্নরূপ কমান্ড ব্যবহার করতে হবে :
চিত্র-৮ : আইআইএস কনফিগারেশনের ব্যাকআপ নেয়ার প্রক্রিয়া
আপনি যদি হেল্প কমান্ড ফরমেট “/?” ব্যবহার করেন এবং প্রতিটি ধাপে কমান্ডগুলোর তালিকা করেন, তাহলে এ কমান্ডগুলো আপনি AppCmd.exe-এর সাথে ব্যবহার করে যে কাজই করতে চান না কেনো, সে বিষয়ে নির্দেশনা পাবেন।
চিত্র: আইআইএস ওয়েবসাইট কনফিগারেশন লিস্টিং কমান্ডের আউটপুট
AppCmd.exe-এর সাহায্যে আইআইএস ওয়েবসাইট অ্যাডমিনিস্ট্রেশন
গ্রাফিক্স ইন্টারফেসে আইআইএস ম্যানেজমেন্ট কনসোল ব্যবহার করে ওয়েব অ্যাডমিনিস্ট্রেশন সংক্রান্ত আপনি যেসব কাজ করতে পারতেন, উইন্ডোজ সার্ভার ২০০৮-এ কমান্ড লাইনে AppCmd.exe কমান্ড ব্যবহার করে তার সব কাজই করতে পারবেন। বরং কমান্ড প্রম্পটে গ্রাফিক্স মোডের তুলনায় ওয়েব অ্যাডমিনিস্ট্রেশনের কাজ তুলনামূলকভাবে সহজ। উদাহরণস্বরূপ এখানে বলা যায়, গ্রাফিক্স মোডে রিপিটেটিভ কাজ অর্থাৎ একই কমান্ড বারবার দ্রুততার সাথে ব্যবহার করা যায় না। এছাড়া গ্রাফিক্স মোডে কোনো কমান্ডের আউটপুট অন্য কোনো কাজে বা অ্যাপ্লিকেশনে যোগ করা বা পাঠানো যায় না। কিন্তু কমান্ড প্রম্পটে খুব সহজেই AppCmd.exe কমান্ডের আউটপুট অন্য কোনো কমান্ডে যুক্তভাবে এক্সিকিউট হওয়ার জন্য পাঠানো যায়। এবার AppCmd.exe ব্যবহার করে আইআইএস ওয়েবসাইট সেটআপ তথা অ্যাডমিনিস্ট্রেশনের বিভিন্ন প্রক্রিয়াগুলো সংক্ষেপে নিম্নরূপ :
ক. কমান্ড লাইন থেকে আইআইএস ওয়েবসাইট চালু এবং বন্ধ করার প্রক্রিয়া
কমান্ড লাইন থেকে ওয়েবসাইট চালু বা বন্ধ করার কাজটি একেবারেই সহজ। এমনকি যে সাইটটি আপনি চালু বা বন্ধ করতে চান, তার নাম না জানলেও চলবে। কারণ, কমান্ড প্রম্পটে Appcmd কমান্ড আপনার সামনে সার্ভারের সব সাইটের তালিকা নিয়ে আসবে। এ বিষয়টি চিত্র-৪-এ লক্ষ করুন।
এখন আপনি জানতে পারছেন সার্ভারে কোন কোন ওয়েবসাইট রয়েছে, এদের মধ্য থেকে কোনটি চালু বা বন্ধ করতে হবে। উদাহরণস্বরূপ আপনি চাচ্ছেন Default Web Site চালু করতে, তাহলে এক্ষেত্রে কমান্ড হবে :
Appcmd start sites “Default Web Site”
একইভাবে আপনি চাহিদামতো কোনো ওয়েবসাইট বন্ধও করে দিতে পারেন।
খ. নতুন কোনো ওয়েবসাইট সার্ভারে যোগ করা
সার্ভারে নতুন কোনো সাইট যোগ করার জন্য কমান্ড হচ্ছে add sites। এ ধরনের একটি পূর্ণাঙ্গ কমান্ড এবং কমান্ড প্রম্পটের আউটপুট নিম্নরূপ :
Appcmd add sites /name:”Dave’s Site” /id:12 /bindings:http://mysite.com:80
ফাংশনাল ওয়েবসাইটের জন্য উপরের কমান্ড যথেষ্ট নয়। এজন্য আপনাকে আরো কিছু অপশন এবং একটি অ্যাপ্লিকেশন এর সাথে যোগ করতে হবে। পূর্ণাঙ্গ ফাংশনাল ওয়েবসাইট পেতে হলে নিচের দুটো কমান্ডের সাহায্য আপনাকে নিতে হবে :
AppCmd add site /name:ddsite /id:99 /bindings:http/*:81: /physicalPath:C:\ddsite
AppCmd add app /site.name:DDSite /path:/ddapp /physicalPath:C:\sites\ddsite
এখানে লক্ষ করলে দেখবেন, কমান্ডের অপশন হিসেবে সাইটের ফিজিক্যাল লোকেশন অর্থাৎ সাইটের ফাইল যে হার্ডডিস্ক পার্টিশন বা ফোল্ডারে রয়েছে তা নির্দিষ্ট করে দেয়া হয়েছে।
গ. অবজেক্ট লিস্টিং
সার্ভারে যেসব ওয়েবসাইট চলমান বা সক্রিয় রয়েছে তার তালিকা দেখার জন্য list কমান্ড ব্যবহার করতে পারেন। এক্ষেত্রে কমান্ড হবে : appcmd list sites
কমান্ডের সাথে আপনি বলে দিতে পারেন কোন কোন চলমান না নিষ্ক্রিয় সাইট দেখতে চান। চিত্র-৭-এ ঠিক এ ধরনের একটি কমান্ড আউটপুট দেখানো হলো। এছাড়া কিছু শর্ত পূরণ করছে এমন অবজেক্ট বা সাইটগুলো আপনি দেখতে পারেন। এক্ষেত্রে শর্তগুলো আপনাকেই নির্ধারণ করে দিতে হবে। বন্ধ রয়েছে এমন সাইটগুলোর তালিকা চিত্র-৭-এ দেখানো হয়েছে।
ঘ.আইআইএস কনফিগারেশনের ব্যাকআপ গ্রহণ
AppCmd.exe অ্যাপ্লিকেশনের আরেকটি অন্যতম প্রধান বৈশিষ্ট্য হচ্ছে আপনি এর add backup কমান্ড ব্যবহার করে ওয়েব সার্ভার অর্থাৎ আইআইএস কনফিগারেশনের ব্যাকআপ নিতে পারেন। কোনো কারণে সার্ভার ক্র্যাশ করলে ব্যাকআপ ফাইলের মাধ্যমে সার্ভার কনফিগারেশনসহ সার্ভারের রক্ষিত ডাটা restore backup কমান্ডের মাধ্যমে পুনঃস্থাপন করতে পারবেন। এছাড়া list backup কমান্ডের সাহায্যে সিস্টেমে ব্যবহার হওয়া কমান্ড তালিকা দেখতে পারেন। চিত্র-৮-এ দেখানো হয়েছে কিভাবে আইআইএস কনফিগারেশনের ব্যাকআপ নিতে হয় এবং list backup কমান্ড আপনাকে বলে দিচ্ছে পরে কোন কোন ব্যাকআপ সিস্টেমে পুনঃস্থাপন বা রিস্টোর করা যাবে।
ঙ.আইআইএস কনফিগারেশন রিপোর্টিং
আইআইএস কনফিগারেশনের ওপর রিপোর্টিং এবং কনফিগারেশনকে একটি টেক্সট ফাইলে এক্সপোর্ট করার ক্ষমতা AppCmd অ্যাপ্লিকেশনের রয়েছে। এ কাজটি করার জন্য নিম্নরূপ কমান্ড ব্যবহার করুন :
Appcmd list site “sitename” /config
এক্ষেত্রে কমান্ডের নিচের আউটপুট দেখা যাবে
উপসংহার
উইন্ডোজ সার্ভার ২০০৮-এ AppCmd.exe একটি শক্তিশালী আইআইএস ৭ ভার্সন কমান্ড লাইন টুল। কমান্ড লাইনে AppCmd.exe হচ্ছে ওয়েবসাইট কনফিগারেশনের জন্য একটি স্বয়ংসম্পূর্ণ টুল বা অ্যাপ্লিকেশন। এটি দ্রুত ওয়েব সার্ভার কনফিগারেশন এবং ব্যবস্থাপনার কাজে ওয়েব অ্যাডমিনিস্ট্রেটরকে ব্যাপকভাবে সহায়তা করবে। এ লেখায় AppCmd.exe-এর সংক্ষিপ্ত পরিচয়সহ এর প্রয়োগিক দিক এবং কার্যকারিতা সম্পর্কে সংক্ষিপ্ত চিত্র তুলে ধরা হয়েছে। এ টুলগুলো রপ্ত করার পর আপনি আরো অ্যাডভান্সড ওয়েব কনফিগারেশন ও মেইনটেনেন্স টুল নিয়ে সাবলীলভাবে কাজ করতে সক্ষম হবেন।
কজ ওয়েব
ফিডব্যাক : kazisham@yahoo.com