Sunday, May 15, 2011

HTTP 500.19 Errors in IIS 7 - Site is on Mac and IIS is on VMWare Fusion/Parallel


I was tinkering around my IIS 7 which comes on my Windows 7 Guest on VMWare fusion. I have my web application stored on my Mac Drive and IIS on VMWare. Apparently, when I try to share the drive via VMWare share to Windows, and I try to browse the site, I get this error :


HTTP Error 500.19 - Internal Server Error
Description: The requested page cannot be accessed because the related configuration data for the page is invalid.
Error Code: 0x8007052e
Notification: BeginRequest
Module: IIS Web Core
Requested URL: http://localhost/
Logon User: Not yet determined

Logon Method: Not yet determined
Handler: Not yet determined
Config Error: Cannot read configuration file
Config File: \\?\UNC\vmware-host\webapp





So how I made it work ? We must not use VMWare sharing but instead use Mac OSX Samba Sharing.
MAC OS X Instructions

  1. Create an account called IIS_UsrAccess on Mac OSX (or any account). Make sure that this is a sharing account for security. Remember the password you used on Mac OSX.
  2. Go to System Preference -> Sharing
  3. Tick on File Sharing
  4. Click on Options
  5. Tick : Share files and folders using SMB (Windows)
  6. On the account below, choose IIS_UsrAccess
  7. Click on Done
  8. Add a the folder you want to share to Windows under Shared Folders
  9. On the users, add IIS_UsrAccess and choose Read or Read and Write.
  10. Close.
  11. Browse the Folder via Finder
  12. Under the folder you shared, right click and choose Get Info
  13. Below, you would see Sharing and Permissions as shown here : 
14. Add iss_usraccess. Now depending on the priviledge you want to grant, it could be read only or read and write. 

15. Locate your web.config file on this app and do the same as point 14. If you want to manage web.config from IIS, choose read and write for iis_usraccess account.

Now we're done on Mac OSX. We will now go to windows.

  1. Test first on your Windows if you are able to access the shared folder by going to Windows Explorer and \\\. Example, on my machine I typed \\MyMac\Web and I'm able to browse the folder.
  2. Create an iis_usraccess account on Windows and use the same password you used on Mac OSX. This is to allow account pass through.
  3. Once this is done, go to IIS Manager.
  4. Create an Application by doing Add Application or Create a Virtual Directory by clicking Add Virtual Directoy (I Assumed you already have a site
  5. On Alias, choose whatever alias you want. On Physical Path, choose \\\
  6. Click on Connect As... and on new window, type in Specific User and then click on Set. Once Set is clicked, type in on the Username iis_usraccess and password of the user you created on windows and mac os x.
  7. Once done, click on Test Settings.
  8. It should be both green, meaning you are now able to browse the site.

5 comments:

  1. I followed your instructions but am still getting an error and can't connect through IIS :(

    My error is "The specified user account cannot access the physical path. Grant the account Read access to the path and test these settings again." this appears when doing "Test Settings...". The second check mark is red while the first is green, telling me my auth is good.

    I can connect to the share through windows explorer within the VM using the credentials, however IIS just won't cooperate!

    Please help! And thank you for writing this article, its the only one of its kind on the web as far as I can tell.

    ReplyDelete
  2. Dear Anonymous,

    I was having the same problems. My first check was green, verifying I had access, but the second was red. I went into my mac os x preferences and went to Sharing>File Sharing. I ticked file sharing and gave access to the folder that hosts my site.

    Then I took the address listed above where it says "Computers on your local network can access your computer at:" and used that address as my "physical path" with "//" in front of it. For example, your physical path might be "//your-name-macbook-pro.local/Sites/".

    That allowed me in. Let us know if you are still having trouble and I can try to help. It took me a long while of troubleshooting to get there, but thankfully I figured it out.

    ReplyDelete
  3. this still didnt work for me. I tried the same steps and i can see the share in the windows explorer fine but for some reason, Authorization option is still red. I am using Parallels 7 and i can totally see the MAC Hard drive in Windows as well.

    ReplyDelete
  4. you might need to set recursive permissions on the mac if you are getting further IIS errors (YSOD)
    Here is how to do that:
    http://superuser.com/questions/439535/how-to-recursively-set-permissions-on-a-mac-for-network-transfer

    ReplyDelete