I just thought I'd share my DNN installation experience... these forums were a great resource in answering my questions during the install, and I'm sure they will continue to be in the future as I use DNN. Here's my setup:
- DNN 4.0.2
- Windows 2003 Server, Web Edition
- SQL Server 2005 Express Edition
- clean install on a brand new server (manual, not using VS)
On and off, it took me a whole work day to get DNN running. I installed DNN 2 a while back on my home machine and that only took an hour or two. I had several confusing errors along the way this time...
First off, I read the Installation Guide from the Docs folder. 63+ pages is a little intimidating until you realize it's mostly screenshots. There were a few non-DNN related things that I thought should have been included, or even better, put into a "tips" section:
- The first obvious thing in W2K3 Server, WEB edition, is that IIS is not installed by default. Gee, I thought I bought a WEB server. Install it.
- If the machine is brand new, go get a helloworld.aspx and make sure it runs before attempting a DNN install. Most likely, it won't. You'll get a 404 error because MS thought a web server shouldn't run ASP unless the admin jumps through a few hoops. They also thought they should give you a 404 instead of something helpful. A lot of people use DNN as first ASP.NET project and may not know this.
The 404 can be resolved by going into IIS, then to Web Services Extensions. Add a new extension, give it whatever name and point it to <systemroot>\Microsoft.NET\Framework\<version>\aspnet_isapi.dll.
Next, go into your site's properties under the Documents tab, and add index.aspx and default.aspx. This will solve the "Directory browsing is not allowed" issue that happens when it can't find a default or index page with a respectable extension. Your helloworld.aspx should run now.
Ok, on to DNN install, all per instructions in the guide:
- Extracted files
- Renamed release.config to web.config
- Created a virtual directory
- Created db, created user, associated user
- Put db info into web.config (I didn't see this in the installation guide, but you have to change the path given in <ConnectionStrings>)
- Set file & folder permissions
- Fired it up
Uh-oh... permissions error. Can't write to temporary folder. Ok, set permissions on temp folder and continued...
Uh-oh again. Now it can't find some template.mdf file (sorry: forgot the exact name). A peek at Google and I found that this is really a screw up in the connection string, not a missing file. That is where I figured out I had to change the <connectionStrings> section too. Duh. Moving on...
Crap... can't find SiteUrls.config. Well, I see it's in the Config folder, so I copied it to the root and continued.
Oh no...
The Assembly Version ( [ASSEMBLYVERSION] ) does not match the Database Version ( [DATABASEVERSION] ). Some more Googling and I found out that I should delete and recreate the db, then restart IIS. All good...
Eek!
ERROR: Could not connect to database specified in connectionString for SqlDataProviderSystem.Data.SqlClient.SqlException: Unable to open the physical file "(blahblahblah)DotNetNuke.mdf". Operating system error 32: "32(The process cannot access the file because it is being used by another process.)".
This one was solved easily enough by restarting IIS and SQL Server, then refreshing the page. After that, my install was complete! Time to go get a beer [EMO]bigsmile.gif[/EMO]