نصب IIS در ویندوز سرور اولین و حیاتی‌ترین قدم برای هر ادمین شبکه یا توسعه‌دهنده‌ای است که می‌خواهد اپلیکیشن‌های تحت وب خود را میزبانی کند. IIS یا Internet Information Services، وب‌سرور اختصاصی مایکروسافت است که به صورت کاملاً بومی (Native) با هسته ویندوز یکپارچه شده است.

💡 IIS چیست؟ یک سرویس نرم‌افزاری در ویندوز که درخواست‌های مرورگر کاربران را دریافت کرده و صفحات وب را نمایش می‌دهد.
  • ✅ نصب سریع و آسان
  • ✅ پایداری در مقیاس سازمانی
  • ✅ مشاهده پلن‌های سرور مجازی ویندوز در وب‌داده
یادآوری: این آموزش برای Windows Server 2022 تهیه شده است. در صورت عرضه Windows Server 2025، برخی تنظیمات ممکن است اندکی متفاوت باشد.

آنچه در این مقاله می‌خوانید:

راه اندازی وب سرور در ویندوز

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”
نصب PHP روی IIS
  • مرحله 5: در Role Services، این موارد را حتماً انتخاب کنید:
نصب PHP روی IIS
  • Default Document
  • HTTP Errors
  • Static Content
  • HTTP Redirection
  • HTTP Logging
  • Request Filtering
  • ASP.NET 4.8
  • IIS Management Console
  • مرحله 6: Install > منتظر بمانید تا نصب کامل شود.
نصب IIS در ویندوز سرور
نصب IIS در ویندوز سرور

روش 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 و دسترسی‌های پوشه، وب‌سایت خود را برای دسترسی عمومی آماده کنید.

مرحله 1: آماده‌سازی فایل‌ها

  • پوشه C:\inetpub\mysite بسازید
  • فایل index.html در آن بسازید:
<!DOCTYPE html>
<html>
<head>
    <title>اولین سایت من</title>
</head>
<body>
    <h1>سلام! این اولین وب‌سایت من روی IIS است</h1>
</body>
</html>

مرحله 2: ایجاد سایت در IIS

  • 1. Win + R > inetmgr > Enter
  • 2. روی “Sites” راست‌کلیک > “Add Website”
  • 3. تنظیمات:
  • Site name: MyFirstSite
  • Physical path: C:\inetpub\mysite
  • Port: 8080 (یا 80 اگر Default Site را حذف کردید)
  • 4. OK

پیکربندی Binding و اتصال دامنه در IIS

Binding به IIS می‌گوید که چگونه درخواست‌های ورودی را به سایت‌های مختلف هدایت کند. این تنظیمات در IIS Manager تعیین می‌کنند که سایت شما روی چه IP آدرسی، چه پورتی (80 برای HTTP یا 443 برای HTTPS) و با کدام دامنه (مثلاً example.com) قابل دسترسی باشد. به عبارت ساده، Binding مثل آدرس پستی دیجیتال سایت شماست که مشخص می‌کند مرورگرها چگونه سایت را پیدا کنند.
پارامترمقدارتوضیح
Typehttp / httpsنوع پروتکل
IP AddressAll Unassignedهمه IP ها
Port80 / 443پورت دسترسی
Host nameexample.comدامنه سایت
📝 نکته: برای چند دامنه روی یک سایت، می‌توانید چندین Binding اضافه کنید.

تنظیم دسترسی‌های پوشه (Permissions) در ویندوز

این تنظیمات در بخش Security > Properties پوشه وب‌سایت شما (از طریق Windows Explorer) انجام می‌شود و مشخص می‌کند کدام کاربران سیستمی چه دسترسی‌هایی به فایل‌های سایت دارند. شما باید به کاربران IIS_IUSRS و IUSR دسترسی Read بدهید تا وب‌سرور بتواند فایل‌های سایت را بخواند و به بازدیدکنندگان نمایش دهد. بدون تنظیم صحیح این دسترسی‌ها، IIS نمی‌تواند به فایل‌های شما دسترسی پیدا کند و خطای 403 (Forbidden) نمایش می‌دهد.
$path = "C:\inetpub\mysite"
$acl = Get-Acl $path

