Você está na página 1de 9

Apache 2 + Mono 2.0 + XSP 2.0 + Mod_mono 2.

0 mini HOW-TO
Neste howto voc aprender como deixar seu Linux rodando ASP.NET. A distribuio utilizada durante a elaborao deste mini How-to foi a Kubuntu 8.04 (Hardy). Abra um terminal e ative root na sua conta: $ sudo su Atualize o cache do apt: # apt-get update && apt-get dist-upgrade

Instalando o Apache 2
Baixe o Apache 2 pelo apt: # apt-get install apache2 apache2-mpm-prefork apache2-threaded-dev O apt vai baixar as dependncias necessrias. Mesmo que voc j tenha o Apache instalado, baixe os pacotes apache2-mpm-prefork e apache2-threaded-dev. Assim que o apt instalar o Apache, voc pode test-lo em: http://localhost/

Instalando o Mono
Antes de baixar e compilar o mono, devemos instalar as ferramentas necessrias: # apt-get install libglib2.0-0 libglib2.0-dev pkg-config bison make Baixe os fontes do mono, xsp e mod_mono em go-mono. Observe que a verso mais atual do mono, xsp e mod_mono no momento da criao deste documento era a 2.0. Certifique-se de baixar a verso mais recente. # cd # wget http://go-mono.com/sources/mono/mono-2.0.tar.bz2 # wget http://go-mono.com/sources/xsp/xsp-2.0.tar.bz2 # wget http://go-mono.com/sources/mod_mono/mod_mono-2.0.tar.bz2 Caso voc no consiga baixar usando o wget, ter que baixar manualmente pelo FTP da Novell: # ftp ftp.novell.com (acesse como anonymous, entre com um email fictcio, cd /pub/sources/xyz, onde xyz pode ser: mono, xsp ou mod_mono)

E baixe os arquivos acima: mono-2.0.tar.bz2, xsp-2.0.tar.bz, mod_mono-2.0.tar.bz2. Descompacte o mono: # tar jxvf mono-2.0.tar.bz2 Compile o mono: # cd mono-2.0 # ./configure --prefix=/usr # make # make install

Instalando o XSP
Vamos fazer a mesma coisa que fizemos com o Mono com o XSP e o mod_mono. Esses dois ltimos no vo demorar tanto tempo compilando assim como o Mono demorou. Execute os comandos abaixo: # cd # tar jxvf xsp-2.0.tar.bz2 # cd xsp-2.0 # ./configure --prefix=/usr # make # make install

Instalando o Mod_mono
E finalmente execute os comandos abaixo: # cd # tar jxvf mod_mono-2.0.tar.bz2 # cd mod_mono-2.0 # ./configure --prefix=/usr # make # make install Estamos quase l. J instalamos o Apache2, o Mono, o XSP e o mod_mono. Agora s falta configurar o Apache para executar aplicaes ASP.NET.

Configurando o Apache para executar aplicaes ASP.NET


Edite o arquivo /etc/apache2/apache2.conf e adicione a seguinte linha no final do arquivo: Include mod_mono.conf Agora edite o arquivo /etc/apache2/mod_mono.conf e adicione as linhas abaixo no final do arquivo:

Alias /test "/usr/lib/xsp/test" AddMonoApplications default "/test:/usr/lib/xsp/test" <Location /test> SetHandler mono </Location> Salve e saia. Depois reinicie o Apache: # /etc/init.d/apache2 force-reload Agora podemos testar em: http://localhost/test Funciona! Este documento foi traduzido de: HOWTO: apache2 w/ mono, xsp & mod_mono

Baixando os fontes do ftp da Novell


