Instalar Mono num CentOS 5.x

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:

Publicado por

Nuno Ferro

Nuno Ferro tem 38 anos, cresceu em Mafra e mais tarde mudou-se para Lisboa. Actualmente, trabalha na Sky como Reliability Manager.