<?xml version="1.0" encoding="utf-8"?>
<page>
<meta>
<title>Instalando o Xmlnuke CSharp no Ubuntu(Gutsy)/Debian/Linux</title>
<abstract>Como instalar o Xmlnuke CSharp no Ubuntu(Gutsy)/Debian/Linux.</abstract>
<created>5/2/2008 21:43:09</created>
<modified>10/2/2008 16:20:16</modified>
<keyword>xmlnuke</keyword>
<groupkeyword>key_installing</groupkeyword>
</meta>
<blockcenter>
<title>Instalando o Xmlnuke CSharp no Ubuntu(Gutsy)</title>
<body>
<p>A instalação do Xmlnuke Csharp em ambientes Linux requer que seja instalado o Mono equivalmente ao .NET 2.0. Para isso siga os seguintes passos:</p>
<p>
<code information="Instalar o Mono">
sudo aptitude install mono-gmcs mono-apache-server2 asp.net2-examples mono-xsp2
sudo aptitude install libapache2-mod-mono apache2-mpm-prefork
</code>
Obsevação importante: A compilação do apache utilizada nessa instalação foi o PreFork. Essa instalação é padrão caso você rode concorrentemente alguma outra linguagem, como por exemplo o PHP5. Se já possui o apache instalado, e não é PreFork, por favor retire-o da instalação.
</p>
<p>
Após instalar o Mono, abra o arquivo /etc/apache2/mods-available/mod_mono.conf e descomente a linha que contenha mono-server2 (referente ao ASP.NET 2.0), ficando mais ou menos assim:
<code information="Arquivo /etc/apache2/mods-available/mod_mono.conf">
AddType application/x-asp-net .aspx .ashx .asmx .ascx .asax .config .ascx
DirectoryIndex index.aspx
# Include the web application definitions generated by
# mono-server-update.conf. If you want to use XSP2, reverse the
# comments.
#Include /etc/mono-server/mono-server-hosts.conf
Include /etc/mono-server2/mono-server2-hosts.conf
</code></p>
<p>
Finalizado o processo de instalação do mono é necessário compilar o XMLNuke. Se você fez o download de uma versão pré-compilada para .NET, por favor pule esse passo.
</p>
<p>
<code information="Compilando o XMLNuke CSharp">
cd xmlnuke/xmlnuke-csharp-sources
./build.sh
</code>
</p>
<p>
Finalizado o processo de compilação/instalação do XMLNuke é necessário configurar o apache. Copie as seguintes linhas dentro da configuração do seu Virtual Host:
</p>
<p>
<code information="Configurar o Apache"><![CDATA[
Alias /xmlnuke-csharp "[YOURDIR]"
AddMonoApplications default "/xmlnuke-csharp:[YOURDIR]"
<Directory [YOURDIR]>
SetHandler mono
<IfModule mod_dir.c>
DirectoryIndex index.aspx default.aspx
</IfModule>
</Directory>
]]></code>
Lembre-se de substituir [YOURDIR] pelo diretório de instalação do seu XMLNuke. Em seguida reinicie o Apache e tudo deverá estar funcionando.
</p>
</body>
</blockcenter>
<blockcenter>
<title>Resolução de problemas</title>
<body>
<p>
<ul>
<li>Se o log de erro do apache apresentar algum erro semelhante ao descrito abaixo: <br /><br /><i>Failed running '/usr/lib/pkgconfig/../../bin/mod-mono-server --filename /tmp/mod_mono_server_default --applications /samples:/usr/share/asp.net2-demos --nonstop (null) (null) (null) (null) (null) (null) (null)'. Reason: No such file or directory</i><br /><br />Isso ocorre pois a sua instalação provavelmente não trata corretamente a seleção do mod-mono-server2 quando se utiliza o ASP.NET 2.0. Para resolver esse problema especificamente: <br /><br />
ln -s /usr/bin/mod-mono-server2 /usr/bin/mod-mono-server<br /><br /></li>
<li>Só obtive sucesso na instalação quando a configuração do apache descrita acima é definida para TODO o servidor e não para um Virtual Host. Para configurar para todo o servidor, coloquei o arquivo de configuração dentro de mod-enabled.<br /><br /></li>
<li>O Xmlnuke CSharp foi testado com as versões do mono: 1.2.4 (Ubuntu) e 1.2.1 (Debian Etch)<br /><br /></li>
<li>Foi seguido o seguinte tutorial para instalar o Mono no Apache: <a href="https://help.ubuntu.com/community/ModMono" target="_blank">https://help.ubuntu.com/community/ModMono</a>. Entretanto não está sendo utilizado o recurso do arquivo <i>.webapp</i>. No seu lugar está sendo configurado o <i>AddMonoApplication</i>. </li>
</ul>
</p>
</body>
</blockcenter>
<blockcenter>
<title>Instalando o Conector MySql para o .NET no Ubuntu.</title>
<body>
<p>
à necessário fazer o download do conector .NET MySql mais novo (com suporte ao .NET 2.0). Você pode obter em: <a href="http://dev.mysql.com/get/Downloads/Connector-Net/mysql-connector-net-5.1.4-noinstall.zip/from/pick#mirrors">http://dev.mysql.com/get/Downloads/Connector-Net/mysql-connector-net-5.1.4-noinstall.zip/from/pick#mirrors</a>. (Lembre-se de selecionar apenas a versão "Windows and Binaries (without installer). Após ter feito o download, acesse o diretório do arquivo .ZIP e execute os seguintes comandos:</p>
<p>
<code information="Instalar o conector .NET do MySql">
mkdir mysqlconnector
cd mysqlconnector
unzip ../mysql-connector-net-5.1.4-noinstall.zip
cd bin
sudo gacutil -i MySql.Data.dll
cd /usr/lib/mono/2.0/
sudo ln -s ../gac/MySql.Data/5.1.4.0__c5687fc88969c44d/MySql.Data.dll
</code>
Reinicie o apache.
</p>
</body>
</blockcenter>
</page>