در این مقاله از بلاگ رهام کلود، میخوایم بررسی کنیم که چطور IIS رو روی ویندوز سرور نصب و پیکربندی کنیم تا بتونید وبسایتتون رو روی سرور ویندوزی میزبانی کنید.
اگر با هاست ویندوزی کار کرده باشید، احتمالا اسم IIS رو زیاد شنیدید.
در واقع IIS یا Internet Information Services وبسرور مایکروسافته که امکان اجرای سایتها و سرویسهای تحت وب روی Windows Server رو فراهم میکنه.
IIS و کاربرد آن
IIS یک وبسرور برای سیستمعامل ویندوزه که توسط مایکروسافت توسعه داده شده.
وظیفه اصلیش اینه که درخواستهایی که از طرف بازدیدکنندههای سایت ارسال میشن رو دریافت کنه و محتوای مناسب رو به اونها برگردونه.
برای مثال، وقتی کاربری آدرس سایت شما رو وارد میکنه، درخواست اون به سرور میرسه.
IIS این درخواست رو پردازش میکنه و فایلهای سایت، صفحات ASP.NET یا سایر محتوای موردنیاز رو در اختیار کاربر قرار میده.
یکی از مزیتهای IIS اینه که با سرویسها و تکنولوژیهای مایکروسافت مثل ASP.NET و .NET هماهنگی خیلی خوبی داره.
به همین دلیل برای سایتها و برنامههایی که بر پایه این تکنولوژیها ساخته شدن، گزینه مناسبی محسوب میشه.
پیشنیازهای نصب
قبل از شروع آموزش نصب IIS بهتره مطمئن بشید که ویندوز سرورتون به درستی نصب و راهاندازی شده و دسترسی Administrator دارید.
همچنین بهتره IP سرور مشخص باشه و اگر قراره سایت از طریق اینترنت در دسترس قرار بگیره، تنظیمات شبکه و فایروال هم بررسی شده باشن.
اگر فقط میخواید IIS رو برای تست روی یک سرور داخلی راهاندازی کنید، نیازی نیست از همون ابتدا دامنه عمومی داشته باشید.
آموزش نصب IIS در ویندوز سرور
برای نصب IIS، ابتدا وارد Server Manager بشید. بعد از منوی Manage گزینه Add Roles and Features رو انتخاب کنید.
در صفحهای که باز میشه، در بخش Installation Type گزینه Role-based or feature-based installation رو انتخاب کنید و به مرحله بعد برید.
حالا سروری که میخواید IIS روی اون نصب بشه رو انتخاب کنید. در مرحله Server Roles، گزینه Web Server (IIS) رو فعال کنید.
ممکنه ویندوز چند قابلیت جانبی موردنیاز IIS رو هم پیشنهاد بده. گزینههای پیشنهادی رو تایید کنید و ادامه بدید.
در بخش Role Services هم میتونید مشخص کنید چه قابلیتهایی از IIS نصب بشن. برای یک وبسایت معمولی، تنظیمات پیشفرض معمولا برای شروع کافیه.
اگر سایت شما به قابلیت خاصی مثل ASP.NET، CGI یا WebSocket نیاز داشته باشه، میتونید همون قسمت قابلیت مربوطه رو فعال کنید.
در نهایت روی Install کلیک کنید و منتظر بمونید تا نصب کامل بشه.
بعد از نصب، میتونید IIS Manager رو از منوی Start باز کنید. اگر پنجره IIS Manager بدون خطا باز شد، یعنی وبسرور شما آماده استفاده است.
تست IIS بعد از نصب
بعد از نصب IIS بهتره قبل از اینکه سایت اصلیتون رو روی سرور قرار بدید، عملکرد وبسرور رو تست کنید.
برای این کار مرورگر رو روی خود سرور باز کنید و آدرس زیر رو وارد کنید:
http://localhost
اگر صفحه پیشفرض IIS نمایش داده شد، یعنی سرویس وبسرور به درستی نصب و اجرا شده.
حالا اگر از یک سیستم دیگه در شبکه به سرور دسترسی دارید، میتونید IP سرور رو هم در مرورگر وارد کنید:
http://192.168.1.10
“IP بالا فقط یک مثال هست و باید IP واقعی سرور خودتون رو وارد کنید.”
ساخت سایت در IIS
بعد از نصب IIS، برای میزبانی سایت باید یک Website ایجاد کنید.
وارد IIS Manager بشید و از قسمت Sites روی گزینه Add Website کلیک کنید.
در پنجرهای که باز میشه، چند گزینه اصلی وجود داره. در قسمت Site name یک نام برای سایت انتخاب کنید. مثلا:
MyWebsite
بعد در قسمت Physical path مسیر پوشهای که فایلهای سایت داخل اون قرار دارن رو مشخص کنید.
مثلا:
C:\Websites\MyWebsite
در قسمت Binding هم باید مشخص کنید سایت با چه پروتکل، IP و پورتی در دسترس باشه. برای یک سایت معمولی میتونید HTTP و پورت 80 رو انتخاب کنید.
اگر چند سایت روی یک سرور دارید، قسمت Host name اهمیت زیادی پیدا میکنه. مثلا برای سایت:
example.com
میتونید Host name رو هم روی example.com قرار بدید تا IIS درخواستهای مربوط به این دامنه رو به سایت درست هدایت کنه.
اتصال دامنه به IIS
ساخت سایت داخل IIS به تنهایی باعث نمیشه دامنه شما به سرور وصل بشه. باید DNS دامنه هم تنظیم شده باشه.
برای این کار معمولا یک رکورد A ایجاد میکنید که دامنه رو به IP سرور متصل میکنه. مثلا:
example.com → 192.0.2.10
بعد از انتشار DNS، وقتی کاربر دامنه رو وارد میکنه، درخواست به IP سرور ارسال میشه و IIS میتونه سایت مربوط به اون دامنه رو نمایش بده.
البته در دنیای واقعی باید IP عمومی سرور رو وارد کنید، نه IP خصوصی مثل 192.168.x.x.
تنظیم پورتهای موردنیاز
یکی از مواردی که موقع راهاندازی IIS ممکنه باعث مشکل بشه، فایروال ویندوز سروره.
اگر سایت شما روی HTTP اجرا میشه، معمولا باید پورت 80 در دسترس باشه. برای HTTPS هم پورت 443 موردنیازه.
اگر IIS به درستی نصب شده باشه ولی از سیستمهای خارج از سرور نتونید سایت رو باز کنید، بررسی فایروال و پورتهای موردنیاز یکی از اولین کارهاییه که باید انجام بدید.
فعال کردن HTTPS روی IIS
امروزه بهتره سایتها با HTTPS در دسترس باشن. برای این کار باید یک گواهی SSL روی سرور نصب کنید.
بعد از نصب گواهی، داخل IIS Manager میتونید از قسمت Bindings برای سایت یک Binding جدید ایجاد کنید و نوع اون رو روی HTTPS قرار بدید.
در این بخش باید گواهی SSL مربوط به دامنه رو هم انتخاب کنید.
برای مثال، اگر سایت شما example.com باشه، Binding میتونه چیزی شبیه این باشه:
Type: https
Port: 443
Host name: example.com
SSL Certificate: گواهی دامنه
بعد از انجام این تنظیمات، سایت از طریق HTTPS قابل دسترسی خواهد بود.

