BlogEngine.NET is a .NET web app that can run on Windows (obviously) and Linux! and the app is maintained that way ensuring case sensitivity... sweeeeet!

You can use XML to store your data... which is very good and fast... and if you want to use mysql, or MSSQL, or SQLite or VistaDB... the choice is yours.... all are maintained to ensure stablity.

First you will need to install MONO. Check out these 2 posts:

Obviously you will have to have MySQL installed too.

 

You will be required to accept a Microsoft Reciprocal License (Ms-RL) so you will have to use your browser to get the files.

Once you have the files saved to your local machine, use your FTP client to upload to the domain or subdomain of your choice and unzip.

Let us assume you have uploaded the files to /var/www/vhosts/domainname/httpdocs

run these commands for security and access:

chown -R root:apache /var/www/vhosts/domainname/httpdocs;
chmod -R 750 /var/www/vhosts/domainname/httpdocs;
chmod -R 770 /var/www/vhosts/domainname/httpdocs/App_Data;

if you choose to use mysql as your DataProvider:

Log into mysql

mysql -u root -p

You will be prompted for the root password

Create the database in mySQL where you want the tables to reside..  lets assume "blogengine";

create database blogengine;

Create a user that will only have access to this database and give them select, insert, update and delete priviledges. lets assume username is bloguser and password is blogpassword. make sure they only have access from localhost(unless you are accessing the DB from elsewhere)!

CREATE USER 'bloguser'@'localhost' IDENTIFIED BY 'blogpassword';
GRANT SELECT, INSERT, UPDATE, DELETE ON blogengine.* TO bloguser@localhost;

Open the Web.Config file in /var/www/vhosts/domainname/httpdocs/setup/MySQL/MySQLWeb.Config:

nano /var/www/vhosts/domainname/httpdocs/setup/MySQL/MySQLWeb.Config

you will need to ensure the following:

1.  Find <connectionStrings> and add this line in the section(there should only one line other than this one <add name="LocalSqlServer" connectionString="dummy"/>):

<add name="BlogEngine" connectionString="Server=localhost;Database=blogengine;Uid=bloguser;Pwd=blogpassword;" providerName="MySql.Data.MySqlClient"/>

2.   Find <DbProviderFactories> and ensure the version number and assembly name are the same as the mysql.data file that is in the /var/www/vhosts/domainname/httpdocs/bin folder

<add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory, mysql.data, Version=6.2.2.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d"/>

3.   Find <assemblies>

<add assembly="mysql.data, Version=6.2.2.0, Culture=neutral, PublicKeyToken=C5687FC88969C44D"/>

and ensure that the details match <DbProviderFactories>

4.   Save the file and copy it to the root:

cp /var/www/vhosts/domainname/httpdocs/setup/MySQL/mySQLWeb.Config /var/www/vhosts/domainname/httpdocs/Web.Config;
chown root:apache /var/www/vhosts/domainname/httpdocs/Web.Config;

 

4.   Create a file /var/www/vhosts/domainname/conf.vhost.conf with these contents

    ServerAlias www.domainname.com

    Include /etc/httpd/conf/mod_mono.conf

    ServerName domainname.com
    ServerAdmin webmaster@domainname.com

    DocumentRoot var/www/vhosts/domainname/httpdocs
    DirectoryIndex index.html default.aspx
    MonoDocumentRootDir "var/www/vhosts/domainname/httpdocs"
    MonoServerPath domain_blog "/usr/local/bin/mod-mono-server2"
    MonoApplications domain_blog "/:var/www/vhosts/domainname/httpdocs"

    <Directory var/www/vhosts/domainname/httpdocs>
        MonoSetServerAlias domain_blog
        SetHandler mono
        AddHandler mod_mono .aspx .ascx .asax .ashx .config .cs .asmx
       
        <FilesMatch "\.(gif|jp?g|png|css|ico|xsl|wmv|zip)$">
                SetHandler None
        </FilesMatch>

    </Directory>

5.   Run the following command

/usr/local/psa/admin/bin/websrvmng -a;

you will now be able to open your blog...