## Installation: Server ## * Prepare:
`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`
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:
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 wmsvcManagement 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