0 0 4

نحوه ی Publish کردن وب سایت به صورت خودکار بر روی IIS سرور

مقاله / برنامه نویسی می پسندم
نحوه ی Publish کردن وب سایت به صورت خودکار بر روی IIS سرور

دراین مقاله نحوه پیکربندی سرویس اطلاعاتی اینترنت (IIS) را برای پشتیبانی از انتشار وب سایت و استقرار با استفاده از IIS Web Deploy Handler را توصیف می کنیم.

حتما این مطلب را برای دوستان خود به اشتراک بگذارید

نحوه ی Publish کردن وب سایت به صورت خودکار بر روی IIS سرور

دراین مقاله  نحوه پیکربندی سرویس اطلاعاتی اینترنت (IIS) را برای پشتیبانی از انتشار وب سایت و استقرار با استفاده از IIS Web Deploy Handler را توصیف می کنیم.

زمانی که شما با Web Deploy 2.0  یا بالاتر کار می کنید، سه روش اصلی برای استفاده از برنامه ها یا سایت های خود در یک وب سرور وجود دارد.   این سه روش عبارتند از:

  • استفاده از Web Deploy Remote Agent Service:  این رویکرد نیازمند پیکربندی کمتری از وب سرور است، اما شما نیاز دارید که اعتبار یک سرور محلی را به منظور قرار دادن هر چیزی بر روی سرور انجام دهید.
  • استفاده از Web Deploy Handler : این رویکرد بسیار پیچیده تر است و نیاز به تلاش اولیه برای تنظیم وب سرور دارد.  با این حال، هنگامی که از این روش استفاده می کنید، می توانید IIS را پیکربندی کنید تا کاربران غیرمستقیم بتوانند این استقرار را انجام دهند.  Web Deployment Handle  تنها در نسخه 7 یا بالاترIIS  قابل دسترسی است.
  • استفاده از offline deployment : این رویکرد نیاز به کمترین پیکربندی وب سرور دارد، اما یک مدیر سرور باید بسته وب را به صورت دستی کپی کرده و آن را از طریق مدیریت IIS وارد کند.

 اگر شما می خواهید اجازه دهید که کاربران به صورت غیرمستقیم، بتوانند مطالب را به وب سایت های خاص IIS بفرستند، این رویکرد اغلب در این نوع سناریوها نتیجه ی مطلوبی می دهد:

  • محیط های مرحله بندی یا تولید: جایی که حساب کاربری شخصی یا سرویس، باعث استقرار از راه دور بدون دسترسی به اعتبار یک مدیر سرور می شود.
  • محیط های میزبانی شده:  جایی که می خواهید کاربران از راه دور به منظور به روزرسانی وب سایت خود، بدون دادن کنترل کامل از سرورهای وب خود (یا دسترسی به وب سایت های دیگران) استفاده کنند.

در سناریوهای توسعه یافته یا تست، و یا در سازمان های کوچکتر، استقرارمحتوا با استفاده از مدیرسرور اغلب در تضاد کمتری است.  در این موارد، پیکربندی سرورهای وب شما برای پشتیبانی از استقرار با استفاده از Web Deploy Remote Agent Service ارائه می گردد که یک رویکرد ساده تری است.


نصب محصولات و قطعات 

این بخش شما را از طریق نصب محصولات و اجزای مورد نیاز در وب سرور راهنمایی می کند. قبل از شروع، یک تمرین خوب این است که Windows Update را اجرا کنید تا مطمئن شوید سرور شما به طور کامل به روز است.

