Stream   Blog   Code   Pictures   Videos   Contact  
April 25, 2008
23:29
When it comes to Blog or CMS software the bulk of them are written in PHP with some written in Python and a couple written in Perl. As I'm no programmer I just pick one that I could setup and use without too much hassle. The problem is that there is so much choice, and I'm a bit of a dufus at times and like to be different and not follow the norm.

I have been reading the Monologue for a while and trying to keep up with all the stuff that those monkey loving folk are up to, and I noticed that there was a CMS that uses mono - mojoPortal. So I thought okay you don't hear of many folk using mono to power their sites (there may well be a reason, but I don't know it :-) ), and I decided to give it a go. Well it works, and it works IMHO pretty well. One plus is that for the lazy folk (yes I'm one of them) there are packages all ready to roll sitting in the Mono:Community repo.

There are some configuration steps required, but they aren't too difficult, honest if I can do it so can you ;-) Just to prove how easy it is here is what I did to get it all going on openSUSE 10.3, this is assuming you are using a dedicated server built using the "Minimal Text" install option:

1. Add the server:database repo from the "Community Repositories" in YaST or
zypper ar -r http://download.opensuse.org/repositories/server:/database/openSUSE_10.3 && zypper mr -r Apache
2. Add the Mono:Community repo and also the Mono repo
zypper ar -r http://download.opensuse.org/repositories/Mono:/Community/openSUSE_10.3 MonoCommunity && zypper mr -r MonoCommunity
zypper ar -r http://download.opensuse.org/repositories/Mono/openSUSE_10.3 Mono && zypper mr -r Mono

3. Install mojoPortal and all of the required dependencies
zypper in mojoportal
4. Start the postgres server
chkconfig postgresql on
rcpostgreql start

It may well be worth you taking note of Pascal's little guide on setting up a PostgreSQL server ;-)
5. Create the target database
su - postgres
createuser -A -d $USERNAME --pwprompt
psql template1
CREATE DATABASE "$DBNAME" WITH OWNER = "$USERNAME" ENCODING = 'LATIN1';
\q
createlang --dbname=$DBNAME --username=postgres -W plpgsql

6. Copy the apache config file to the correct directory
cp /usr/share/mono/asp.net/conf/mojoportal-2.2.4.6.b/mojoportal.conf /etc/apache2/vhosts.d
You may edit it if you wish, I just left it as is because it worked fine for me
7. Enter the PostgreSQL details from Step 5 into the mojoPortal config file (yes you may use your preferred editor here)
vi /usr/share/mono/asp.net/apps/mojoportal-2.2.4.6.b/Web.config
Around line 84 you will have something similar to add key="PostgreSQLConnectionString" value="Server=localhost;Port=5432;User Id=test;Password=test;Database=mojoportal;Pooling=false;Encoding=UNICODE;" you need to change the values of User Id, Password and Database. If your database server is not on the same machine as your Apache installation then you need to change Server.
8. Still in the Web.config file you need to change the details of the SMTP server to use on line 169 and 821
9. Change the e-mail address for the system and webmaster on lines 177 and 178
10. Point your browser to http://your.new.server/mojoportal/Setup/Default.aspx and then off you go you now have an ASP.net powered site running on Linux and it's completely and legitimately free.

You can skip Steps 8 & 9 if you wish, but I wouldn't recommend it just from a general housekeeping point of view if nothing else.

So now that mojoPortal is installed what next? Play around with it and get a feel for it, there are loads of built in options. One point that I feel it is slightly lacking in is that of Skins/Themes, the bundled ones are a bit on the dull side but I know that Joe Audette (he's the bright spark that created mojoPortal) is working on putting some new skins into the next release. There is a forum available for support etc, and Joe is pretty quick of the mark to answer your questions and provide advise - a real bonus.

I realise I may have hit a raw nerve by using ASP.net, but to be honest I was looking for something different and it also proves that on Linux everything is possible and we can have whatever we want almost, and on openSUSE it is easier than on others :-D
Author: Old Blog 
blog comments powered by Disqus