# دسترسی IIS_IUSRS
$permission = "BUILTIN\IIS_IUSRS","ReadAndExecute","Allow"
$accessRule = New-Object System.Security.AccessControl.FileSystemAccessRule $permission
$acl.SetAccessRule($accessRule)

Set-Acl $path $acl
⚠️ هشدار: هرگز دسترسی Everyone - Full Control ندهید!

باز کردن پورت فایروال

پس از نصب IIS، وب‌سایت شما فقط از داخل سرور (localhost) قابل دسترسی است و کاربران خارجی نمی‌توانند به آن وصل شوند. دلیل این محدودیت، فایروال ویندوز است که به صورت پیش‌فرض پورت‌های 80 و 443 را برای ترافیک ورودی مسدود کرده است. برای دسترسی عمومی، باید با استفاده از Windows Defender Firewall یا دستورات PowerShell، این پورت‌ها را باز کنید تا کاربران از هر جای دنیا بتوانند به وب‌سایت شما دسترسی داشته باشند.

روش PowerShell (سریع):

# باز کردن پورت 80 (HTTP)
New-NetFirewallRule -DisplayName "IIS HTTP" -Direction Inbound -LocalPort 80 -Protocol TCP -Action Allow

# باز کردن پورت 443 (HTTPS)
New-NetFirewallRule -DisplayName "IIS HTTPS" -Direction Inbound -LocalPort 443 -Protocol TCP -Action Allow

روش GUI:

  1. Control Panel > Windows Defender Firewall > Advanced Settings
  2. Inbound Rules > New Rule
  3. Port > TCP > 80, 443
  4. Allow the connection
  5. نام: IIS Web Server
نصب IIS در ویندوز سرور

نکات امنیتی و سخت‌سازی IIS

یک وب‌سرور بدون تنظیمات امنیتی، مثل خانه‌ای بدون قفل است و هدف آسانی برای هکرها محسوب می‌شود. در این بخش یاد می‌گیرید چگونه با غیرفعال کردن Directory Browsing، حذف Server Headers افشاگر، محدود کردن HTTP Methods خطرناک و نصب گواهی SSL، لایه‌های امنیتی محکمی دور وب‌سرور خود بسازید. این اقدامات ساده اما حیاتی، از افشای اطلاعات حساس جلوگیری کرده و سطح امنیت سایت شما را به شدت افزایش می‌دهند.

1- غیرفعال کردن Directory Browsing

Set-WebConfigurationProperty -filter /system.webServer/directoryBrowse -name enabled -value false

2- حذف Server Headers

در web.config:

<system.webServer>
  <httpProtocol>
    <customHeaders>
      <remove name="X-Powered-By" />
    </customHeaders>
  </httpProtocol>
  <security>
    <requestFiltering removeServerHeader="true" />
  </security>
</system.webServer>

3- نصب SSL Certificate

Import کردن Certificate:

$certPath = "C:\Certificates\mycert.pfx"
$certPassword = ConvertTo-SecureString -String "Password" -Force -AsPlainText
Import-PfxCertificate -FilePath $certPath -CertStoreLocation Cert:\LocalMachine\My -Password $certPassword

افزودن HTTPS Binding:

  • IIS Manager > سایت > Bindings > Add
  • Type: https, Port: 443
  • انتخاب Certificate

4- اجباری کردن HTTPS

در web.config:

<system.webServer>
  <rewrite>
    <rules>
      <rule name="HTTP to HTTPS" stopProcessing="true">
        <match url="(.*)" />
        <conditions>
          <add input="{HTTPS}" pattern="off" />
        </conditions>
        <action type="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 برای بهینه‌سازی عملکرد است.

مرحله 1: نصب FastCGI

Install-WindowsFeature Web-CGI

