We've just released the final version of BlogEngine.NET 1.5 to the public. You can read more about the changes and improvements at Mads Kristensen's blog.

With this release we've worked hard to ensure that the application works out of the box on Linux using Mono. There is no compilation to be done and no configuration settings to tweak. It just works.

For those wishing to try this out, I've created a little tutorial called Installing BlogEngine.NET on Mono/Linux. As you will see there is hardly anything to it, it's just that easy.

So go on, give it a try and let us know how it pans out for you!


We've just made a release candidate for BlogEngine.NET 1.5 available over at the CodePlex site. As there are a number of changes and improvements to the code base, we'll be using the release candidate to test all the new changes. Please help us out and test as much as you can with this new release.

Aside from the improvements that Al mentions on his blog, this is the first release in a while that is completely Mono on Linux compatible out of the box.

Installing BlogEngine.NET on Linux is now as easy as installing Mono, copying the BlogEngine.NET files over to your server and configuring apache. To those that have tried that before I realise that it's easier said than done, so I will be putting together a BlogEngine.NET on Mono tutorial in the next couple of days.

If you are using BlogEngine.NET on Mono, please give the new release a test and let me know your results in the comments.

So I finally decided to upgrade my linux server to the latest Ubuntu, Mono and BlogEngine.NET.

As you can see it all worked out in the end, but only after 2 days of fighting trying to compile Mono 2.2. Let me point out though that it should not have been such a mission. Mono 2.2 does compile and install fine using the instructions you can find here.

The snag turned out to be the amount of memory available on my VPS. So here's a note of warning to everyone trying to compile Mono 2.2: You need more that 300 MB of RAM to make it work. Anything less and you're going to end up with the compilation process dying at random points with no indication as to the problem. 400 MB eventually did the trick.

As for BlogEngine.NET 1.4.5, it works fine on Mono except for the URL rewriting. A fix for that is available here.

If you've recently tried to install the latest version of BlogEngine.NET on Mono, you would have noticed that the URL rewriting does not work for posts, but does work for categories.

This comes down to a bit of an oddity in the mono ASP.NET runtime. It turns out that if you have a path like /posts/2009/03/09/slug.aspx and an actual file called /posts.aspx exists in the root site, mono gets confused and mangles the path.

In your URL rewriting IHttpHandler you'd expect the path returned by context.Request.Path to match what was requested, but in reality Mono will give you /posts.aspx.cs/2009/03/09/slug.aspx instead. This is obviously a bug in Mono, but it's fairly easy to work around.

To fix the issue in BlogEngine.NET, open UrlRewrite.cs in BlogEngine.Core and modify your context_BeginRequest method to look like this:

private void context_BeginRequest(object sender, EventArgs e) {
    HttpContext context = ((HttpApplication)sender).Context;
    string path = context.Request.Path.ToUpperInvariant();
    string url = context.Request.RawUrl.ToUpperInvariant();
    // fixes an oddity in mono where .aspx.cs is added
    path = path.Replace(".ASPX.CS", "");
    url = url.Replace(".ASPX.CS", "");

Compile and deploy!

If, like me, you grew up on the web in the 90's, you'll be very familiar with WebRings. You'll probably also be asking yourself: where did they go?

For those that don't know, webrings were created to link like-minded websites into one big loop. From one web site you could click the webring's Next button to be taken to the next site in the ring. Once you reached the end of the webring, you'd be taken back to the first site in the webring (hence the "ring" part).

It seems however that with the advent of efficient search engines and social networking sites, webrings were left behind in the cold. Nowadays search engines like Google and news aggregators like Technorati have become the standard for finding related content.

So in the spirit of 90's retro nostalgia, I've added a BlogEngine.NET webring link to my blog (you can find it just above the disclaimer). The ring which was started by Chris Blankenship (one of BlogEngine.NET's most avid fans and contributors) will hopefully become a link between all BlogEngine.NET community members. This ought to make locating BlogEngine.NET community members a breeze. Now lets just hope we can get this to catch on again ;)

You can join the web ring here: BlogEngine.NET WebRing

I've had some requests for a tutorial on installing BlogEngine.NET on Linux (and in particular Ubuntu).

Getting BlogEngine.NET itself to run is the easy part, the hard part is getting the latest release of Mono compiled from source on Ubuntu and getting mod_mono and apache2 configured together.

So to that end I'm starting a series of tutorials, beginning with the installation of Mono 1.2.6 from source on Ubuntu 7.10 (Gutsy Gibbon). These instructions should also work on Ubuntu 6.10/7.04. The next tutorial will be focused on installing BlogEngine.NET itself.

Here's the first tutorial: Installing Mono from source on Ubuntu 7.10 (Gutsy Gibbon)

If you should have any issues with the tutorial, either contact me directly or add a comment on this post, and I'll attempt to guide you through any problems you may have. Any feedback should also help in creating a troubleshooting section for the tutorial to help others out that may have the same issues.

BlogEngine.NET 1.3 was released just before Christmas. This version supports Mono on Linux out of the box, so if you've been waiting to try it on Linux, I would suggest you try it right away!

If you are about to run on Linux, I would suggest that you get the latest sources as there were a few late fixes for the new Extension Manager on Mono. You need to get version or later. As for Mono, you also need to get the latest version (1.2.6 as of writing), as the latest release has some major performance enhancements that are required for a stable Mono/BlogEngine.NET environment. See this post for more information.

So as you can see, my new theme is live. I still consider it a work in progress though, so don't be surprised if it changes.

Having now played with BlogEngine.NET themes, I can really say that I'm impressed with the theme mechanism and layout. Modifying an existing theme (CoffeeCup by Michael Silvers) was an absolute breeze. There are no tables in sight, the CSS crowd will be pleased. A nice side effect of using standard compliant HTML is that the blog is viewable even from a text browser on Linux like Lynx.

I know I will be using the BlogEngine.NET layout as a template for any new sites I design. Just another way that OSS helps to educate the masses.

Ok, I have to just say this. Live Writer and BlogEngine.NET rock! The BlogEngine.NET integration is flawless and it's such a pleasure to use that I hardly have words to describe it. And yes, I'm a blog noob, so I'm only figuring this out now.

If you're not using Live Writer (or another offline blog writer) then do yourself a favour, try it now!

Just downloaded Windows Live Writer. The TinyMCE web interface was seriously starting to work on my nerves. I was going to attempt to integrate FCKEditor into BlogEngine (some more detail here), but then I realised that BlogEngine.NET actually has Live Writer support! For a lightweight blog engine, BlogEngine.NET rocks.

This serves as my first Live Writer post, so let's hope this actually gets posted!

I am a software developer / architect currently interested in combining .NET technologies with open-source operating systems. 

I am a member of the open-source BlogEngine.NET development team and focus mainly on ensuring Mono compatibility for the project.



At StayUnlimited Cape Town accommodation we help you choose from and book guest houses, self catering apartments, bed & breakfasts, luxury villas and hotel accommodation.