(c) Piumadaquila, Fotolia.com
Mod_mono ermöglicht ASP.Net-Anwendungen auf Apache 2
Zu Gast beim Apachen
von Juliet Kemp
03.04.2009
Mit Hilfe des Moduls Mod_mono wird Apache 2 zum Gastgeber für ASP.Net-Anwendungen.
Was tun, wenn die Firma vor dem Umstieg auf Linux in eine komplexe und kostspielige ASP.NET-Webanwendung investiert hat? Der gestandene Linuxer wird ungern den Apache-Webserver auf seinem Lieblingsbetriebssystem aufgeben, nur um ASP.Net-Seiten laufen zu lassen.
Mit der Linux-Unterstützung für Microsofts Dotnet-Technologie beschäftigt sich das Mono-Projekt. Teil des Unterfangens ist auch ASP.Net, für das Mono das Apache-Modul Mod_Mono anbietet. Dieser Artikel liefert eine Anleitung, wie man Apache 2 für das Ausliefern von ASP.Net-Seiten präpariert.
Installation
Mod_Mono lässt sich am einfachsten aus vorhandenen Paketen der verwendeten Linux-Distribution installieren. Unter Debian und Ubuntu heißt das gesuchte Softwarepaket "libapache2-mod-mono", Fedora benötigt "mod_mono" und "mono-web". Daneben benötigt man XSP, den in C# geschriebenen Webserver aus dem Mono-Projekt, der in Ubuntu und anderen Debian-Derivaten automatisch als Abhängigkeit installiert wird. Daneben lässt sich Mod_mono auch aus dem Quellcode bauen, der auf der den Mono-Download-Seiten erhältlich ist.
Damit Mod_mono aktiv wird, ist ein Eintrag in der Datei "apache2.conf" nötig:
# Die Pfade können je nach Distribution unterschiedlich sein.
LoadModule mono_module /usr/lib/apache2/modules/mod_mono.so
<IfModule mod_mono.c>
MonoUnixSocket /tmp/.mod_mono_server
MonoServerPath /usr/lib/mono/1.0/mod-mono-server.exe
MonoAutoApplication enabled
AddType application/x-asp-net .aspx .ashx .asmx .ascx .asax .config
DirectoryIndex index.aspx default.aspx
MonoApplicationsConfigDir /etc/mono-server
MonoPath /usr/lib/mono/1.0:/usr/lib:/usr/lib/mono/1.0
</IfModule>
Unter Ubuntu und Debian nehmen die Installationsskripten normalerweise bereits diese Konfiguration vor. Sollte das nicht geschehen sein, holt das Kommando "sudo a2enmod mod_mono" es nach. Nach Veränderungen an der Konfigurationsdatei ist der Aufruf "/etc/init.d/apache2 force-reload" erforderlich, damit sie wirksam werden.
Die oben wiedergegebene Konfiguration weist Apache 2 zunächst an, das Modul zu laden und einen Socket dafür zu öffnen. Daneben gibt sie den Pfad zur ausführbaren Server-Datei an. Die Zeile "MonoAutoApplication" macht manuelle Einträge für einzelne Webanwendungen überflüssig. Die Anweisung "AddType" teilt Apache den richtigen Applikationstyp für Dateien mit den angegebenen Namenserweiterungen mit.
"DirectoryIndex" bewirkt, dass der Webserver Dateien mit den aufgelisteten Namen als Inhaltsverzeichnisse verwendet. Besucht man also beispielsweise den URL "http://localhost/test/", und befindet sich im Verzeichnis "test/" eine Datei namens "default.aspx", bekommt man deren Inhalt präsentiert.
Mit diesen Einstellungen startet Mod_Mono automatisch "mod_mono_server.exe" und führt bei einer Anfrage die ASP.NET-Anwendung aus.
Es funktioniert
Apache 2 kann nun mit ASP.Net-Seiten umgehen. Das lasst sich testen, indem man eine Beispielapplikation in das Web-Root-Verzeichnis packt -- am einfachsten geht das, wenn man das Paket "asp.net-examples" installiert (Abbildung 1).
Wer die Installation aus den Quellen gewählt hat, kopiert das XSP-Testverzeichnis "/lib/xsp/test" in das Webserver-Verzeichnis und achtet dabei auf die Zugriffsberechtigungen: Der Benutzer, unter dem Apache läuft, muss das Verzeichnis und die enthaltenen Dateien lesen können.

|
Abbildung 1: Laufen die ASP.Net-Beispielanwendungen, ist Mod_mono richtig konfiguriert.
|
| Whitepaper |
|
The Role of Open Source in Data Integration
Obwohl in den letzten Jahren viele technische Fortschritte erzielt werden konnten, verfügen die meisten Datenintegrationsprozesse nach wie vor nur über eine sehr begrenzte Automatisierung. Das vorliegende White Paper von dem Industry Analyst Mark Madson wird zunächst ein grundlegendes Verständnis von Daten Integration vermitteln, die Vorzüge von Open Source Lösungen für Daten Integration erläutern und Ihnen professionelle Empfehlungen geben, damit Sie Ihre Integrationsjobs noch einfacher und produktiver gestalten können.
Download PDF (Registrierung erforderlich)
|
|
Open Source Datenintegration in der Praxis: Fallstudien und Anwendungsbeispiele (Folge 2)
Der zweite Teil des Open Source Datenintegration in der Praxis: Fallstudien und Anwendungsbeispiele White Papers beleuchtet anhand weiterer ausgewählter Case Studies die Implementierung von Open Source Datenintegration in der Praxis und benennt die daraus resultierenden Vorteile.
Download PDF (Registrierung erforderlich)
|
Dieser Online-Artikel kann Links enthalten, die auf nicht mehr vorhandene Seiten verweisen. Wir ändern solche "broken links"
nur in wenigen Ausnahmefällen. Der Online-Artikel soll möglichst unverändert der gedrucken Fassung entsprechen.
|
Ghannami,
25.05.2009 16:51
tester,
04.05.2009 13:01