BE.NET on Apache/Mono

Topics: ASP.NET 2.0
Feb 23, 2009 at 10:21 PM

Hello everyone,
I'm installed a testing Ubuntu Server machine, as well as mono and mod_mono to run ASP.NET applications. The configuration itself looks like to be fine, since my (simple) testing sites work well.

So, I though to try with a bigger (and more useful) application, like BlogEngine.NET. I managed to download and setup the lastest version, but a very strange exception is raised when accessing the site: it says the assembly containg "System.Windows.Forms" was not found...

I'm prettry astonished, as I'm not expecting to find that particular assembly on Mono... But it also looks like I'm the only one who's getting this error (I searched a lot of forums and sites for a possible answer, but no topic shows a similar exception), as other people easily run BE.NET on Linux machines...

I would really appreciated your help for this. Thanks in advance for all replies.

Feb 24, 2009 at 1:29 PM
Ok, I solved the problem. It seems the mono-2.0-devel package does not contain the System.Windows.Forms assembly so you need to install it separately:

sudo apt-get install libmono-winforms1.0-cil
sudo apt-get install libmono-winforms2.0-cil

 Check the Mono GAC to ensure the assembly is there. Actually, it took me long to identify the right packages, as everybody tells you just need libgdiplus, but installing it does not solve the aforementioned issue.
Feb 25, 2009 at 2:08 PM
Hello again,
though BE.NET seems to work quite fine on Apache now, I still notice some bugs.
 
The most annoying one regards the native UrlRewriting mechanism, which looks like to be incompatible with Apache: each time you navigate to a "fake" URL the server reports a 404 File Not Found. So, it is quite clear the URL rewriting module is not working.

More specifically, any request to /blogengine-root/categories/category-name.aspx or to /blogengine-root/year/month/default.aspx yields a 404 HTTP Error. On the other hand, requests pointing to /blogengine-root/post/post-short-title.aspx generate a Mono exception (403 Forbidden - Error processing request).

So, here's my question. Is there any way to make BE.NET work under Apache?

Alternatively, how can I find details about the native URL rewriting module, so I would try to setup mod_rewrite to replace it?

Thanks in advance.