This is an installation log of Mono 3.0 on CrunchBang. Credit goes to this answer on StackOverflow. Getting root access to install and configure Mono

(21) [07:29:48] sudo -s
Checking if apache2 is installed
root@crunchbang:/home/ab# dpkg -s apache2
Install apache2
root@crunchbang:/home/ab# apt-get install apache2
Install tools for compiling mono (I only needed to install libtool, libglib2.0-dev and libpng12-dev)
root@crunchbang:/home/ab# apt-get install autoconf automake libtool g++ gettext libglib2.0-dev libpng12-dev libfontconfig1-dev
root@crunchbang:/home/ab# apt-get install mono-gmcs
Install apache2-threaded-dev (needed for compiling mod_mono)*
root@crunchbang:/home/ab# apt-get install apache2-threaded-dev
Making the structure we need for getting the source code
root@crunchbang:/home/ab# cd /opt/
Create a directory mono-3.0 where we work with all the retrieved sourced code
root@crunchbang:/opt# mkdir mono-3.0
Move into that new folder before getting the source code
root@crunchbang:/home/ab# cd /opt/mono-3.0
Getting the source code from GitHub
root@crunchbang:/opt# git clone git://github.com/mono/mono.git
Cloning into 'mono'...
remote: Counting objects: 904685, done.
remote: Compressing objects: 100% (147357/147357), done.
remote: Total 904685 (delta 761438), reused 897024 (delta 754456)
Receiving objects: 100% (904685/904685), 189.94 MiB | 330 KiB/s, done.
Resolving deltas: 100% (761438/761438), done.
Checking out files: 100% (44735/44735), done.
root@crunchbang:/opt# git clone git://github.com/mono/xsp.git
Cloning into 'xsp'...
remote: Counting objects: 7096, done.
remote: Compressing objects: 100% (1929/1929), done.
remote: Total 7096 (delta 5317), reused 6813 (delta 5095)
Receiving objects: 100% (7096/7096), 1.54 MiB | 249 KiB/s, done.
Resolving deltas: 100% (5317/5317), done.
root@crunchbang:/opt# git clone git://github.com/mono/libgdiplus.git
Cloning into 'libgdiplus'...
remote: Counting objects: 10524, done.
remote: Compressing objects: 100% (2512/2512), done.
remote: Total 10524 (delta 8054), reused 10438 (delta 7996)
Receiving objects: 100% (10524/10524), 10.09 MiB | 365 KiB/s, done.
Resolving deltas: 100% (8054/8054), done.
root@crunchbang:/opt# git clone git://github.com/mono/mod_mono.git
Cloning into 'mod_mono'...
remote: Counting objects: 1837, done.
remote: Compressing objects: 100% (474/474), done.
remote: Total 1837 (delta 1364), reused 1813 (delta 1347)
Receiving objects: 100% (1837/1837), 352.56 KiB | 55 KiB/s, done.
Resolving deltas: 100% (1364/1364), done.
Compile libgdiplus
root@crunchbang:/home/ab# cd /opt/mono-3.0/libgdiplus
root@crunchbang:/home/ab# ./autogen.sh --prefix=/usr 
root@crunchbang:/home/ab# make
root@crunchbang:/home/ab# make install
Compile mono
root@crunchbang:/home/ab# cd /opt/mono-3.0/mono/
root@crunchbang:/home/ab# make clean
root@crunchbang:/home/ab# ./autogen.sh --prefix=/usr 
root@crunchbang:/home/ab# make
root@crunchbang:/home/ab# make install
Compile xsp
root@crunchbang:/home/ab# cd /opt/mono-3.0/xsp
root@crunchbang:/home/ab# ./autogen.sh --prefix=/usr
root@crunchbang:/home/ab# make
root@crunchbang:/home/ab# make install
Compile mod_mono
root@crunchbang:/home/ab# cd /opt/mono-3.0/mod_mono
root@crunchbang:/home/ab# ./autogen.sh --prefix=/usr
root@crunchbang:/home/ab# make
root@crunchbang:/home/ab# make install
Configuring apache2. Configure the default site of apache ### (optional)
root@crunchbang:~# vim /etc/apache2/sites-available/default
There was no folder created in /var/www. So I created a folder called web1.
root@crunchbang:~# mkdir -p /var/www/web1
Configure the rights to YourFolder (optional). Modify the line "DocumentRoot /var/www" by "DocumentRoot /var/www/web1" (YourFolder is the folder where you publishing your website!)
root@crunchbang:~# vim /etc/apache2/sites-available/default
root@crunchbang:~# cd /var/www/web1
root@crunchbang:/var/www/web1# sudo chown -R root:www-data
chown: missing operand after root:www-data'
Trychown --help' for more information.
I missed the . at the end.
root@crunchbang:/var/www/web1# sudo chown -R root:www-data .
root@crunchbang:/var/www/web1# sudo chmod -R 774 .
root@crunchbang:/var/www/web1# sudo usermod -a -G www-data ab
Adding the mod_mono include in apache2.conf. Add "Include /etc/apache2/mod_mono.conf" at the end of the file (without quotes!).
root@crunchbang:/var/www/web1# vim /etc/apache2/apache2.conf 
Adding the pointer to ASP .NET 4.0 in mod_mono.conf. Add "MonoServerPath /usr/bin/mod-mono-server4" (without quotes!) under the "If Modules condition".
root@crunchbang:/var/www/web1# vim /etc/apache2/mod_mono.conf 
root@crunchbang:/var/www/web1# /etc/init.d/apache2 restart
Restarting web server: apache2 ... waiting ..
Checking the mono version after installation.
root@crunchbang:~# mono -V
Mono JIT compiler version 3.0.10 (master/add2135 Sat Apr 13 21:31:41 IST 2013)
Copyright (C) 2002-2012 Novell, Inc, Xamarin Inc and Contributors. www.mono-project.com
    TLS:           __thread
    SIGSEGV:       altstack
    Notifications: epoll
    Architecture:  x86
    Disabled:      none
    Misc:          softdebug 
    LLVM:          supported, not enabled.
    GC:            Included Boehm (with typed GC and Parallel Mark)