1. Baixar todos os fontes do servidor ftp da Novell: $ wget -r [Somente usurios registrados podem ver os Links. Clique aqui para se REGISTRAR] 2. Compilar e instalar primeiro a biblioteca bsica Libgdiplus (uma implementao open source da API GDI+): $ cd /home/download/mono/ftp.novell.com/pub/mono/sources/ $ tar -xvjf libgdiplus-2.2.tar.bz2 $ cd libgdiplus-2.2 Antes de compilar deve-se instalar as bibliotecas que esta biblioteca exige para ser compilada: $ sudo aptitude install libcairo-dev libcairo-directfb2-dev libcairo2-dev libcairomm-1.0-dev libpango1.0-dev libpangomm-1.4-dev libfreetype6-dev libexif-dev libexif12 libexif-gtk-dev ggcov binutils-dev libpng12-dev libfontconfig1-dev libpoppler-dev libpoppler-glib-dev libxft2dev Depois de instalar estas bibliotecas, executar o famoso trio de comandos da seguinte forma: $ ./configure --prefix=/usr/local $ make $ sudo make install

Compilando e instalando o Mono-2.2


V para o diretrio do mono e digite: $ tar -xvjf mono-2.2.tar.bz2 V para o diretrio dos fontes: $ cd mono-2.2 Instale os pacotes requeridos para a compilao: $ sudo aptitude install pkg-config libglib2.0-0 libglib2.0-dev libglibmm-2.4-dev libglib2.0-cil libglib2.0-data zlib1g-dev libgc-dev libpcap0.8-dev libtrace3-dev valgrind oprofile Depois de tudo instalado execute novamente o trio de compilao: $ ./configure --prefix=/usr/local $ make

$ sudo make install

Compilando e instalando o Mono-Basic


Mono-Basic (Compilador e Runtime Visual Basic). Extraia o pacote do mono-basic e v para o diretrio dos fontes: $ tar -xvjf mono-basic2.2.tar.bz2 $ cd mono-basic-2.2 No necessrio nenhum pacote adicional para compil-lo, ento execute a compilao: $ ./configure --prefix=/usr/local $ make $ sudo make install

Compilando e instalando o Gluezilla

Gluezilla - biblioteca para embutir o engine Gecko -xulrunner - da Mozilla para o Mono Winforms WebControl. Siga os mesmos procedimentos anteriores, extraia o pacote e navegue para dentro dele. $ tar -xvjf gluezilla-2.2.tar.bz2 $ cd gluezilla-2.2/ Instale os pacotes bsicos necessrios: $ sudo aptitude install libmono-mozilla0.2-cil xulrunner-1.9 xulrunner-1.9-dev mozilla-nssdevel libnspr4-dev libnspr4-0d-dbg libnspr4-0d Execute o trio de compilao: $ ./configure --prefix=/usr/local $ make $ sudo make install

Compilando e instalando o XSP Server


Nada de novidade, siga os mesmos passos anteriores: $ tar -xvjf xsp-2.2.tar.bz2 $ cd xsp-2.2/ Instale os seguintes pacotes:

XSP Server - Pequeno servidor web que serve de host para as classes System.Web do Mono, para rodar ASP.NET.

$ sudo aptitude install apache2 apache2-mpm-prefork apache2-prefork-dev Execute o procedimento de compilao e instalao: $ ./configure --prefix=/usr/local $ make $ sudo make install

Compilando e instalando Mod-mono


Siga como de costume: $ tar -xvjf mod_mono-2.2.tar.bz2 Configurando o Apache: $ cd mod_mono-2.2

Mod-mono - Mdulo do Apache para prover funcionalidades ASP.NET.

