Frequently Asked Questions

Here is a list of the most frequently asked questions about BlogEngine.NET.

Can BlogEngine.NET be installed within an existing website?

Yes. Install it in its own folder and configure the directory it resides in as an application in IIS.

Some hosting providers may not allow the level of trust used in BlogEngine.NET by default. If you receive an error similar to:
  • "Parser Error Message: It is an error to use a section registered as allowDefinition='MachineToApplication' beyond application level.",
You can try one of the following to resolve the issue:
  • Comment out the "trust" line in web.config
  • Ask your hosting provider if they can configure the directory where BlogEngine.NET is installed as a virtual directory.
  • Ask your hosting provider to verify that the directory has been configured as an application in IIS.

Is BlogEngine.NET open source and completely free?

Yes. BlogEngine.NET is built by passionate developers who have too much spare time, just to make an open source blog engine to give away absolutely free.

Is my mother able to use it?

Yes. We have gone to great lengths to make BlogEngine.NET as easy as possible to use both from an end user as well as a developer or theme designer's point of view.

What are the demands for the web server?

BlogEngine.NET requires web server that support ASP.NET 4.5 with full trust level and write permissions on the App_Data and Custom folder (or site root to support auto-update).

What database is it running on?

BlogEngine.NET uses XML to store all posts, pages etc. by default. However, if you prefer to use a database, BlogEngine.NET includes a "DbBlogProvider" that allows you to store data in databases which support standard SQL -- MS SQL Server, MySql, SQLite among many others. Configuration changes necessary to store data in a SQL Server database can be found here. If there isn't a data provider already available, you can easily write your own provider. We have enginereed our framework to make this very easy and simple to do.

How can I switch where data is stored (XML to Database or vice versa)?

If you're just starting off with BlogEngine.NET, all of your data will be stored in XML files in your App_Data folder. Some web hosts such as GoDaddy who have an automatic BlogEngine.NET setup option, might setup your blog so data is stored in a database instead. If your blog is new, you don't yet have any data, and you want to switch from XML storage to Database storage, find out how here.

If you have an existing blog and you want to switch the backend your data is stored in (switch from XML to Database or Database to XML), a BlogEngine.NET Provider Migration tool is available!

Can I customize the design of the blog?

Yes. If you don't like the themes provided with BlogEngine.NET, you can modify an existing one to match your taste or create a new one from scratch. Creating themes for BlogEngine.NET only requires basic knowledge about ASP.NET and HTML. Additionally, BlogEngine.NET takes full advantage of ASP.NET master page structure. Find out more about creating themes.

I have trouble. Can you help out?

Yes, as long as the trouble is BlogEngine.NET related. For issues, suggestions and discussions please visit the Discussions.

How is BlogEngine.NET licensed?

BlogEngine.NET is licensed under the Microsoft Reciprocal License (Ms-RL), which basically means that you can do anything you want to the source code as long as you release it under the same license.

I want to contribute to BlogEngine.NET. What do I do?

We welcome anybody who wants to contribute. Please read our contribute page to find out how you can get involved.

How do I reset lost admin password?

If you are using default XML provider:

1. Get to your website (usually by FTP to your web server).
2. Open /app_data/users.xml in the text editor, for example notepad.
3. Remove password from your admin account, meaning:

change from:
If you are using SQL then instead of XML file update DB table:
UPDATE be_Users SET Password = '' WHERE UserName = 'admin'

4. Restart web site, easiest way is to open web.config and add a space to the comment and save it. Comments are:
<!-- anywhere between tags like these -->
Now you should be able to log in as admin/admin.

If you don't have Admin account in the users.xml file, add new user tag like so:
<LastLoginTime>2007-12-05 20:46:40</LastLoginTime>
Once logged in as admin, you can delete and create again any user account from admin panel.

How do I allow only logged in users to post comments?

Set up role for self registration
1. In the admin panel, go to Users -> Roles and create new role, for example "Commentors".
2. Assign to this role same rights that "Anonymous" role has.
Revoke "Create comment" right from anonymous
In the "Roles" screen, click anonymous role and uncheck "Create Comment"..
Set up self registration
1. In the admin panel, go to Settings -> Advanced and under "Security Settings" section check "Enable self registration". This will add registration option to logon screen.
2. In the "Initial Role" dropdown, select "Commentors" role created in the first step.
With this in place, only logged in users should be able to post comments.

Why only logged in users can see published post?

If your server in different time zone, you'll need to compensate this difference with time offset. Under basic settings, set "server time offset" to positive on negative number, in hours. For example, 5 or -5 to compensate 5 hours difference. 

Comments are closed