فرض کنید یک سایت ساده دارید و فایلهای اون داخل پوشه زیر قرار گرفتن:
C:\Websites\MySite
اول این پوشه رو ایجاد میکنید و فایلهای سایت رو داخلش قرار میدید.
بعد در IIS Manager یک Website جدید میسازید و همین مسیر رو به عنوان Physical Path انتخاب میکنید.
فرض کنید دامنه سایت هم example.com هست. در Binding، دامنه رو به سایت اختصاص میدید و در DNS هم رکورد A دامنه رو به IP سرور متصل میکنید.
حالا وقتی کاربر example.com رو باز میکنه، درخواست به سرور میرسه، IIS دامنه رو تشخیص میده و فایلهای موجود در C:\Websites\MySite رو برای کاربر ارسال میکنه.
اگر بعدا سایتهای بیشتری روی همین سرور داشته باشید، میتونید برای هرکدوم یک Website جدا در IIS ایجاد کنید و
با استفاده از Host name مشخص کنید هر دامنه باید به کدوم سایت متصل بشه.
اجرای سایتهای ASP.NET روی IIS
اگر سایت شما با ASP.NET یا .NET ساخته شده، فقط نصب خود IIS ممکنه کافی نباشه و باید قابلیتها و Runtimeهای موردنیاز برنامه هم روی سرور نصب شده باشن.
بسته به نوع پروژه، ممکنه به ASP.NET، .NET Framework، ASP.NET Core Hosting Bundle یا قابلیتهای دیگه نیاز داشته باشید.
پس قبل از نصب، بهتره مشخص کنید برنامه با چه نسخهای از .NET ساخته شده.
نصب نسخه اشتباه میتونه باعث خطاهایی مثل نمایش ندادن سایت یا خطاهای مربوط به Application Pool بشه.
Application Pool در IIS
یکی از بخشهای مهم IIS، Application Pool هست. Application Pool کمک میکنه برنامههای وب به صورت جداگانه اجرا بشن و مدیریت منابع و پردازش اونها بهتر انجام بشه.
برای هر سایت میتونید Application Pool مخصوص خودش رو داشته باشید. این کار مخصوصا روی سرورهایی که چند سایت مختلف میزبانی میکنن اهمیت بیشتری داره.
اگر یک سایت دچار مشکل بشه، جداسازی Application Poolها میتونه کمک کنه مشکل اون سایت کمتر روی سایتهای دیگه تاثیر بذاره.
خطاهای رایج بعد از نصب
گاهی اوقات بعد از نصب IIS، سایت به دلایل مختلف باز نمیشه.
یکی از خطاهای رایج 403 Forbidden هست که میتونه به تنظیمات دسترسی یا مجوزهای پوشه مربوط باشه.
خطای 404 Not Found هم معمولا زمانی دیده میشه که IIS نتونه فایل یا مسیر درخواستشده رو پیدا کنه.
اگر خطای 500 Internal Server Error دریافت میکنید، بهتره تنظیمات برنامه، Application Pool و لاگهای IIS رو بررسی کنید.
در بعضی موارد هم IIS کاملا سالمه ولی DNS دامنه یا فایروال سرور درست تنظیم نشده.
بنابراین بهتره برای پیدا کردن مشکل، فقط خود IIS رو مقصر ندونید و مسیر ارتباطی دامنه تا سرور رو هم بررسی کنید.
نتیجهگیری
در این مقاله آموزش نصب IIS رو از پایه بررسی کردیم و دیدیم چطور میتونید IIS رو روی Windows Server نصب کنید، یک سایت جدید بسازید، دامنه رو به اون متصل کنید و
تنظیمات HTTP و HTTPS رو انجام بدید.
IIS برای میزبانی سایتهای ویندوزی، مخصوصا برنامههایی که با تکنولوژیهای مایکروسافت مثل ASP.NET و .NET ساخته شدن، انتخاب مناسبیه.
البته برای اینکه سایت بدون مشکل کار کنه، فقط نصب IIS کافی نیست و باید مواردی مثل DNS، فایروال، SSL، دسترسی فایلها و Application Pool هم به درستی تنظیم بشن.
اگر این مراحل رو به ترتیب انجام بدید، راهاندازی یک سایت روی Windows Server و IIS کار پیچیدهای نیست و میتونید بعد از راهاندازی اولیه، سایتهای بیشتری رو هم روی
همون سرور مدیریت کنید.
اگر این مطلب برایتان مفید بود، پیشنهاد میکنیم به مقاله – نیز در بلاگ ما سر بزنید.
سوالات متداول
آیا IIS فقط روی ویندوز سرور نصب میشه؟
خیر. IIS روی نسخههای مختلف ویندوز قابل استفاده است، اما برای میزبانی حرفهای وبسایتها معمولا از Windows Server استفاده میشه.
آیا برای نصب IIS به کنترل پنل نیاز داریم؟
خیر. IIS خودش ابزار مدیریتی به نام IIS Manager داره و میتونید بیشتر تنظیمات مربوط به وبسایتها رو از طریق اون انجام بدید.
آیا میشه چند سایت روی یک IIS داشت؟
بله. میتونید چندین سایت رو روی یک سرور ایجاد کنید و با استفاده از IP، پورت و Host name مشخص کنید هر درخواست باید به کدوم سایت ارسال بشه.
چرا بعد از نصب IIS سایت باز نمیشه؟
ممکنه مشکل از IIS، فایروال، DNS، پورت، مجوزهای فایل یا تنظیمات خود برنامه باشه. بهتره هر بخش رو جداگانه بررسی کنید تا دلیل مشکل مشخص بشه.
آیا برای IIS حتما باید SSL نصب کنیم؟
برای سایتهای عمومی، استفاده از HTTPS و SSL توصیه میشه. مخصوصا اگر سایت فرم ورود، اطلاعات کاربران یا تراکنشهای حساس داره، استفاده از HTTPS اهمیت زیادی داره.

دیدگاهتان را بنویسید