Os pacotes bsicos requeridos j foram instalados anteriormente, ento prossiga normalmente com a compilao: $ ./configure --prefix=/usr/local $ make $ sudo make install Terminado a instalao, veja se existe um arquivo chamado "mod_mon.conf" no diretrio raiz do apache2, caso exista, copie-o para o diretrio de mdulos ativos: $ sudo cp /etc/apache2/mod_mono.conf /etc/apache2/mods-enabled/ Configure o Apache para exibir uma pgina de testes em ASP.NET. Crie o seguinte arquivo: $ sudo vi /etc/apache2/conf.d/xsp-test Pode ser qualquer outro nome de sua preferncia. Neste arquivo coloque o seguinte contedo: Cdigo: Alias /demo "/usr/local/lib/xsp/test/" MonoApplications "/demo:/usr/local/lib/xsp/test/" <Directory /usr/local/lib/xsp/test/> SetHandler mono <IfModule mod_dir.c> DirectoryIndex index.aspx </IfModule> </Directory> Salve, feche o arquivo e reinicie o Apache. Acesse no seu browser o seguinte endereo: [Somente usurios registrados podem ver os Links. Clique aqui para se REGISTRAR] Se exibir uma pgina feita em ASP.NET dando bem vindo ao Mono XSP, est instalado e funcionando. Caso no aparea, reveja a compilao e instalao. Caso queira complementar a sua instalao, o Mono fornece um painel de controle que permite reiniciar o mod-mono-server, caso alguma aplicao seja atualizada no disco. Para ativar o painel de controle proceda da seguinte forma. Crie um outro arquivo: $ sudo vi /etc/apache2/conf.d/mono Adicione o seguinte contedo neste arquivo: Cdigo: <Location /mono> SetHandler mono-ctrl Order deny,allow Deny from all Allow from 127.0.0.1 </Location>

Compilando e instalando Heap Buddy

Reinicie o Apache, abra o seu navegador no seguinte endereo: [Somente usurios registrados podem ver os Links. Clique aqui para se REGISTRAR] Se exibir uma pgina contendo "mod_mono Control Panel" a instalao est perfeita. Heap-buddy um heap Profiler para mono. Ele atribui a ganchos especiais na mono runtime e trilhas de todas as alocaes gerenciveis da memria, limpa todo o lixo e redimensiona cada pilha. Siga como de costume: $ tar xvzf heap-buddy-0.2.tar.gz $ cd heap-buddy-0.2 Prossiga normalmente com a compilao: $ ./configure --prefix=/usr/local $ make $ sudo make install

Compilando e instalando o Nant


Extraia o pacote e v para o diretrio dos fontes: $ tar xvzf nant-0.86-beta1-src.tar.gz $ cd nant-0.86-beta1 Proceda a instalao da seguinte forma: $ sudo make install prefix=/usr/local Ao final da instalao ser exibido algo como: BUILD SUCCEEDED Total time: 2.1 seconds.

Nant - um utilitrio construtor baseado em .NET similar ao Apache Ant, que um construtor para Java.

install-linux: [echo] Installing NAnt to '/usr/local/share/NAnt' ... [copy] Copying 73 files to '/usr/local/share/NAnt'. [echo] Installing NAnt wrapper script to '/usr/local/bin' ... install: BUILD SUCCEEDED

Compilando e instalando o Mono Debugger


Mono Debugger - Debugador para o Mono. Siga os procedimentos corriqueiros de compilao e instalao: $ $ $ $ $ tar xvjf mono-debugger-2.2.tar.bz2 cd mono-debugger-2.2 ./configure --prefix=/usr/local make sudo make install

Compilando e instalando o Webkit-Sharp


Antes de compilar, instale a seguinte dependncia: $ sudo aptitude install libwebkit-dev Descompactando, compilando e instalando: $ tar -xvjf webkit-sharp-0.2.tar.bz2 $ cd webkit-sharp-0.2

$ ./configure --prefix=/usr/local $ make $ sudo make install

Compilando e instalando o Mono Tools


Instale algumas bibliotecas para incrementar:

Coleo de utilitrios para desenvolvimento e testes de programas para usar com o Mono.

$ sudo aptitude install libgtkhtml-editor-dev libgtkhtml2-dev libgtkhtml3.14-dev libgtkhtml3.8-dev libgtkhtml3.16-cil libwebkit-dev libwebkit1.0-cil libgecko2.0-cil Descompacte, configure e instale: $ $ $ $ $ tar xvjf mono-tools-2.2.tar.bz2 cd mono-tools-2.2/ ./configure --prefix=/usr/local make sudo make install

Compilando e instalando o Mono Addins


Descompacte, configure e instale: $ unzip mono-addins-0.4.zip $ cd mono-addins-0.4/ Execute o configure para habilitar o suporte ao GUI (--enable-gui): $ ./configure --prefix=/usr/local --enable-gui E depois instale normalmente: $ sudo make $ sudo make install

