Phi 9 Official Blog

Web Hosting Phenomenon

Archive for the ‘Tips & Tricks’ Category

Install, publish DNN or other web applications from WebMatrix


Earlier we wrote a tutorial on how to install and deploy DNN (DotNetNuke) manually via an FTP client. But since WebMatrix is becoming more of a standard for web deployment, it’s the right time to let you guys know how to publish your existing DNN site from WebMatrix to your Phi 9 account. The process being straight-forward is still almost the same but this is a step-by-step tutorial for people who are still starting to use WebMatrix and our control panel.

To sum up the overall process, all you  need to do is:

  • Download WebMatrix profile from our control panel, add connection string to it and import it to WebMatrix
  • Publish
  • Complete post-publish installation wizard, if any

So, this process is same if you want to publishing any other applications from WebMatrix except there’ll be different post-setup wizard depending upon the web app you’ll be using!

This tutorial assumes that you just have downloaded the DNN on your local system in WebMatrix; which in most cases does require post-setup.
Below are the detailed steps.

1. This tutorial assumes that you’ve a working installation of WebMatrix and DNN from it’s gallery on your computer. If not open up WebMatrix and install DNN or any other web application you want. We’ll use DNN for this example.

2. Login to your Windows control panel (usually at, yours may be different; consult emails from Phi 9). Go to Web Sites > Click on your website name > Under Home Folder tab, make sure that “Enable Write Permissions” checkbox is enabled.

3. From Databases section in control panel, create an SQL Server 2008 database, also its db user and assign the db user to your database. Simply click the mentioned buttons.

4. From Web Sites section > your website > Web Publishing tab > Enter your control panel username and password > Click Enable.

5. From the same screen, click on Rebuild Publishing Profile link. Select the database you  just created, its db user, leave FTP field to default and click on OK button.

6. Finally click on “Download Publish Profile” on the same screen. Save the file on your computer.

7. Open WebMatrix, open your web application site or DNN site in it, go to “Remote” tab, click “Publish” and “Import Publish Settings”.

8. Finally publish the site making sure to select checkbox saying, “Delete files on the remote server that are not on my computer” .

9. It’ll take a few minutes to complete. Then click on your site URL.

10. Complete the post-deployment installation steps. In case of DNN, just keep clicking “Next” until you are asked to set up your account with a username and password.

11. Set up completes with a success message and your DNN site is published!

Written by Phi 9 World

September 29th, 2012 at 1:27 am

WebMatrix, permissions and DotNetNuke!


WebMatrix has revolutionized the way the web applications are configured and deployed. But there still is a missing piece to the puzzle — application pool identity permissions. Because the way user trust level works in IIS, some applications need special permission sets. Coupled with WebMatrix this can increase the confusion for users to have their applications deployed.

Before we begin troubleshooting, we need to understand how WebMatrix actually works (for those who don’t know it yet). The process includes

  • Uploading files to the virtual host
  • Setting application settings as defined in web.config
  • Restoring databases
  • Setting permissions for App_Data and virtual host root

The odd thing happens at the last step in this case. You get an “Error – Publish Failed!”. Unless you click on the Log, you won’t likely find out what caused it. The typical error looks like this

The error occurs right before setting up the permissions. Now, the way WebMatrix sets up permissions is very odd. The “setAcl” command you see above first resets the current permissions and then it applies the permissions defined in WebMatrix profile and application settings that you are trying to deploy (located in C:\Users\User\Documents\IISExpress\WebDeploy\Config\ProjectName). And for this reason the WebDeploy has come under heavy criticism in official community forums. Though one can see this issue is likely addressed in the recent release of WebDeploy 3.0 but it has a few more problems of its own.

Based on the server side rules, the domain’s application pool settings, you’ll need to have an admin set permissions on root of the domain. But that’s still not all. There’s one last thing you should worry about. If you see an error like below, the DotNetNuke’s installation simply will halt. And you’ll have to start over by recreating the database and reuploading the files, because of incomplete data in the database. It’s just the DotNetNuke’s installation process which is still very old fashioned.

For me, this is just paradigm of user interest and software conflict.
To sum up, one should:
a) Either have a system engineer look up WebDeploy, assign and fix necessary permissions and make sure they are inherited properly so WebMatrix won’t overwrite (a lengthy process itself)
b) Or tell WebMatrix to leave the permissins alone and then have a system engineer fix the issue
 msbuild.exe myproject.csproj /p:IncludeSetAclProviderOnDestination=False

Either way, it’s the user interest that wins!

Written by Phi 9 World

April 30th, 2012 at 8:05 am