در این مورد، شما باید این موارد را نصب کنید:

  • IIS 7 Recommended Configuration : این قابلیت نقش Web Server (IIS) را در وب سرور شما فراهم می کند و مجموعه ای از ماژول های IIS و اجزای مورد نیاز برای میزبانی یک برنامه ASP.NET را نصب  می کند.
  • IIS Management Service: سرویس مدیریت وب (WMSvc) را در IIS نصب می کند. این سرویس مدیریت از راه دور وب سایت های IIS را فراهم می کند و نقطه پایانی Web Deploy Handler را برای مشتریان فراهم می کند.
  • IIS Basic Authentication : ماژول IIS Basic Authentication  را نصب می کند و اجازه می دهد سرویس مدیریت وب (WMSvc) اعتبار شما را فراهم کند.
  • Web Deployment Tool 2.1 or later:  نصب Web Deploy بر روی سرور شما (MSDeploy.exe)   .به عنوان بخشی از این فرآیند، Web Deploy Handler  را نصب می کند و آن را با سرویس مدیریت وب ادغام می کند.
  • NET Framework 4.0.  : این مورد نیاز به اجرای برنامه هایی است که در این نسخه از چارچوب دات نت ساخته شده اند.
  • ASP.NET MVC 3. : مجموعه هایی را که برای اجرای برنامه های MVC 3 نیاز دارید ، نصب می کند.

محصولات و اجزای مورد نیاز برای نصب

  • دانلود و نصب Web Platform Installer.
  • هنگامی که نصب کامل شد، Web Platform Installer به طور خودکار راه اندازی خواهد شد.
  • در قسمت بالای پنجره  Web Platform Installer 3.0، Products را کلیک کنید.
  • در سمت چپ پنجره، در قسمت navigation  ، روی Frameworks کلیک کنید.
  • در ردیف  Microsoft .NET Framework 4 اگر چهارچوب دات نت قبلا نصب نشده باشد، روی Add کلیک کنید.

  • در ردیف ASP.NET MVC 3 (ویژوال استودیو 2010) روی Add کلیک کنید.
  • در بخش navigation ، روی Server کلیک کنید.
  • در ردیف IIS 7 Recommended Configuration روی Add کلیک کنید.
  • در ردیف Web Deployment Tool 2.1 ، روی Add کلیک کنید.
  • در ردیف IIS: Basic Authentication  ، روی Add کلیک کنید.
  • در ردیف IIS: Management Service ، روی Add کلیک کنید.
  • روی Install کلیک کنید Installer Web Platform . به شما لیستی از محصولات همراه با وابستگی های آنها برای نصب را نشان می دهد  و از شما می خواهد که شرایط مجوز را بپذیرید.
  • شرایط مجوز را مرور کنید و اگر شرایط را قبول دارید، روی دکمه I Accept کلیک کنید.

  • هنگامی که نصب کامل شد ، روی Finish کلیک کنید و سپس پنجره Web Platform Installer 3.0 را ببندید.

اگر قبل از نصب  IIS ،  .NET Framework 4.0را نصب کردید، شما باید ASP.NET IIS Registration Tool (aspnet_regiis.exe)  را اجرا کنید تا آخرین نسخه ASP.NET را با IIS ثبت کنید.  اگر این کار را نکنید، متوجه خواهید شد که IIS بدون هیچگونه مشکلی محتوایی استاتیک (مانند فایلهای HTML ) را ارائه می دهد، اما خطای HTTP Error 404.0 – Not Found  را برمی گرداند ، زمانی که شما سعی در مرور محتوای ASP.NET دارید،  شما می توانید از روش بعدی برای اطمینان از اینکه ASP.NET 4.0 ثبت شده است، استفاده کنید.


Register کردن ASP.NET 4.0  با IIS

  • روی Start کلیک کنید و سپس Command Prompt را تایپ کنید.
  • در نتایج جستجو،Command Prompt  را راست کلیک کرده و سپس روی Run as administrator کلیک کنید.
  • در پنجره Command Prompt ، به پوشه %WINDIR%\Microsoft.NET\Framework\v4.0.30319 بروید.
  • این دستور را تایپ کنید و سپس Enter را فشار دهید.   
aspnet_regiis -iru
  • اگر شما قصد دارید برنامه های کاربردی وب 64 بیتی را در هر زمان دیگری میزبانی کنید، شما  باید نسخه 64 بیتی ASP.NET را با IIS ثبت کنید. برای انجام این کار، در پنجره  Command Prompt  به پوشه  %WINDIR%\Microsoft.NET\Framework64\v4.0.30319 بروید.
  • این دستور را تایپ کنید و سپس Enter را فشار دهید. 
