ویرایش فایل های پیکربندی در IIS7
در IIS7 سیستم پیکربندی تازه در هسته ی ویژگی های جدید مدیریتی اضافه گردیده است. سیستم پیکربندی بر مبنای فایل های xml , txt می باشد که درپردارنده ی تنظیمات پیکربندی برای IIS ,Asp.net, و اجزای دیگری مانند Ftp 7.5 می باشند توجه داشته باشید که تنظیمات پیکربندی Ftp 6 در metabase ها ذخیره می گردید. با ما همرا باشید تا در باره نحوه ویرایش فایل های پیکربندی در IIS7 صحبت کنیم.
سلسله مراتب فایل های پیکربندی در IIS7
سلسله مراتب پیکربندی که توسط مدیر و یا سایر کاربران انجام می شوذ سطوح مختلفی را در می گیرد. این کار باعث می شود تا برنامه ها با نسخه های قبلی IIS نیز همخوانی داشته باشند.
درسطح root دو فایل مختلف وجود دارند :
- system32inetsrvconfigapplicationHost.config که موارد پیش فرض برای تنظیمات وب سرور در آن ذخیره می شود.
- WindowsMicrosoft.NETFrameworkv4.0.30319Configmachine.config : موارد پیش فرض در تنظیمات .Net framework در آن نگهداری می شود.
دلیل استفاده از دو فایل مجزا، استفاده از دو تکنولوزی متفاوت است. IIS بخشی از ویندوز است و .net نیز دارای نسخه های متفاوتی می باشد.
با رعایت سلسله مراتب، فایل root معادل machine.config است و سپس نوبت به فایل web.config می رسد. فایل بعدی applicationHost.config می باشد. این سلسله مراتب فایل هادر شکل زیر نمایش داده شده است :
هر ماژول در زمان اجرا در worker process اجرا می شود و دارای یک قسمت پیکربندی معادل همان فرآید می باشد. اضافه کردن پیکربندی جدید به شمای پیکربندی باتوسعه section فعلی و یاافزودن چند section دیگر به آن انجام پذیر است.
بخش هایی به صورت گروه بندی با نام section group تقسیم بندی می شوند.هدف از ایجاد این گروهها سازماندهی تنظیمات است. از این گروه ها در ایجاد مراتبی از تنطیمات استفاده می شود
یک section تنها به یک گروه متعلق بوده و در برگیرنده ی سایر section ها نمی باشد. یک گروه section ممکن است به والد گروه متصل باشد و می تواند صفر و یاچندین گروه دیگر را در زیر مجموعه خود داشته باشد.
مثالی از section و section group
در زیر مثالی در مورد section و section group آورده اشده است :
<!– section group for web server configuration –>
<system.webServer>
<!– section group for web server security configuration –>
<security>
<!– section group for web server authentication configuration –>
<authentication>
<!– three sections for authentication –>
<basicAuthentcation … />
<windowsAutnentication … />
<anonymousAuthentication … />
</authentication>
</security>
</system.webServer>
هر section دارای نامی است. shortname معادل نام section و long name معادل نام section group می باشد.به عنوان مثال نام کامل برای windowsAuthenticationبرابر system.webServer/security/authentication/windowsAuthentication است
هر سطحی از فضای نام URL می تواند پیکربندی را در بر گرفته باشد. یک راه ساده برای پیاده سازی آن استفاده از فایل هایweb.config است.
برخی از نام های section group به همراه مسیر فیزیکی آنها
در ادامه برخی از نام های section group به همراه مسیر فیزیکی آنها آورده شده است :
- Section group و section: با قالب XML هستند. واحدهای مختلف پیکربندی به شرح زیر می باشند :
- Configuration element: در قالب xml هستند که واحدهای child را نگهداری می کنند
- Configuration collection: شامل گروه ی از عناصر در قالب add/remove/clear هستند.
- Configuration property: تنها نقداری را در برمی گیرد
فلدر اصلی system32inetsrvconfigschema حاوی تنظیمات پیکربندی شما است.کاربران می توانند فایل های شما خود را در این مسیر قرار دهندو همچنین تنها machne adminditrator به این فلدر دسترسی درند.
شماهایی را که در این مسیر قرار می گیرند به هیج وجه ویرایش نکنید چرا که باعث اسیب دیدن این فایل هنگام اجرا می شود.
س نوع فایل شما در وب سرور به شرح زیر هستند :
- IIS_schema.xml: covers the Windows Activation System and IIS web server settings and section groups.
- ASPNET_schema.xml: covers the ASP.NET settings in the section group.
- FX_schema.xml: covers other .NET framework settings in various section groups.
سوالات متداول
درسطح root دو فایل مختلف وجود دارند:
۱- system32inetsrvconfigapplicationHost.config که موارد پیش فرض برای تنظیمات وب سرور در آن ذخیره می شود.
۲- WindowsMicrosoft.NETFrameworkv4.0.30319Configmachine.config : موارد پیش فرض در تنظیمات .Net framework در آن نگهداری می شود.
Configuration element: در قالب xml هستند که واحدهای child را نگهداری می کنند.
Configuration collection: شامل گروه ی از عناصر در قالب add/remove/clear هستند.
Configuration property: تنها نقداری را در برمی گیرد.