نصب IIS در ویندوز سرور اولین و حیاتیترین قدم برای هر ادمین شبکه یا توسعهدهندهای است که میخواهد اپلیکیشنهای تحت وب خود را میزبانی کند. IIS یا Internet Information Services، وبسرور اختصاصی مایکروسافت است که به صورت کاملاً بومی (Native) با هسته ویندوز یکپارچه شده است.
💡 IIS چیست؟ یک سرویس نرمافزاری در ویندوز که درخواستهای مرورگر کاربران را دریافت کرده و صفحات وب را نمایش میدهد.
IIS یک وبسرور انعطافپذیر برای میزبانی وبسایتها و اپلیکیشنهای تحت وب است. در ساختار IIS، هر درخواست از لایه هسته ویندوز (HTTP.sys) عبور کرده و به سمت پردازشگر مربوطه هدایت میشود:
درخواست کاربر (Browser)
⬇️
فایروال (Port 80/443)
⬇️
HTTP.sys (Kernel Mode)
⬇️
[ IIS Worker Process ]
├─ App Pool 1 (Site A)
└─ App Pool 2 (Site B)
مزایای کلیدی نصب IIS:
یکپارچگی با Active Directory: مدیریت دسترسی کاربران
Application Pools: ایزوله کردن سایتها برای جلوگیری از Crash
رابط گرافیکی: IIS Manager برای مدیریت آسان
پشتیبانی چندزبانه: ASP.NET، PHP، Python و Node.js
پیشنیازهای نصب IIS در ویندوز سرور
قبل از شروع نصب، باید از مهیا بودن شرایط زیر اطمینان حاصل کنید تا در میانه کار با خطاهای سیستمی مواجه نشوید. نصب IIS در ویندوز سرور 2022 نیازمند منابع حداقل اما پایداری است که در تمامی سرویسهای وبداده رعایت شده است.
حداقل 2 گیگابایت رم (4GB توصیه میشود)
Windows Server 2022 Standard یا Datacenter
دسترسی Administrator
اتصال اینترنت برای دانلود ماژولها
📌 نکته: قبل از نصب، سیستم را آپدیت کنید تا از تداخل نسخههای قدیمی .NET جلوگیری شود.
راهنمای نصب IIS در ویندوز سرور
در این راهنمای جامع، یاد میگیرید چگونه IIS را روی ویندوز سرور 2022 نصب کنید و اولین وبسایت خود را راهاندازی نمایید. این مقاله شامل آموزش گامبهگام نصب با Server Manager و PowerShell، تنظیمات Binding، پیکربندی فایروال و نکات امنیتی ضروری برای محافظت از وبسرور شما است. با دنبال کردن این راهنما، در عرض 30 دقیقه یک وبسرور کاملاً عملیاتی و ایمن خواهید داشت. Y^829K?dU9Eaz^p^
روش 1: نصب با Server Manager
مرحله 1: Server Manager را باز کنید > “Add roles and features”
مرحله 2: Next > “Role-based installation” > Next
مرحله 3: سرور خود را انتخاب کنید > Next
مرحله 4: تیک “Web Server (IIS)” را بزنید > “Add Features”
مرحله 5: در Role Services، این موارد را حتماً انتخاب کنید:
Default Document
HTTP Errors
Static Content
HTTP Redirection
HTTP Logging
Request Filtering
ASP.NET 4.8
IIS Management Console
مرحله 6: Install > منتظر بمانید تا نصب کامل شود.
روش 2: راه اندازی IIS در ویندوز سرور با PowerShell
# نصب IIS با تمام ابزارهای مدیریتی
Install-WindowsFeature -name Web-Server -IncludeManagementTools
# نصب کامل با ASP.NET
Install-WindowsFeature Web-Server, Web-Asp-Net45, Web-Mgmt-Tools -IncludeManagementTools
👈 تست نصب:
مرورگر را باز کنید و http://localhost را تایپ کنید. اگر صفحه “Welcome to IIS” را دیدید، نصب موفق بوده است!
میزبانی اولین وبسایت روی IIS
حالا که IIS نصب شده، وقت آن است که اولین پروژه خود را زنده کنید! در این بخش یاد میگیرید چگونه پوشههای وبسایت را آماده کنید، سایت جدید را در IIS Manager ایجاد نمایید و با تنظیم صحیح Binding و دسترسیهای پوشه، وبسایت خود را برای دسترسی عمومی آماده کنید.
Binding به IIS میگوید که چگونه درخواستهای ورودی را به سایتهای مختلف هدایت کند. این تنظیمات در IIS Manager تعیین میکنند که سایت شما روی چه IP آدرسی، چه پورتی (80 برای HTTP یا 443 برای HTTPS) و با کدام دامنه (مثلاً example.com) قابل دسترسی باشد. به عبارت ساده، Binding مثل آدرس پستی دیجیتال سایت شماست که مشخص میکند مرورگرها چگونه سایت را پیدا کنند.
پارامتر
مقدار
توضیح
Type
http / https
نوع پروتکل
IP Address
All Unassigned
همه IP ها
Port
80 / 443
پورت دسترسی
Host name
example.com
دامنه سایت
📝 نکته: برای چند دامنه روی یک سایت، میتوانید چندین Binding اضافه کنید.
این تنظیمات در بخش Security > Properties پوشه وبسایت شما (از طریق Windows Explorer) انجام میشود و مشخص میکند کدام کاربران سیستمی چه دسترسیهایی به فایلهای سایت دارند. شما باید به کاربران IIS_IUSRS و IUSR دسترسی Read بدهید تا وبسرور بتواند فایلهای سایت را بخواند و به بازدیدکنندگان نمایش دهد. بدون تنظیم صحیح این دسترسیها، IIS نمیتواند به فایلهای شما دسترسی پیدا کند و خطای 403 (Forbidden) نمایش میدهد.
⚠️ هشدار: هرگز دسترسی Everyone - Full Control ندهید!
باز کردن پورت فایروال
پس از نصب IIS، وبسایت شما فقط از داخل سرور (localhost) قابل دسترسی است و کاربران خارجی نمیتوانند به آن وصل شوند. دلیل این محدودیت، فایروال ویندوز است که به صورت پیشفرض پورتهای 80 و 443 را برای ترافیک ورودی مسدود کرده است. برای دسترسی عمومی، باید با استفاده از Windows Defender Firewall یا دستورات PowerShell، این پورتها را باز کنید تا کاربران از هر جای دنیا بتوانند به وبسایت شما دسترسی داشته باشند.
روش PowerShell (سریع):
Copy
# باز کردن پورت 80 (HTTP)New-NetFirewallRule-DisplayName"IIS HTTP"-DirectionInbound-LocalPort80-ProtocolTCP-ActionAllow# باز کردن پورت 443 (HTTPS)New-NetFirewallRule-DisplayName"IIS HTTPS"-DirectionInbound-LocalPort443-ProtocolTCP-ActionAllow
روش GUI:
Control Panel > Windows Defender Firewall > Advanced Settings
Inbound Rules > New Rule
Port > TCP > 80, 443
Allow the connection
نام: IIS Web Server
نکات امنیتی و سختسازی IIS
یک وبسرور بدون تنظیمات امنیتی، مثل خانهای بدون قفل است و هدف آسانی برای هکرها محسوب میشود. در این بخش یاد میگیرید چگونه با غیرفعال کردن Directory Browsing، حذف Server Headers افشاگر، محدود کردن HTTP Methods خطرناک و نصب گواهی SSL، لایههای امنیتی محکمی دور وبسرور خود بسازید. این اقدامات ساده اما حیاتی، از افشای اطلاعات حساس جلوگیری کرده و سطح امنیت سایت شما را به شدت افزایش میدهند.
<system.webServer><rewrite><rules><rulename="HTTP to HTTPS"stopProcessing="true"><matchurl="(.*)" /><conditions><addinput="{HTTPS}"pattern="off" /></conditions><actiontype="Redirect"url="https://{HTTP_HOST}/{R:1}"redirectType="Permanent" /></rule></rules></rewrite></system.webServer>
نصب PHP روی IIS
اگر قصد دارید سیستمهای مدیریت محتوای محبوب مانند وردپرس، جوملا یا لاراول را روی ویندوز سرور اجرا کنید، باید زبان برنامهنویسی PHP را نصب کنید. IIS به صورت پیشفرض فقط از ASP.NET پشتیبانی میکند، اما با نصب ماژول FastCGI و پیکربندی Handler Mappings، میتوانید PHP را به IIS اضافه کنید و از قدرت ویندوز در کنار انعطافپذیری اکوسیستم Open Source بهرهمند شوید. این فرآیند شامل دانلود PHP نسخه Non-Thread Safe، ثبت آن در IIS و تنظیم فایل php.ini برای بهینهسازی عملکرد است.
حتی با رعایت تمام مراحل، ممکن است با خطاهایی مانند 403.14 (Forbidden)، 500.19 (خطای تنظیمات) یا 503 (Service Unavailable) مواجه شوید که هر کدام دلایل مشخصی دارند. در این بخش یاد میگیرید چگونه با استفاده از ابزارهای تشخیصی مانند Event Viewer، دستورات PowerShell و بررسی Application Pool ها، علت اصلی مشکل را شناسایی کنید. با راهحلهای عملی و دستورات آماده این بخش، میتوانید در کمتر از 5 دقیقه اکثر مشکلات رایج را برطرف کنید و سایت خود را مجدداً آنلاین نمایید.
خطای 403.14 – دسترسی ممنوع (Forbidden)
راهحل:
Copy
# اضافه کردن فایلهای پیشفرضAdd-WebConfiguration-Filter/system.webServer/defaultDocument/files-Value@{value="index.html"}Add-WebConfiguration-Filter/system.webServer/defaultDocument/files-Value@{value="index.php"}
خطای 503 – Service Unavailable
راهحل:
Copy
# راهاندازی مجدد App PoolRestart-WebAppPool-Name"DefaultAppPool"# بررسی وضعیتGet-WebAppPoolState-Name"DefaultAppPool"
پورت 80 اشغال است
Copy
# پیدا کردن پردازشnetstat-ano|findstr:80# بستن پردازشtaskkill/PID [شماره_PID] /F
خدمات میزبانی وبداده
سرورهای ویندوز وبداده با سختافزارهای قدرتمند و پورت شبکه ۱۰ گیگابیت، بهترین میزبان برای پروژههای IIS شما هستند.
من نویسنده و تولیدکننده محتوای تخصصی در حوزه هاستینگ هستم که با تمرکز بر کپیرایتینگ و ارائه آموزشهای کاربردی، به ارتقای دانش و مهارت کاربران کمک میکنم. سالهاست که در زمینه هاستینگ و شبکه فعالیت میکنم و همواره تلاش دارم با بهروزرسانی اطلاعات خود، بهترین و مفیدترین مطالب را برای مخاطبان ارائه دهم.