aspnet_regiis -iru

به عنوان یک تمرین خوب، از این به بعد Windows Update را برای دانلود و نصب هر گونه به روزرسانی در دسترس برای محصولات و اجزای جدیدی که نصب کرده اید، نصب کنید.

پیکربندی سرویس مدیریت وب

اکنون که همه چیزهایی را که لازم دارید نصب کرده اید، گام بعدی این است که سرویس مدیریت وب را در IIS پیکربندی کنید.  در مراحل بعدی ، شما باید این وظایف را تکمیل کنید:

  • فعال کردن basic authentication در سطح سرور
  • پیکربندی سرویس مدیریت وب برای پذیرش اتصالات از راه دور
  •  Start  سرویس مدیریت وب
  • بررسی قوانین مورد نیاز مربوط به سرویس مدیریت وب

اقدامات لازم برای پیکربندی سرویس مدیریت وب

  • در منوی  Start، به Administrative Tools مراجعه کرده و سپس روی Internet Information Services (IIS) Manager. کلیک کنید.
  • در IIS Manager، در بخش Connections  ، بر روی گره سرور کلیک کنید (به عنوان مثال، STAGEWEB1).

  • در مرکز پنجره ، زیر IIS، روی Authentication دوبار کلیک کنید.

  • روی  Basic Authentication راست کلیک کرده و سپس Enable را کلیک کنید.

  • در بخش Connections ، دوباره روی گره سرور کلیک کنید تا به تنظیمات سطح بالا بازگردید.
  • در مرکز پنجره ، زیر Management ، روی Management Service دوبار کلیک کنید.

  • در مرکز پنجره ، گزینه Enable remote connections را انتخاب کنید.
  • در پنجره Actions  ، روی Start کلیک کنید تا سرویس مدیریت وب شروع شود.

  • اگر از شما خواسته شد تنظیمات خود را ذخیره کنید، روی Yes کلیک کنید.
  • در بخش Connections ، دوباره روی گره سرور کلیک کنید تا به تنظیمات سطح بالا بازگردید.
  • در مرکز پنجره ، زیر Management ، روی Management Service Delegation دوبار کلیک کنید.

  • اطمینان حاصل کنید که پنجره مرکزی شامل مجموعه ای از قوانین است.


این قوانین به کاربران مجاز سرویس مدیریت وب اجازه می دهد تا از Web Deploy های مختلف استفاده کنند.  برای مثال، برای راه اندازی برنامه های کاربردی وب و محتوا به IIS از طریق  Web Deploy Handler، باید یک قانون  نظارتی باشد که به همه کاربران مجاز سرویس مدیریت وب اجازه بدهد از contentPath  و iisApp  استفاده کنند (آخرین قاعده را می توانید در تصویر ببینید ).

  • در بخش Connections ، دوباره روی گره سرور کلیک کنید تا به تنظیمات سطح بالا بازگردید.


ایجاد و پیکربندی وب سایت  IIS 

قبل از اینکه بتوانید محتوای وب را به سرور خود بفرستید، باید یک وب سایت IIS را برای میزبانی این محتوا، ایجاد و پیکربندی کنید.  Web Deploy تنها می تواند بسته های وب را به وب سایت موجود IIS بسپارد ولی نمی تواند وب سایت را برای شما ایجاد کند. شما همچنین باید یک پیکربندی اضافی انجام دهید تا اجازه دهد حساب کاربری غیرمستقیم شما از راه دور از طریق محتوا قرار گیرد.  در سطح بالاتر، شما باید این وظایف را تکمیل کنید:

  1. ایجاد یک پوشه در سیستم فایل برای میزبانی محتوای شما
  2. ایجاد یک وب سایت IIS برای ایجاد محتوا و مرتبط کردن آن با پوشه محلی
  3. دادن مجوز خواندن و دسترسی به application pool identity  روی پوشه محلی
  4. دادن مجوز های لازم IIS به دامنه ی حسابی که برنامه وب خود را اعمال می کند

