Ich habe mich gestern Abend damit beschäftigt, ASP.NET-Anwendungen unter mono auf einem Ubuntu-Server auszuführen. Als Resultat ist ein kleines HowTo entstanden:
Das HowTo setzt einen installierten und konfigurierten apache-Server voraus. Mono ist ebenso Voraussetzung, dieses gehört aber im Normalfall zum Standardumfang von Ubuntu.
Wir starten damit, das benötigte Apache-Modul zu installieren:
apt-get install libapache2-mod-mono mono-apache-server2
Damit sind auch die benötigten Config-Files vorhanden. Als nächstes muss das mod_mono-Configfile im apache-Config includet werden. Dazu mit einem Editor der Wahl (ich bevorzuge nano) die Datei /etc/apache2/apache2.conf öffnen:
nano /etc/apache2/apache2.conf
Hier suchen wir uns nun ein schönes Plätzchen, um die mono-Config zu includen und fügen hinzu:
Include /etc/apache2/mods-available/mod_mono_auto.load
Include /etc/apache2/mods-available/mod_mono_auto.conf
Da wir mono 2.0 benutzen wollen, müssen wir das auch noch bekannt machen:
MonoServerPath "/usr/bin/mod-mono-server2"
Nun noch apache neu starten und dann war’s das auch schon:
/etc/init.d/apache2 restart
Jetzt noch testen, ob es auch tut. Dazu in einem der vom Webserver sichtbaren Verzeichnisse (Bei der Standardinstallation von apache unter Ubuntu ist das /var/www/) einfach die Datei “test.aspx” anlegen:
<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<title>ASP Test Page</title>
</head>
<body>
<form id="form1" runat="server">
<asp:label id="lbl1" runat="server">ASP Testseite</asp:label>
</form>
</body>
</html>
Diese über einen Browser aufrufen und wenn dann “ASP Testseite” angezeigt wird, laufen auf deinem Server ASP.NET-Anwendungen unter Mono.