Installation
Table of Contents
1 -
Installation Overview2 -
Choosing a version for download3 -
Fresh Installation4 -
Upgrading From Previous Version5 -
Troubleshooting6 -
IIS 7
1 - Installation Overview
The BlogEngine.NET installation process is fairly straight forward. The information below will guide you through the process and help you with any issues you encounter.
2 - Choosing a version for download
There are two download options for BlogEngine.NET:
- Web Project: This is an ideal option if you want to use BlogEngine.NET right out of the box and don't have plans to create custom controls or extend the software.
- Source Code: This is the developer option. If you are interested is seeing how things work or want to add to the functionality, this is your option. Note that although you can look at the source with Visual Studio 2005 Express, you can't rebuild the DLL with it.
Choosing one option over the other doesn't lock you into your decision, but you need to choose a place to start. If you are unsure, just download the web project. You can always download the Source Code later and add your changes in.
3 - Fresh Installation
By fresh installation, we mean that you are creating a new instance (folder with the application) of BlogEngine.NET on your server/hosting space/local pc. If you already have an instance of BlogEngine.NET that you want to upgrade, see the next section. If you already have an instance that you played around with, but you just want to start again, this is the section for you.
Get the web project folder
Now that you have a downloaded zip file, you need to un-zip it. This can be done with a bunch of different utilities and in a bunch of different methods.
If you choose the Web Project download, your newly unzipped folder contains the web project you want to work with. If you download the source code, the web project is buried a little bit. The web project is found under the BlogEngine.NET folder, then the BlogEngine folder.
Load the web project on your web server
Now that you have the web project folder, copy those files and folders out to your web server. This usually involves FTP, but depending on your situation, it might even require a portable storage device (e.g. USB flash drive).
Set folder as a .NET 4.0 application
There isn't much to say about this. If you have direct IIS access, you need to create an application. If you are using a hosted provider, you need to use their control panel to make this happen. It should be a standard option, but if you don't find it, you may need to contact your hosting provider for support. BlogEngine.NET is developed under an "Integrated Mode" application pool. It is recommended your application pool be in Integrated Mode (as opposed to Classic Mode).
Add write permissions for App_Data folder
This is an often forgotten step. If you miss it, you'll notice as soon as you try to make a change. You need to give the application write permissions to the App_Data folder. Again, your hosting provider may have a control panel that allows you to do this. If not, you may need to contact your hosting provider for support.
Setting write permissions could involve up to 3 steps: 1) Using the IIS admin tool or your hosting provider's control panel, set the folder as "Write" capable; 2) If you have direct access to the file system, make sure the account under which the BlogEngine.NET's application pool is running (typically "ASPNET" on XP / 2003 and "Network Service" on Vista / 2008) has write access to the physical folder; 3) After unzipping the web folder, all files have their read-only attribute enabled. Turn that attribute off for the App_Data folder and all files and subfolders.
Navigate to the web page
Ok, now you are ready to navigate to the web site and see how you did. For example, if you installed the web site to your local machine for testing, you would navigate to http://localhost/default.aspx. You can also edit the default document to display to default.aspx using the IIS MMC snap-in. If you do this, you can navigate direcly to http://localhost/ without specifying the page name. If all goes well, you are greeted by the default blog page.
Login and Setup your user name
The last step is to scroll down and find the sign in link on the right side. Click
Sign in and then login in the following information.
User Name: admin Password: admin
Once you login, you will see a new menu on the right hand side. Click
Users.
Create a new user for yourself. The user name you choose is your display name. See the
User Administration page for more information.
Delete the
admin account. You don't want everyone who reads this to be able to login to your blog, do you?
Finally, log out, then log back in using the user account you just created for yourself.
4 - Upgrading From Previous Version
Ah, a veteran. You know all the basics so I won't bore you with them. If you do struggle with the basic setup though, don't be afraid to read the Fresh Installation instructions.
4.1 Upgrading to version 2.8
Specific instructions for Upgrading to BlogEngine.NET 2.8
4.2 Upgrading to version 2.7
Specific instructions for Upgrading to BlogEngine.NET 2.7
4.3 Upgrading to version 2.6
Specific instructions for Upgrading to BlogEngine.NET 2.6
4.4 Upgrading to version 2.5
Specific instructions for Upgrading to BlogEngine.NET 2.5
4.5 Upgrading to version 2.0
Specific instructions for Upgrading to BlogEngine.NET 2.0
4.6 Upgrading to version 1.6
If you're upgrading from an earlier release to version 1.6, there's two important changes to make when upgrading.
- Delete the entire "ExtensionManager" sub-folder in the App_Code folder. This code has been moved into the BlogEngine.Core.dll in version 1.6. Not deleting this sub-folder will lead to errors.
- For multiple widget zone support, a couple of CSS class names have changed. You may need to update your theme's CSS file. A search and replace should be sufficient.
- Replace #widgetzone with .widgetzone
- Replace #widgetselector with .widgetselector
- As always, please follow the upgrade guidelines described below.
More details on CSS changes and multiple widget zones in general can be found
here.
4.6 Upgrading to version 1.4
Checkout this for specific upgrade instructions from previous versions to version 1.4 of BE
Backup your stuff
It is always a good idea to backup your files before starting an upgrade. It's a general recommendation and if you do it right, we guarantee you won't lose any information.
The main things you'll be interested in saving are the entire contents of your App_Data folder, custom themes you may have, and any custom controls you made. Remember that even if you just made a few slight modification to a theme, you will want to back them up so you can put them into the new installation.
Merging your data with the web project
Depending on when you downloaded your pre-release version of BlogEngine, you may have an incomplete settings.xml file. You will want to open the freshly downloaded settings.xml file from the App_Data folder and compare it to your existing settings.xml file. Any entries in the new one that aren't in your existing one, should be added.
If you have a new theme, go ahead and add your theme folder to the new web project themes folder. There have been a lot of changes to the theme process over the course of the project. It would be recommended that you look over the
Theme Creation page and make adjustments to your theme accordingly. You could, of course, just try it and see how it works, but then you'd miss out on the fun of reading our Theme documentation.
If you modified an existing theme, it is best to make the changes in the new version of that theme.
Load it up already
Once you have the needed changes, load up your files, and enjoy the latest release. There is lots of good stuff in it!
5 - Troubleshooting
What are you doing here? There couldn't possibly a problem, could there? Ok, these things happen and this is as good a place as any to look for the solution.
When I navigate to my blog, I get a blank page
Make sure your blog folder is set to an Application.
When I navigate to my blog, I get an error page
Check your .NET version. You need to make sure your blog is set to use version 2.0.
I can't edit/change settings/etc
This is caused by not having the correct write permissions on the App_Data folder.
Note: If you use WebHost4Life, the proper settings should be user
Network Service has
Full Control.
Security/ Permissions
Set up the App_Data folder so that the ASP.NET service and IIS can both read and write to it. In Vista/IIS7.0 this means that you need to set this access up (from within Windows Explorer) for the group "users", and also for the "NETWORK SERVICE" (you have to add this latter through the advanced security dialogs). Make sure that the files within the App_Data folder are not set to read only.
Rename the application directory?
Noooh, don't do that. If you installed Blog Engine in a directory like /BlogEngine, then install a subsequence version in a different directory, say /BlogEngine.NET, everything will be fun except all the image references in your old posts will point to the first directory, not the second. Maybe you can rename all the entries in all the little XML files and that will fix it; or you may just wimp out and rename the new installation to the same directory name as the old one, which definitely fixes this.
6 - IIS 7
Inherited handler settings
If you're getting an error:
404.3 HTTP Error 404.3 - Not Found;The page you are requesting cannot be served because of the Multipurpose Internet Mail Extensions (MIME) map policy that is configured on the Web server. The page you requested has a file name extension that is not recognized, and is not allowed.Error Code: 0x80070032Then it may be that your "handlers" aren't inherited correctly by the site containing the blog. You can check this by looking in the "handler" set up for the web server itself - it should have lots of entries including aspx. Then check the "handler" set for the App_Data folder... if that's much smaller, then as per this link. http://dunnry.com/blog/IIS7And4043Error.aspx you may need to tweak things to force the App_Data folder to inherit the handlers correctly.
HTTP Error 500.0 - Internal Server Error Integrated .NET mode
You may get an error as above, which suggests that you should run: %systemroot%\system32\inetsrv\APPCMD.EXE migrate config "site_name/BlogEngine" For once the instructions are correct... just open an admin command window, paste the command from your error message in there and run it.
web.config
If you have tried everything else and simply can't get the handlers to populate for your App_Data folder, it may be worth looking for a little file called "web.config" in the root of your site. Deleting this and then reinstalling the blog software fixed that problem for me.
VS 2008 with Cassini Web Server
Try running Visual Studio as Administrator. That seems to fix a lot of the permission errors under cassini.