مرحله 2: دانلود PHP

  • از windows.php.net نسخه Non-Thread Safe را دانلود کنید
  • در C:\PHP استخراج کنید

مرحله 3: ثبت در IIS

# ثبت PHP Handler
New-WebHandler -Name "PHP-FastCGI" -Path "*.php" -Verb "*" -Modules "FastCgiModule" -ScriptProcessor "C:\PHP\php-cgi.exe"

# تنظیم FastCGI
Add-WebConfiguration -Filter /system.webServer/fastCgi -Value @{fullPath="C:\PHP\php-cgi.exe"}

تست PHP:

فایل test.php:

<?php
phpinfo();
?>
  • مرورگر: http://localhost/test.php
  • ⚠️ بعد از تست، فایل test.php را پاک کنید!
نصب IIS در ویندوز سرور

عیب‌یابی خطاهای رایج IIS و راه‌حل‌های سریع


حتی با رعایت تمام مراحل، ممکن است با خطاهایی مانند 403.14 (Forbidden)، 500.19 (خطای تنظیمات) یا 503 (Service Unavailable) مواجه شوید که هر کدام دلایل مشخصی دارند. در این بخش یاد می‌گیرید چگونه با استفاده از ابزارهای تشخیصی مانند Event Viewer، دستورات PowerShell و بررسی Application Pool ها، علت اصلی مشکل را شناسایی کنید. با راه‌حل‌های عملی و دستورات آماده این بخش، می‌توانید در کمتر از 5 دقیقه اکثر مشکلات رایج را برطرف کنید و سایت خود را مجدداً آنلاین نمایید.

خطای 403.14 – دسترسی ممنوع (Forbidden)

راه‌حل:

# اضافه کردن فایل‌های پیش‌فرض
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

راه‌حل:

# راه‌اندازی مجدد App Pool
Restart-WebAppPool -Name "DefaultAppPool"

# بررسی وضعیت
Get-WebAppPoolState -Name "DefaultAppPool"

پورت 80 اشغال است

# پیدا کردن پردازش
netstat -ano | findstr :80

# بستن پردازش
taskkill /PID [شماره_PID] /F

خدمات میزبانی وب‌داده

سرورهای ویندوز وب‌داده با سخت‌افزارهای قدرتمند و پورت شبکه ۱۰ گیگابیت، بهترین میزبان برای پروژه‌های IIS شما هستند.

  • ✅ پشتیبانی 24 ساعته
  • ✅ درایوهای NVMe
  • ✅ نصب خودکار ویندوز سرور 2025 تنها با یک کلیک

نتیجه‌گیری: آموزش کامل نصب و راه اندازی IIS در ویندوز سرور 2022

شما اکنون دانش کافی برای نصب IIS در ویندوز سرور 2022 و پیکربندی آن را دارید. نکات کلیدی:
  • ✅ همیشه Application Pool جداگانه بسازید
  • ✅ Directory Browsing را غیرفعال کنید
  • ✅ از HTTPS استفاده کنید
  • ✅ به طور منظم Backup بگیرید
امیدوارم این مقاله از بلاگ وب‌داده برای شما مفید بوده باشد. 🚀

سوالات متداول از نصب IIS در ویندوز سرور 2022

1- آیا می‌توانم روی ویندوز 10 هم IIS نصب کنم؟

بله، اما برای محیط تولیدی پیشنهاد نمی‌شود. Windows 10 محدودیت 10 اتصال همزمان دارد.

نرسی مزداب
نرسی مزداب

من نویسنده و تولیدکننده محتوای تخصصی در حوزه هاستینگ هستم که با تمرکز بر کپی‌رایتینگ و ارائه آموزش‌های کاربردی، به ارتقای دانش و مهارت کاربران کمک می‌کنم. سال‌هاست که در زمینه هاستینگ و شبکه فعالیت می‌کنم و همواره تلاش دارم با به‌روزرسانی اطلاعات خود، بهترین و مفیدترین مطالب را برای مخاطبان ارائه دهم.

مقاله‌ها: 121
پاسخی بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *