-1

First of all, I apologize if this is a basic question. I am a Linux sysadmin and just so happen to be dealing with Windows at the moment. Feel free to edit the question or add tags where appropriate.

The premise: I am migrating a website from IIS 6.0 on Windows Server 2003 to IIS 8.5 on Windows Server 2016. IIS 8.5 was originally installed in the default location and the website worked fine when located under C:\inetpub\wwwroot on the new server. However, due to organizational policy, the website needs to be located on the E:\ drive of the new server, rather than on the C:\ drive. First, I tried simply moving the site from C:\inetpub\wwwroot to E:\inetpub\wwwroot and updating references to the site in IIS, but the site would not come up. (I do not remember the exact error message I got here. If it would be helpful, I can reconstruct this environment and replicate the error.)

After that, I reached out to a colleague and he pointed me to a script that he uses when installing websites on nonstandard drives on Windows Server 2012. Here is a summary of what the script does:

  1. Stop IIS
  2. Copy C:\inetpub to E:\inetpub (or whichever drive is specified) while retaining file ownership and ACL information
  3. Using appcmd set config, specify directory paths for the following:
    • Logs
    • Configuration history
    • Temporary files
    • Default site
    • Error pages
  4. Modify the following registry components:
    • HKLM\System\CurrentControlSet\Services\WAS\Parameters\ConfigIsolationPath
    • HKLM\Software\Microsoft\inetstp\PathWWWRoot
    • HKLM\Software\Microsoft\inetstp\PathFTPRoot
    • HKLM\Software\Wow6432Node\Microsoft\inetstp\PathWWWRoot
    • HKLM\Software\Wow6432Node\Microsoft\inetstp\PathFTPRoot
  5. Start IIS

I ran that script, but ended up seeing the following error after iisreset /start:

Attempting start... Start attempt failed. The IIS Admin Service or the World Wide Web Publishing Service, or a service dependent on them failed to start. The service, or dependent services, may had an error during its startup or may be disabled.

I cannot find the IIS Admin Service under the Windows Services menu, and when I try to start the World Wide Web Publishing Service, I get the following error message:

Windows could not start the World Wide Web Publishing Service service on Local Computer.

Error 1068: The dependency service or group failed to start.

My next thought was that maybe logging out of and back into Windows would help, since the registry changes might not take effect until doing so. However, doing that didn't help.

Is there something else that I need to do in addition to what the script performed, given that the script was for Windows Server 2012 / IIS 8, and my current environment is Windows Server 2016 / IIS 8.5?

  • 1
    -1. Websites can be served from any path - and you nicely tell us you ignored the one thing that could help you - the error message. Instead of fixing that - you went on massacring your IIS configuration. From the Site rules: "Questions should demonstrate reasonable business information technology management practices.". – TomTom Mar 06 '17 at 16:51
  • You don't have to be snide in order to be helpful. No where did I say that I ignored the error message: I actually tried addressing it first. This was a problem from about a week ago and I was out sick for a few days. Just coming back in, I don't remember all the details. Your point is taken, however, and I will update the question after replicating the error message. –  Mar 06 '17 at 16:59
  • Not that this will make anyone want to answer my question any more, but I should point out that TomTom's original comment was fULL OF SLOPPY CApS, hence my criticism of the tone. Thanks for removing those. (They were pretty embarrassing, after all.) –  Mar 06 '17 at 17:34
  • Note that your organizational practice is also a problem. While you can certainly serve pages from any drive, there is no actual reason to do this other than to cause headaches for admins. It's certainly possible but somewhat painful. As a Linux example this is similar (slightly less painful however) to saying "we won't use usr/sbin we want all these binaries in /fud. Not impossible but painful. – Jim B Mar 06 '17 at 17:34
  • 1
    @JimB Thanks for the Linux analogy. That definitely makes sense and I agree with you. I think the reason for our policy is that we basically host these servers for other departments and do not want them to fill up the C:\ drive. I asked the policymaker why we just don't use disk quotas and his response was that using separate drives is easier to manage. –  Mar 06 '17 at 17:39
  • Actually I consider it best practices not to keep anything on C: It is relly not a problem at all. It is likely the original error pointed simply to file permission issues. Trivial to fix - but heavily depending on your security setup. – TomTom Mar 06 '17 at 17:50
  • @tomtom You'll be surprised at what actually gets put on the C drive when you install as well as the additional issues that arise. A simpler solution is to mount the other drive as c:\inetpub, or c:\program files if it's an app server. – Jim B Mar 06 '17 at 18:25

1 Answers1

1

I am not sure how easy it is to roll-back the changes the script made. I would uninstall IIS and install it again.

Running web sites from non-C drives is recommended, but I wouldn't move the whole C:\inetpub directory. Instead create new sites on E:\ and point their log files to a different drive(s) as well. This leaves C:\inetpub with only a few configuration and error pages files and some temporary files. You may want to monitor the size of C:\inetpub\temp after running the sites for a while.

If you want to go with your current locations/setup you need to run some diagnostics to find out what is wrong. Is the Windows Process Activation Service running? Anything in the event logs?

Peter Hahndorf
  • 13,763
  • 3
  • 37
  • 58