Archive of ‘IIS’ category

Simple steps to set up MSDeploy 3.5 on server

These steps were used to get MSDeploy 3.5 set up on Windows Server 2008 R2:

  1. Hit Start and search for ‘Turn Windows features on or off’
  2. Select Roles -> Web Server (IIS) in the left menu and then right click and select ‘Add Role services’
  3. Then in popup check the ‘Management Service’ box under Management Tools
  4. Go to Management Service in IIS after clicking on the computer name node in the left column
  5. Enable it and assign a self signed cert. I selected Windows or IIS manager credentials and left the default port
  6. Install Web Platform Installer
  7. Optional: Install web deployment tool 2.1
  8. Install Web Deploy 3.5
  9. Create a user called msdeploy (or whatever you set in your config) and make it an admin.
  10. Try going to https://SERVERIP:8172/msdeploy.axd in your browser. E.g. https://94.229.173.52:8172/msdeploy.axd
  11. You may need to open up that port in the firewall.
  12. Login using user above and you should be directed to blank page if the login works – still a 404. Otherwise you will get a 401 if you cancel out of login box
  13. You will need to give the msdeploy user file system access rights to the folder that you want to deploy to. This can be done by following the steps under ‘Configuring a deployment user’ heading on this post: http://blog.richardszalay.com/2013/02/02/building-a-deployment-pipeline-with-msdeploy-part-4-server-configuration/
  14. You could need to make sure that the WMSvc has the privileges to use the runCommand provider. The correct way to do this give the msdeploy user “replace a process level token” rights using secpol.msc (local policies -> User Rights Management) – http://forums.iis.net/t/1182636.aspx
  15. If that doesn’t work then we should override the privileges for WMSvc (Web Management Service) service to execute runCommand successfully. (See the ‘Troublehunting’ heading on this page http://tech-fellow.net/2012/12/07/deploy-windows-service-remote-machine-msdeploy/)
  16. Make sure that the “Web Management Service” and “Web Deployment Agent Service” are set to automatic start up

One useful thing to do if you are troubleshooting is running this in the console (vs a batch file) and you’ll get a stack trace.

Useful blog posts that I used as reference:

Sitecore tree performance from IIS logs

If you want to find out average load times for eg how long nodes take to load use the following iis log query and then filter the data in excel:

See IIS Log parser for how to run these queries.

IIS log parser

Typically information about every request that hits IIS will be written to the iis logs. For busy sites the amount of information being logged will mean these log files aren’t very readable by simply scanning the files. There is an MS tool for parsing these files: http://www.iis.net/downloads/community/2010/04/log-parser-22
It allows you to concoct sql like queries which then can run over a set of log files.

To run logparser, fire up a command prompt and run:

Then some examples of the specific sql files:
Number of hits per hour:

Which pages have been requested in the last N days

How many times has a specific page been requested by specific IP’s?
Note, you can filter out by ip if needs be