اگرچه هیچ چیز شما را از استقرار محتوا به وب سایت پیش فرض در IIS ، متوقف نمی کند، اما این روش برای هرچیزی به غیراز سناریوهای تست یا تظاهرات توصیه نمی شود.  برای شبیه سازی یک محیط تولید، شما باید یک وب سایت جدید IIS با تنظیمات خاصی را که مورد نیاز درخواست شما است، ایجاد کنید.


اقدامات لازم برای ایجاد یک وب سایت  IIS

  • در سیستم فایل محلی، یک پوشه برای ذخیره محتویات خود ایجاد کنید. (به عنوان مثال، C: \ DemoSite) ).
  • در منوی  Start، به Administrative Tools مراجعه کرده و سپس روی Internet Information Services (IIS) Manager.  کلیک کنید.
  • در IIS Manager، در بخش Connections ، گره سرور را گسترش دهید (به عنوان مثال، STAGEWEB1).

  • راست کلیک بر روی گره Sites ، و سپس روی Add Web Site کلیک کنید.
  • در کادر Site name، یک نام برای وب سایت IIS تایپ کنید( مثلا  DemoSite).
  • در قسمت Physical path، مسیر پوشه محلی خود را تایپ کنید  ( به عنوان مثال، C: \ DemoSite  ).
  • در قسمت Port ، شماره پورتی که می خواهید وب سایت میزبانی کند را تایپ کنید (مثلا 85).
  • قسمت Host name را خالی بگذارید، مگر اینکه شما بخواهید یک رکوردDomain Name System (DNS)  برای وب سایت  پیکربندی کنید، و سپس روی OK کلیک کنید.

  • در قسمت Actions ، زیر Edit Sites،  روی  Bindings کلیک کنید.
  • در کادر Site Bindings ، روی Add کلیک کنید.

  • در کادر Add Site Binding، آدرس IP و پورت را برای مطابقت با پیکربندی سایت موجود خود تنظیم کنید.
  • در کادر Host name ، نام سرور وب خود را  تایپ کنید(به عنوان مثال، STAGEWEB1 )  و سپس روی OK کلیک کنید.

  • در کادر Site Bindings، روی Close کلیک کنید.
  • در بخش Connections ، روی Application Pools کلیک کنید.
  • در قسمت  Application Pools، بر روی نام Application Pools کلیک راست کرده و سپس روی Basic Settings کلیک کنید.  به طور پیش فرض، نام Application Pools درخواست شما با نام وب سایت شما مطابقت دارد (مثلا  DemoSite).
  • در لیست .NET Framework version ، .NET Framework v4.0.30319 را انتخاب کرده و سپس روی OK کلیک کنید.

  • برای اینکه وب سایت شما برای خدمت به محتوا باشد، application pool identity باید مجوزهای خواندن را بر روی پوشه محلی ذخیره کند.  در IIS 7.5، برنامه های کاربردی به طور پیش فرض با کدهویت منحصر به فردی اجرا می شوند (برخلاف نسخه های قبلی  IIS، که در آن application pools معمولا با استفاده از حساب سرویس شبکه اجرا می شوند). application pool identity یک حساب کاربری واقعی نیست و در لیستی از کاربران یا گروه ها نمایش داده نمی شود بلکه به صورت پویا ایجاد می شود وقتی که application pool شروع شده است. هر application pool identity  به گروه امنیتی IIS_IUSRS به عنوان یک مورد پنهان اضافه می شود.


برای اعطای مجوز به application pool identity در یک فایل یا پوشه، شما دو گزینه دارید

  • با استفاده از فرمت IIS AppPool</strong>[application pool name] ، مجوزها را مستقیما به application pool identity اختصاص دهید (for example, IIS AppPool\DemoSite) .
  • مجوز ها را به گروه IIS_IUSRS اختصاص دهید.

