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: