Here is the complete guide for installing mono 3.0.1
For Beginners who don't know how to get the new Mono 3.0.1 version on Ubuntu 12.04
(Because i'm a beginner and i've been working on this for 3 days before making it work)
Getting root access to install and configure Mono 3.0.1
sudo -s
***type your root password***
Install vim editor
apt-get install vim
Install apache2
apt-get install apache2
Install tools for compiling mono
apt-get install autoconf automake libtool g++ gettext libglib2.0-dev libpng12-dev libfontconfig1-dev
apt-get install mono-gmcs
apt-get install git
Install apache2-threaded-dev (needed for compiling mod_mono)*
apt-get install apache2-threaded-dev
We will return to apache2 configuration later
Making the structure we need for getting the source code
cd /opt
mkdir mono-3.0
Move into that new folder before getting the source code
cd /opt/mono-3.0
Getting the source code from GitHub
git clone git://github.com/mono/mono.git
git clone git://github.com/mono/xsp.git
git clone git://github.com/mono/libgdiplus.git
git clone git://github.com/mono/mod_mono.git
Compile libgdiplus
cd /opt/mono-3.0/libgdiplus
./autogen.sh --prefix=/usr (the prefix is very important for Ubuntu 12.04)
make
make install
Compile mono
cd /opt/mono-3.0/mono/
make clean
./autogen.sh --prefix=/usr (the prefix is very important for Ubuntu 12.04)
make
make install
Compile xsp
cd /opt/mono-3.0/xsp
./autogen.sh --prefix=/usr (the prefix is very important for Ubuntu 12.04)
make
make install
Compile mod_mono
cd /opt/mono-3.0/mod_mono
./autogen.sh --prefix=/usr (the prefix is very important for Ubuntu 12.04)
make
make install
After the installation of mod_mono, the file mod_mono.conf
*as been added to your apache2 folder(/etc/apache2)*
Configuring apache2
Configure the default site of apache ### (optional*)**
vim /etc/apache2/sites-available/default
Modify the line "DocumentRoot /var/www" by "DocumentRoot /var/www/YourFolder" (YourFolder is the folder where you publishing your website!)
Configure the rights to YourFolder (optional*)**
cd /var/www/YourFolder
sudo chown -R root:www-data .
sudo chmod -R 774 .
sudo usermod -a -G www-data <yourusername>
Adding the mod_mono include in apache2.conf
vim /etc/apache2/apache2.conf
Add "Include /etc/apache2/mod_mono.conf" at the end of the file (without quotes!)
Adding the pointer to ASP .NET 4.0 in mod_mono.conf
vim /etc/apache2/mod_mono.conf
Add "MonoServerPath /usr/bin/mod-mono-server4" (without quotes!) under the "If Modules condition"
Restart the apache2 server
/etc/init.d/apache2 restart