Download - Héberger un serveur asp.net
-
8/14/2019 Hberger un serveur asp.net
1/13
Hberger un serveur asp.net
sous Linux avec Apache
parLain Vincent (autres articles)
Date de publication : 15/08/2008
Dernire mise jour : 15/08/2008
A travers cet article je vous ferai dcouvrir comment installer et configurer mod_mono, le
module d'Apache pour ajouter le support d'asp.net Apache
http://vincentlaine.developpez.com/http://www.developpez.net/forums/profile.php?mode=viewprofile&u=42863http://www.developpez.com/ -
8/14/2019 Hberger un serveur asp.net
2/13
Hberger un serveur asp.net sous Linux avec Apache parLain Vincent (autres articles)
- 2 -Copyright 15/08/2008 - Vincent Lain. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu :textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300000 E de dommages et intrts.
http://vincentlaine.developpez.com/tuto/dotnet/mod-mono/
I - Introduction..............................................................................................................................................................3
I-A - Le module d'ASP.NET de la fondation apache............................................................................................. 3
I-B - Le module mod_mono du projet Mono......................................................................................................... 3
II - Installation de mod_mono sous Linux................................................................................................................... 4
II-A - Installation partir du svn............................................................................................................................ 4
II-B - Installation partir de la version binaire de Mono....................................................................................... 4
III - Configuration d'apache pour ajouter le support d'ASP.NET.................................................................................7III-A - Chargement du module et ajout de la gestion des pages ASP.net.............................................................7
III-B - Ajout de la configuration des webapps .NET.............................................................................................. 7
IV - AutoConfiguration................................................................................................................................................. 9
V - Dmonstration d'applications fonctionnant sous mod_mono.............................................................................. 10
IV-A - Blog Engine .NET...................................................................................................................................... 10
VI - Conclusion.......................................................................................................................................................... 12
VII - Liens...................................................................................................................................................................13
http://vincentlaine.developpez.com/tuto/dotnet/mod-mono/http://vincentlaine.developpez.com/tuto/dotnet/mod-mono/http://vincentlaine.developpez.com/tuto/dotnet/mod-mono/http://vincentlaine.developpez.com/http://www.developpez.net/forums/profile.php?mode=viewprofile&u=42863http://www.developpez.com/ -
8/14/2019 Hberger un serveur asp.net
3/13
Hberger un serveur asp.net sous Linux avec Apache parLain Vincent (autres articles)
- 3 -Copyright 15/08/2008 - Vincent Lain. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu :textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300000 E de dommages et intrts.
http://vincentlaine.developpez.com/tuto/dotnet/mod-mono/
I - Introduction
La technologie ASP.NET est une technologie bien connue des dveloppeurs .NET, mais malheureusement
actuellement il n'y a que IIS (Internet Information Server) qui puisse dployer de telles applications web. Le serveur
vedette du monde libre, et des serveurs webs en gnral, de la fondation Apache peut au moyen de modules tre
tendu. Le support d'ASP.NET est disponible sous forme de deux modules pour apache.
I-A - Le module d'ASP.NET de la fondation apache
Ce module disponible uniquement pour la version Windows d'Apache, permet d'utiliser le Framework .NET de
Microsoft afin d'interprter et d'afficher les pages asp.net directement avec Apache mais sous Windows.
I-B - Le module mod_mono du projet Mono
Ce module t cr par le projet Mono afin d'utiliser les pages ASP.NET sous apache install sur Linux. Il utilise
un excutable dotnet afin de faire naviguer la requte dans un pipeline ASP.net. Cet excutable ( mod-mono-server )
permet d'accder la totalit du Framework .NET implment par Mono.
http://vincentlaine.developpez.com/tuto/dotnet/mod-mono/http://vincentlaine.developpez.com/tuto/dotnet/mod-mono/http://vincentlaine.developpez.com/http://www.developpez.net/forums/profile.php?mode=viewprofile&u=42863http://www.developpez.com/ -
8/14/2019 Hberger un serveur asp.net
4/13
Hberger un serveur asp.net sous Linux avec Apache parLain Vincent (autres articles)
- 4 -Copyright 15/08/2008 - Vincent Lain. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu :textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300000 E de dommages et intrts.
http://vincentlaine.developpez.com/tuto/dotnet/mod-mono/
II - Installation de mod_mono sous Linux
Cet article s'appui sur la version svn de Mono mais est valable avec n'importe quelle version de Mono depuis la
version 2.0.1
II-A - Installation partir du svn
Afin de le rcuprer il vous faut le client svn et utiliser ces commandes :
#> svn co svn://svn.myrealbox.com/source/trunk/mono#> cd ./mono
#> svn co svn://svn.myrealbox.com/source/trunk/mcs
#> cd ..
#> svn co svn://svn.myrealbox.com/source/trunk/xsp
#> svn co svn://svn.myrealbox.com/source/trunk/mod_mono
Il faut maintenant compiler Mono :
#> cd ./mono
#> ./autogen.sh -prefix=/usr/local/
#>make
#> su -c make install
Puis compiler mod_mono
#> cd ./../mod_mono#> ./autogen.sh -prefix= /usr/local/
#> make
#> su -c make install
II-B - Installation partir de la version binaire de Mono
Pour cela il vous suffit de tlcharger l'installeur binaire et de l'excuter en root :
http://vincentlaine.developpez.com/tuto/dotnet/mod-mono/http://vincentlaine.developpez.com/tuto/dotnet/mod-mono/http://vincentlaine.developpez.com/tuto/dotnet/mod-mono/http://vincentlaine.developpez.com/http://www.developpez.net/forums/profile.php?mode=viewprofile&u=42863http://www.developpez.com/ -
8/14/2019 Hberger un serveur asp.net
5/13
Hberger un serveur asp.net sous Linux avec Apache parLain Vincent (autres articles)
- 5 -Copyright 15/08/2008 - Vincent Lain. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu :textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300000 E de dommages et intrts.
http://vincentlaine.developpez.com/tuto/dotnet/mod-mono/
Lancement de l'installeur binaire sous X avec Gtk
http://vincentlaine.developpez.com/tuto/dotnet/mod-mono/http://vincentlaine.developpez.com/tuto/dotnet/mod-mono/http://vincentlaine.developpez.com/http://www.developpez.net/forums/profile.php?mode=viewprofile&u=42863http://www.developpez.com/ -
8/14/2019 Hberger un serveur asp.net
6/13
Hberger un serveur asp.net sous Linux avec Apache parLain Vincent (autres articles)
- 6 -Copyright 15/08/2008 - Vincent Lain. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu :textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300000 E de dommages et intrts.
http://vincentlaine.developpez.com/tuto/dotnet/mod-mono/
Choix de l'emplacement de l'installation de Mono
http://vincentlaine.developpez.com/tuto/dotnet/mod-mono/http://vincentlaine.developpez.com/tuto/dotnet/mod-mono/http://vincentlaine.developpez.com/http://www.developpez.net/forums/profile.php?mode=viewprofile&u=42863http://www.developpez.com/ -
8/14/2019 Hberger un serveur asp.net
7/13
Hberger un serveur asp.net sous Linux avec Apache parLain Vincent (autres articles)
- 7 -Copyright 15/08/2008 - Vincent Lain. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu :textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300000 E de dommages et intrts.
http://vincentlaine.developpez.com/tuto/dotnet/mod-mono/
III - Configuration d'apache pour ajouter le support d'ASP.NET
III-A - Chargement du module et ajout de la gestion des pages ASP.net
Nous allons maintenant ajouter le chargement du module mod_mono dans la configuration d'Apache
LoadModule mono_module /usr/lib/apache2/modules/mod_mono.so
AddType application/x-asp-net .aspxAddType application/x-asp-net .asmx
AddType application/x-asp-net .ashx
AddType application/x-asp-net .asax
AddType application/x-asp-net .ascxAddType 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 .configAddType application/x-asp-net .Config
AddType application/x-asp-net .dll
DirectoryIndex index.aspx
DirectoryIndex Default.aspxDirectoryIndex default.aspx
La premire ligne permet d'viter les doubles inclusions et les problmes qui peuvent y tre attachs.
La deuxime ligne demande le chargement du module apache mod_mono. Ce module est un module natif, compiler
pour apache 2.
Les autres lignes permettent de mapper les extensions des fichiers aux actions effectuer. Les trois dernires lignes
permettent de dfinir les fichiers appells par dfaut.
Cette partie de la configuration d'apache est standard par rapport aux autres modulesd'apache. Ces directives sont donc bien connues des administrateurs d'apache. De plus
vous trouverez plus d'explications sur ces lignes dans la documentation d'apache
III-B - Ajout de la configuration des webapps .NET
Quand l'on programme en ASP.NET, nous parlons d'application web. Ce sont ces "applications" que nous dployons
sur IIS.
Sous Apache cette notion est inconnue. Mais le module mod_mono la rajoute grce des directives de configuration
que nous allons maintenant dcortiquer.
Pour dfinir une "application web" dans Mono il vous faut utiliser la directive AddMonoApplications au niveau de
la directive VirtualHost :
AddMonoApplications default "/mono:/var/www/mono"
Cette directive s'utilise comme cela : AddMonoApplications nom De l'Application "/url:path".
De plus vous devez ajouter la directive Location afin d'ajouter le gestionnaire pour cette url.
MonoSetServerAlias default
SetHandler mono
Cette directive permet de dfinir les options d'apache pour l'url/mono.
http://vincentlaine.developpez.com/tuto/dotnet/mod-mono/http://vincentlaine.developpez.com/tuto/dotnet/mod-mono/http://vincentlaine.developpez.com/tuto/dotnet/mod-mono/http://httpd.apache.org/docs/2.0/http://vincentlaine.developpez.com/tuto/dotnet/mod-mono/http://vincentlaine.developpez.com/http://www.developpez.net/forums/profile.php?mode=viewprofile&u=42863http://www.developpez.com/ -
8/14/2019 Hberger un serveur asp.net
8/13
Hberger un serveur asp.net sous Linux avec Apache parLain Vincent (autres articles)
- 8 -Copyright 15/08/2008 - Vincent Lain. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu :textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300000 E de dommages et intrts.
http://vincentlaine.developpez.com/tuto/dotnet/mod-mono/
MonoSetServerAlias defaultpermet de dfinir le nom de l'application dans le serveur mono tant dit que SetHandler
mono permet d'informer le serveur apache que c'est Mono qui doit s'occuper de traiter la demande.
A ce stade vous avez une application asp.net 1.1 totalement fonctionnelle et apache doit vous la restituer sans
problme.
Il reste une petite manipulation afin d'ajouter le support d'asp.net 2.0 apache :
MonoServerPath default /usr/bin/mod-mono-server2
Cette directive s'utilise de cette manire : MonoServerPath nom De l'ApplicationPath de mod-mono-server2.exe.
Cela permet de spcifier par application le pipeline utilis pour faire le rendering des requtes. Vous pouvez donc
tout fait mlanger des applications ASP.NET 1.1 et 2.0 sur le mme serveur.
http://vincentlaine.developpez.com/tuto/dotnet/mod-mono/http://vincentlaine.developpez.com/tuto/dotnet/mod-mono/http://vincentlaine.developpez.com/tuto/dotnet/mod-mono/http://vincentlaine.developpez.com/tuto/dotnet/mod-mono/http://vincentlaine.developpez.com/http://www.developpez.net/forums/profile.php?mode=viewprofile&u=42863http://www.developpez.com/ -
8/14/2019 Hberger un serveur asp.net
9/13
Hberger un serveur asp.net sous Linux avec Apache parLain Vincent (autres articles)
- 9 -Copyright 15/08/2008 - Vincent Lain. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu :textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300000 E de dommages et intrts.
http://vincentlaine.developpez.com/tuto/dotnet/mod-mono/
IV - AutoConfiguration
Avec les versions rcentes de Mono, une nouvelle faon de dployer ses applications ASP.NET est apparue.
L'autoconfiguration est un module de Mono qui permet de configurer automatiquement une application ASP.NET
pour qu'elle fonctionne avec Apache.
Tout ce que vous avez faire est d'inclure le fichier mod_mono.conf dans Apache et de vous assurer que ce fichiermod_mono.conf contient la ligne MonoAutoApplication enabled
A partir du moment o ces deux conditions sont remplies vos applications ASP.NET 1.1 fonctionneront avec Apache.
Pour ajouter le support d'ASP.NET 2.0 il vous suffit de modifier dans mod_mono.conf la ligne MonoServerPath "/usr/
bin/mod-mono-server"en MonoServerPath "/usr/bin/mod-mono-server2".
http://vincentlaine.developpez.com/tuto/dotnet/mod-mono/http://vincentlaine.developpez.com/tuto/dotnet/mod-mono/http://vincentlaine.developpez.com/http://www.developpez.net/forums/profile.php?mode=viewprofile&u=42863http://www.developpez.com/ -
8/14/2019 Hberger un serveur asp.net
10/13
Hberger un serveur asp.net sous Linux avec Apache parLain Vincent (autres articles)
- 10 -Copyright 15/08/2008 - Vincent Lain. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu :textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300000 E de dommages et intrts.
http://vincentlaine.developpez.com/tuto/dotnet/mod-mono/
V - Dmonstration d'applications fonctionnant sous mod_mono
IV-A - Blog Engine .NET
Blog Engine .NET est une plate-forme de blog crite en ASP.NET 2.0 avec C#.
La version actuelle (1.4.5) ne ncessite aucune modification du code. L'installation est trs simple.
Pour commencer nous allons ajouter la directive de gestion des pages aspx avec mono 2.0 dans le virtual host par
dfaut.
MonoServerPath /usr/bin/mod-mono-server2
Et ... C'est tout ! L'application fonctionne directement sans autre modification.
BlogEngine fonctionne directement avec Mono
http://vincentlaine.developpez.com/tuto/dotnet/mod-mono/http://vincentlaine.developpez.com/tuto/dotnet/mod-mono/http://vincentlaine.developpez.com/http://www.developpez.net/forums/profile.php?mode=viewprofile&u=42863http://www.developpez.com/ -
8/14/2019 Hberger un serveur asp.net
11/13
Hberger un serveur asp.net sous Linux avec Apache parLain Vincent (autres articles)
- 11 -Copyright 15/08/2008 - Vincent Lain. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu :textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300000 E de dommages et intrts.
http://vincentlaine.developpez.com/tuto/dotnet/mod-mono/
Le panneau de contrle
http://vincentlaine.developpez.com/tuto/dotnet/mod-mono/http://vincentlaine.developpez.com/tuto/dotnet/mod-mono/http://vincentlaine.developpez.com/http://www.developpez.net/forums/profile.php?mode=viewprofile&u=42863http://www.developpez.com/ -
8/14/2019 Hberger un serveur asp.net
12/13
Hberger un serveur asp.net sous Linux avec Apache parLain Vincent (autres articles)
- 12 -Copyright 15/08/2008 - Vincent Lain. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu :textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300000 E de dommages et intrts.
http://vincentlaine.developpez.com/tuto/dotnet/mod-mono/
VI - Conclusion
La conclusion de cette introduction est assez simple : Dployer des applications ASP.NET sous Apache/Mono est
simple et rapide. Les administrateurs linux/Apache n'auront aucun mal comprendre les lments de configuration
du module puisqu''il utilise les directives classique d'apache tandis que les dveloppeurs ASP.NET n'auront pas se
poser de question sur la faon dont va tre dployer leur application.
http://vincentlaine.developpez.com/tuto/dotnet/mod-mono/http://vincentlaine.developpez.com/tuto/dotnet/mod-mono/http://vincentlaine.developpez.com/http://www.developpez.net/forums/profile.php?mode=viewprofile&u=42863http://www.developpez.com/ -
8/14/2019 Hberger un serveur asp.net
13/13
Hberger un serveur asp.net sous Linux avec Apache parLain Vincent (autres articles)
- 13 -Copyright 15/08/2008 - Vincent Lain. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu :textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300
VII - Liens
Pour ceux qui veulent se plonger plus en dtail dans le dveloppement ASP.NET sous linux et dans le dploiements
voici quelques liens utiles :
La page de MonoDevelop consacr au dveloppement ASP.NET
La page ASP.NET du projet Mono vous y retrouverez toutes les mthodes de hosting ASP.NET avec Mono, y
compris les deux qui ne sont pas prsent ici.
La page consacre mod_mono sur mono-project
La documentation du module autoconfiguration
http://vincentlaine.developpez.com/tuto/dotnet/mod-mono/http://www.mono-project.com/AutoHostinghttp://www.mono-project.com/Mod_monohttp://www.mono-project.com/ASP.NEThttp://monodevelop.com/Creating_ASP.NET_Projectshttp://vincentlaine.developpez.com/http://www.developpez.net/forums/profile.php?mode=viewprofile&u=42863http://www.developpez.com/