Este guia pretende explicar como instalar o Mono num CentOS 5.x com suporte para o mod_mono. Esta instruções são baseadas na versão actual do Mono (2.4.2.3), mas devem servir genericamente.
Nota: os comandos seguintes são supostos ser corridos como root, se não os compreende talvez seja melhor não os executar!
Primeiro é preciso instalar as dependências no CentOS:
yum install gcc bison pkgconfig glib2-devel gettext make httpd-devel
Depois é preciso sacar as sources do Mono e descompactá-las:
wget http://ftp.novell.com/pub/mono/sources/mono/mono-2.4.2.3.tar.bz2
tar jxvf mono-2.4.2.3.tar.bz2
De seguida compila-se e instala-se:
./configure –prefix=/opt/mono; make; make install
Actualizar o ~/.bash_profile:
echo export PKG_CONFIG_PATH=/opt/mono/lib/pkgconfig:$PKG_CONFIG_PATH>>~/.bash_profile
echo export PATH=/opt/mono/bin:$PATH>>~/.bash_profile
source ~/.bash_profile
Para testar pode correr o comando:
mono -V
Que deve dar um output deste género:
Mono JIT compiler version 2.4.2.3 (tarball Thu Nov 19 15:11:27 WET 2009)
Copyright (C) 2002-2008 Novell, Inc and Contributors. www.mono-project.com
TLS: __thread
GC: Included Boehm (with typed GC)
SIGSEGV: altstack
Notifications: epoll
Architecture: x86
Disabled: none
Isto significa que o Mono foi instalado com sucesso. Agora vamos instalar o XSP e o mod_mono.
Fazer download das sources do XSP, descompactar, compilar e instalar:
wget http://ftp.novell.com/pub/mono/sources/xsp/xsp-2.4.2.tar.bz2
tar jxvf xsp-2.4.2.tar.bz2
cd xsp-2.4.2
./configure –prefix=/opt/mono; make; make install
cd ..
Fazer download das sources do mod_mono, descompactar e instalar:
wget http://ftp.novell.com/pub/mono/sources/mod_mono/mod_mono-2.4.2.tar.bz2
tar jxvf mod_mono-2.4.2.tar.bz2
cd mod_mono-2.4.2
./configure –prefix=/opt/mono; make; make install
Agora só falta configurar o Apache para utilizar o mod_mono, para tal adicione o seguinte ao httpd.conf:
<IfModule !mod_mono.c>
LoadModule mono_module /usr/lib/httpd/modules/mod_mono.so
AddType application/x-asp-net .aspx
AddType application/x-asp-net .asmx
AddType application/x-asp-net .ashx
AddType application/x-asp-net .asax
AddType application/x-asp-net .ascx
AddType application/x-asp-net .soap
AddType application/x-asp-net .rem
AddType application/x-asp-net .axd
AddType application/x-asp-net .cs
AddType application/x-asp-net .config
AddType application/x-asp-net .Config
AddType application/x-asp-net .dll
DirectoryIndex index.aspx
DirectoryIndex Default.aspx
DirectoryIndex default.aspx
</IfModule>
E pronto, já deve ser capaz de servir páginas ASPX sem qualquer problema.
Fontes: