1) Baixe o código-fonte do Mono, do XSP e da libgdiplus mais recentes aqui.
2) Extraia o tarball do Mono:
tar -xjvf mono-4.2.1.60.tar.bz2
3) Extraia o tarball do XSP:
tar -xzvf xsp-3.8.tar.gz
4) Extraia o tarball da libgdiplus:
tar -xzvf libgdiplus-3.12.tar.gz
5) Compile e instale o Mono:
cd mono-4.2.1/
./configure --prefix=/opt/mono
make
sudo make install
6) Verifique a versão do MONO:
env PATH=/opt/mono/bin:$PATH mono --version
7) A compilação do XSP procura pelo gmcs, o compilador .NET 2.0 do Mono. Mas esse compilador foi removido das versões mais recentes do Mono. Podemos resolver isso criando um link do gmcs apontando para o mcs, o compilador padrão do Mono:
sudo ln -s /opt/mono/bin/mcs /opt/mono/bin/gmcs
8) Compile e instale o XSP:
cd ../xsp-3.8
env PKG_CONFIG_PATH=/opt/mono/lib/pkgconfig PATH=/opt/mono/bin:$PATH ./configure --prefix=/opt/mono --with-runtime=/opt/mono/bin/mono
make
sudo make install
9) Instale a biblioteca cairo:
sudo apt-get install libtool libcairo2-dev
10) Compile e instale a libgdiplus:
cd ../libgdiplus-3.12
./configure --prefix=/opt/mono
make
sudo make install
11) Suponha que o seu projeto está na pasta projeto. Para rodar o seu aplicativo ASP.NET com XSP:
cd projeto
env PATH=/opt/mono/bin:$PATH LD_LIBRARY_PATH=.:bin:/opt/mono/lib:$LD_LIBRARY_PATH xsp4 --port 9090
12) Agora basta abrir o navegador e digitar 127.0.0.1:9090 para visualizar seu aplicativo ASP.NET rodando.