um framework genrico para criao de aplicaes extensveis e para criao de bibliotecas.

Compilando e instalando o GTK# 2.12


GTK# 2.12 - Binding para o GTK+ toolkit em .NET. V para o diretrio gtk-sharp212/ e extraia o pacote: $ tar -xvjf gtk-sharp-2.12.7.tar.bz2 E v para o diretrio dos fontes: $ cd gtk-sharp-2.12.7 Instale as seguintes dependncias: $ sudo aptitude install libpango1.0-dev libpangomm-1.4-dev libatk1.0-dev libexif-gtk-dev libgtk2.0-dev libccc-0.1-dev Compile e instale: $ ./configure --prefix=/usr/local $ make $ sudo make install

Compilando e instalando o Gnome Sharp 2.20


Binding para as bibliotecas do Gnome em .NET. Extraia o pacote e v para o diretrio dos fontes: $ tar xvjf gnome-sharp-2.20.1.tar.bz2

$ cd gnome-sharp-2.20.1 Instale as seguintes dependncias: $ sudo aptitude install libgnomecanvasmm-2.6-dev libgnomecanvas2-dev libgnome2-dev libgnomemm-2.6-dev libgnomeui-dev libgnomeuimm-2.6-dev libgnomeprint2.2-dev libgnomeprintui2.2-dev libgnomeprintui2.2-dev libpanel-applet2-dev Compile e instale: $ ./configure --prefix=/usr/local $ make $ sudo make install

Compilando e instalando o GTK Source View Sharp


$ tar -xvjf gtksourceview-sharp-2.0-0.12.tar.bz2 $ cd gtksourceview-sharp-2.0-0.12 Compile e instale: $ ./configure --prefix=/usr/local $ make $ sudo make install

Compilando e instalando o Gnome Desktop Sharp


Binding das bibliotecas do Gnome Desktop em .NET. $ tar -xvjf gnome-desktop-sharp-2.20.1.tar.bz2 $ cd gnome-desktop-sharp-2.20.1/ Instale as dependncias: $ sudo aptitude install libvte-dev gtk-sharp2-gapi libwnck-dev librsvg2-dev libnautilus-burndev Compile e instale: $ ./configure --prefix=/usr/local $ make $ sudo make install

Compilando e instalando o MonoDevelop


IDE para mono e GTK#. $ tar -xvjf monodevelop-1.9.1.tar.bz2 $ cd monodevelop-1.9.1/ Com todas as compilaes feitas anteriormente, todas as dependncias j devem estar satisfeitas, caso no estejam deve ser revistos os procedimentos anteriores. Compile e instale: $ ./configure --prefix=/usr/lib/pkgconfig --prefix=/usr/local $ make $ sudo make install Caso queira ter todos os compiladores exibidos no configure, instale tambm: $ sudo sudo aptitude install fortran-compiler fortran77-compiler fortran95-compiler libgraflib1-gfortran libgrafx11-1-gfortran libherwig59-2-gfortran libisajet758-3-gfortran libkernlib1-gfortran libmathlib2-gfortran libpacklib-lesstif1-gfortran libpacklib1-gfortran libpawlib-lesstif3-gfortran ppu-gfortran spu-gfortran

<VirtualHost *:80> DocumentRoot /var/www/virtual/my.domain/

ServerName my.domain ServerAlias *.my.domain ErrorLog /var/log/httpd/my.domain_error_log CustomLog /var/log/httpd/my.domain_access_log combined HostnameLookups Off UseCanonicalName On MonoPath default "/usr/bin/mono/2.0" MonoServerPath default /usr/bin/mod-mono-server2 AddMonoApplications default "/:/var/www/virtual/my.domain" <location /> MonoSetServerAlias default SetHandler mono </location> <Directory /var/www/virtual/my.domain/> Options Indexes FollowSymLinks AllowOverride None Order allow,deny Allow from all </Directory>

</VirtualHost>

Você também pode gostar