
Mono framework è una libera implementazione (open source) del framework .Net di Microsoft. In questa guida vediamo come abilitare Apache ad eseguire pagine asp.net utilizzando proprio Mono framework.
La distribuzione linux che ho utilizzato è Mageia ma i pacchetti sono disponibili praticamente per tutte le maggiori distribuzioni e le modalità di configurazione sono pressochè identiche.
Installiamo i pacchetti necessari
Oltre al pacchetto apache dobbiamo installare il pacchetto xsp che il motore asp.net e mod_mono che contiene il modulo per l’interazione tra mono e apache .
Configuriamo Mod_mono
Il file di configurazione è mod_mono.conf e si trova nella cartella dei file di configurazione dei moduli di apache che generalmente è /etc/httpd/modules.d.
La prima riga che troviamo nel file è
LoadModule mono_module extramodules/mod_mono.so
che indica ad Apache di utilizzare il modulo mod_mono.so. Troviamo poi la mappatura delle estensioni
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 .vb AddType application/x-asp-net .master AddType application/x-asp-net .sitemap AddType application/x-asp-net .resources AddType application/x-asp-net .skin AddType application/x-asp-net .browser AddType application/x-asp-net .webinfo AddType application/x-asp-net .resx AddType application/x-asp-net .licx AddType application/x-asp-net .csproj AddType application/x-asp-net .vbproj AddType application/x-asp-net .config AddType application/x-asp-net .Config AddType application/x-asp-net .dll
e ancora i documenti predefiniti
DirectoryIndex index.aspx DirectoryIndex Default.aspx DirectoryIndex default.aspx
specifichiamo quale tipo di framework vogliamo utilizzare
# for ASP 2.0: MonoServerPath /usr/bin/mod-mono-server2
specifichiamo la path del file di socket che verrà utilizzato
MonoUnixSocket /var/lib/apache-mod_mono/mod_mono_server
disabilitiamo l’autoconfigurazione e impostiamo alcuni parametri per aumentare la stabilità del motore
MonoAutoApplication disabled # Auto-restart after 10,000 requests served. MonoAutoRestartMode mywebsite Requests MonoAutoRestartRequests mywebsite 10000 MonoMaxActiveRequests mywebsite 30 MonoMaxWaitingRequests mywebsite 30
abilitiamo l’accesso al pannello di controllo di mod_mono solo in locale
<Location /mono-ctrl> SetHandler mono-ctrl Order deny,allow Deny from all Allow from 127.0.0.1 ErrorDocument 403 "Access denied per /etc/httpd/modules.d/91_mod_mono.conf" </Location>
infine aggiungiamo il riferimento alla nostra web application
Alias /mywebsite /path/of/mywebsite AddMonoApplications mywebsite "/mywebsite:/path/of/mywebsite" MonoSetEnv mywebsite MONO_IOMAP=all <Location /mywebsite> MonoSetServerAlias mywebsite SetHandler mono Order allow,deny Allow from all </Location>
Siamo pronti ad eseguire la nostra prima webapp asp.net copiando l’applicazione nella cartella principale della nostra web application.
link utili: http://www.mono-project.com/Mod_mono
Leave a Reply
Devi essere connesso per inviare un commento.