it:ad:webdeploy:installation

IT:AD:WebDeploy:Installation


## Installation: Server ## * Prepare:

  • Important: before installing, ensure Services are installed:
    • Either By Script:
  `dism /online /enable-feature /featurename:IIS-WebServerRole  
  dism /online /enable-feature /featurename:IIS-WebServerManagementTools  
  dism /online /enable-feature /featurename:IIS-ManagementService  
  Reg Add HKLM\Software\Microsoft\WebManagement\Server /V EnableRemoteManagement /T REG_DWORD /D 1  
  net start wmsvc  
  sc config wmsvc start= auto`
  • Or by ServerManager.msc
  `Server Manager > Roles > [scroll down > IIS (Web Server) Features:
      * Web Server=INSTALLED
      * Security=INSTALLED
      * Management Service=INSTALLED`

* Download:

* Install, selecting everything:

 `* Web Deployment Framework
      * IIS Manager UI Module
      * IIS7 Deployment Handler 
          * Management Service De...
      * Remote Agent Service`

* It will be Installed to a well known location:

`%programfiles%\IIS\Microsoft Web Deploy`

* What is installed:

  • New Deployment functionality in IIS.
    • A way to Install Packages
    • Save existing apps, as Packages (easy sharing from one server to another, sharing with the world, etc.) * Download from the gallery packages uploaded by others (nuts I know…)…
  • You also get new Management tools:
    • IIS Manager Users (non AD users, with capabilities to manage websites)
    • IIS Manager Permissions (what can they do)
    • Manager Service Delegation…
    • Management Service…
  • You also get new Services (important:* but not turned on - see below) * Web Deployment Agent Service * Web Management Service * Port 8172 </callout> ## Configuration ## * According to MSDN the MsDepSvc has to be run under Administrator acount – Network Service won't do. * Note: although I havn't seen an issue. Yet. * Have to turn new services on: * Either by Services.msc: * Web Deployment Agent Service * Web Management Service * Or by command line script: //Stop the Services net stop msdepsvc net stop WMSvc //Change the Service Start Mode from Manual to Auto sc config msdepsvc start=auto Sc config wmsvc start=auto //Restart the Services net start msdepsvc net start wmsvc
    * Enable Remote Management in General: * In InetMgr > Server Node > Feature View > Management Service: * Enable Remote Connections = ON * Identity Credentials: Specify AD and/or IIS users * Tip:* strongly suggest sticking with AD only. * Tip:* as it says, after any changes, start/stop Managment Service… * Enable Users per site: * Although Remote Management is active, doesn't mean anybody can do anything to any site. Have to tell site which users are allowed to manage which sites: * In InetMgr > Under Server Node > Your WebSite Node > Feature View > IIS Manager Permissions: * Add AD users * Tip:* User account must be member of Local Administrators (see why) * Tip:* never got IIS users to work * Allow Administrators to bypass rules: * In InetMgr > Server Node (not WebSite) > Feature View > Select Management Service Delegation * Actions / Edit Feature Set… > [Edit Feature Settings] / Allow Administrators to bypass rules = ON * Allow for Non-Admin Deployers: * By Default WebDeploy only allows Admins to deploy. * Tip: User account must be member of Local Administrators (see why) * According to MSDN there is a work around by adding a new rule. * I tried it, couldn't get it to work, and I don't think it makes much sense to let Non-Admin's manage sites. * That said, the steps were: * In InetMgr > Server Node > Features View > Management Service Delegation * Actions > Add Rule > Blank Rule * Configure the rule as follows: * Providers: setAcl, createApp, contentPath, iisApp * Actions: * * Path Type: Path Prefix * Identity type: ProcessIdentity * Click ok. * Add the non-admin user to this rule. ## Script Running Permissions ## * It's easy to get seduced by the easy of the Publish button in Visual Studio, but the real power of Web Deploy of the control of Manifests and running deployment scripts over the wire. If you want to use the Powershell Scripts that come with WebDeploy (and updated here), you'll have to update the powershell execution policies to allow remote running: Configuration ## Test the deployment ## Once installed, test it: IT:AD:NET:Deployment:WebDeploy:Troubleshooting
  • /home/skysigal/public_html/data/pages/it/ad/webdeploy/installation.txt
  • Last modified: 2023/11/04 03:33
  • by 127.0.0.1