شایع ترین رویکرد این است که مجوز ها را به گروه محلی IIS_IUSRS اختصاص دهید، زیرا این روش به شما امکان می دهد   application pools را بدون تغییر مجوزهای سیستم فایل تغییر دهید. روش بعدی از  روش مبتنی بر گروه استفاده می کند.

 

تنظیم مجوز پوشه برای یک وب سایت  IIS 

  • در ویندوز اکسپلورر، به پوشه محلی خود بروید.
  • بر روی پوشه راست کلیک کنید ، و سپس روی Properties کلیک کنید.
  • در برگه Security ، روی Edit کلیک کنید، سپس روی Add کلیک کنید.
  • روی Locations کلیک کنید. در کادر محاوره ای  Locations، سرور محلی را انتخاب کرده و سپس روی OK کلیک کنید.

  • در کادر Select Users or Groups ، IIS_IUSRS  را تایپ کنید، سپس بر روی Check Names کلیک کنید، و سپس روی OK کلیک کنید.
  • در کادر Permissions for[folder name] ، به این نکته توجه کنید که گروه جدید به طور پیش فرض دارای مجوزهای خواندن و اجرا، فهرست محتوای پوشه  و خواندن است. سپس بدون تغییر رها کنید و روی OK کلیک کنید.
  • برای بستن کادر محاوره ای [folder name]Properties ، روی OK کلیک کنید.
  • به عنوان وظیفه نهایی، شما باید مجوزهای مناسب را به کاربر غیرمستقیم که مجوز استفاده از آنها برای استقرارمحتوا را می دهد، بدهید.  این کاربر نیاز به مجوز برای استقرار محتوا از راه دور به وب سایت شما دارد.

 پیکربندی مجوزهای وب سایت IIS برای دامنه کاربر غیرمستقیم 

  • در منوی مدیریت IIS ، در بخش Connections ، بر روی گره وب سایت خود راست کلیک کنید (به عنوان مثال، DemoSite) اشاره به Deploy ، و سپس بر روی Configure Web Deploy Publishing کلیک کنید.

  • در کادر Configure Web Deploy Publishing ، سمت راست Select a user to give publishing permissions روی دکمه بیضوی کلیک کنید.

  • در کادر Allow User ، نام دامنه و نام حساب کاربری که می خواهید برای استقرار محتوا استفاده کنید را تایپ کنید و سپس روی OK کلیک کنید.


  • در کادر Configure Web Deploy Publishing ، روی Setup کلیک کنید.


  • در کادر Configure Web Deploy Publishing ، روی Close کلیک کنید.

 

نتیجه گیری

در حال حاضر وب سرور شما باید از طریق سرویس مدیریت وب، برای پذیرش از راه دور، به میزبانی وب مراجعه کند. قبل از اینکه شما تلاش کنید یک برنامه وب را به سرور بسپارید، ممکن است بخواهید این نکات کلیدی را بررسی کنید:

  • آیا basic authentication را در سطح سرور در IIS فعال کرده اید؟
  • آیا اتصالات از راه دور را به سرویس مدیریت وب فعال کرده اید؟
  • آیا سرویس مدیریت وب را شروع کرده اید؟
  • آیا اعطای وظیفه مدیریت خدمات در محل وجود دارد؟
  • آیا application pool identity ، دسترسی به پوشه منبع برای وب سایت شما را خوانده است؟
  • آیا حساب کاربری غیرمستقیم دارای مجوزهای سایت در IIS است؟
  • آیا فایروال شما، به اتصالات سرورهای ورودی در پورت TCP 8172 اجازه می دهد؟

 

 

 

نکـــــــات کلیدی مطلب

  • افزایش سرعت در بارگذاری وب سایت
  • خودکار کردن بارگذاری وب سایت
/ پایان مقاله /
افزایش سرعت / خودکار کردن بارگذاری / IIS / Publish / برچسب ها

0 دیدگاه کاربران

نام

ایمیل

متن دیدگاه