Aller au contenu | Aller au menu | Aller à la recherche

Installer MONO avec apache2 sous Debian Lenny

Je viens de commencer à developper à l'aide de mon nouveaux TECRA A10 13F, je ne manquerais pas de vous faire part de mes impressions sur cette machine dans un autre billet, mais là le sujet est tout autre je me suis installé MONO sur une debian lenny sous VMWARE. Impressionnant ! :)

On commence par les paquets:

/etc/init.d/apache2 stop;apt-get install mono-apache-server2 libapache2-mod-mono

On va désactiver le mode par défaut:

a2dismod mod_mono

Puis on va activer le mode automatique

a2enmod mod_mono_auto

Apparemment mod_mono s'appuie sur un serveur MONO à part. Chose peut compréhensible il souhaite un serveur sous mod-mono-server alors qu'on a installé mod-mono-server2, corrigeons cela:

cd /usr/bin/;ln -s mod-mono-server2 mod-mono-server

Un petit redémarrage d'apache:

/etc/init.d/apache2 restart

puis RDV dans le répertoire racine par défaut d'apache:

cd /var/www;mkdir monotest;cd monotest

éditer une page Service1.asmx placer le code suivant dedans

<%@ WebService Language="C#" CodeBehind="Service1.asmx.cs" Class="WStest.Service1" %>
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Web;
using System.Web.Services;
using System.Web.Services.Protocols;

namespace WStest
{
    /// <summary>
    /// Description réméde Service1
    /// </summary>
    [WebService(Namespace = "http://tempuri.org/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    [ToolboxItem(false)]
    // Pour autoriser l'appel de ce service Web depuis un script à'aide d'ASP.NET AJAX, supprimez les marques de commentaire de la ligne suivante.
    // [System.Web.Script.Services.ScriptService]
    public class Service1 : System.Web.Services.WebService
    {

        [WebMethod]
        public string HelloWorld()
        {
            return "Hello World";
        }
    }
}

Et voici le web.config à placer à coté

<?xml version="1.0"?>
<configuration>
        <appSettings/>
        <connectionStrings/>
        <system.web>
                <!--
            Dénissez compilation debug="true" pour insér des symboles
            de dégage dans la page compilé Comme ceci
            affecte les performances, dénissez cette valeur àrue uniquement
            lors du déloppement.
        -->
                <compilation debug="true">
                </compilation>
                <!--
            La section <authentication> permet la configuration
            du mode d'authentification de séritétiliséar
            ASP.NET pour identifier un utilisateur entrant.
        -->
                <!--
            La section <customErrors> permet de configurer
            les actions àxéter si/quand une erreur non gée se produit
            lors de l'exétion d'une demande. Plus présént,
            elle permet aux déloppeurs de configurer les pages d'erreur html
            pour qu'elles s'affichent àa place d'une trace de la pile d'erreur.

        <customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm">
            <error statusCode="403" redirect="NoAccess.htm" />
            <error statusCode="404" redirect="FileNotFound.htm" />
        </customErrors>
        -->
        </system.web>
        <system.codedom>
        </system.codedom>
        <!--
        La section system.webServer est requise pour exéter ASP.NET AJAX sur Internet
        Information Services 7.0.  Elle n'est pas néssaire pour les versions prédentes d'IIS.
    -->
        <system.webServer>
        </system.webServer>
</configuration>

Et la je dit bravo maestro! Au fait, si vous développez sous Visual Studio 2008, ne pas oublier de configurer le site sous le Framework 2.0.


Commentaires

1. Le mardi, juin 30 2009, 00:08 par lebif

Bonjour,

Tout d'abord : félicitations, et un grand merci !

J'ai suivi votre tuto a la lettre, mais lors de l'exécution, j'ai un message d'erreur :

Server Error in '/' Application
Exception of type 'System.Text.DecoderFallbackException' was thrown.

Description: HTTP 500. Error processing request.

Stack Trace:

.....

Version information: Mono Version: 2.0.50727.42; ASP.NET Version: 2.0.50727.42

Avez-vous une idée?

Cordialement

2. Le mardi, juin 30 2009, 00:36 par Draggi

Bonsoir,

Pouvez-vous poster le source du script aspx que vous exécutez lorsque cette erreur survient?

3. Le mardi, juin 30 2009, 09:54 par lebif

Bonjour, j'utilise le asmx que vous avez fourni dans le tuto, juste au dessus....

C'est pour cela que je comprends pas...

Merci

4. Le mardi, juin 30 2009, 16:16 par Draggi

Puis je voir le stack trace c'est le texte complet d'erreur?

5. Le mardi, juin 30 2009, 16:58 par lebif

Le voici :

Server Error in '/' Application
Exception of type 'System.Text.DecoderFallbackException' was thrown.

Description: HTTP 500. Error processing request.

Stack Trace:

System.Text.DecoderFallbackException: Exception of type 'System.Text.DecoderFallbackException' was thrown.
at System.Text.DecoderExceptionFallbackBuffer.Fallback (System.Byte[] bytesUnknown, Int32 index) [0x00000]
at System.Text.UTF8Encoding.Fallback (System.Object provider, System.Text.DecoderFallbackBuffer& buffer, System.Byte[]& bufferArg, System.Byte* bytes, Int64 byteIndex, UInt32 size, System.Char* chars, System.Int32& charIndex) [0x00000]
at System.Text.UTF8Encoding.InternalGetChars (System.Byte* bytes, Int32 byteCount, System.Char* chars, Int32 charCount, System.UInt32& leftOverBits, System.UInt32& leftOverCount, System.Object provider, System.Text.DecoderFallbackBuffer& fallbackBuffer, System.Byte[]& bufferArg, Boolean flush) [0x00000]
at System.Text.UTF8Encoding.InternalGetChars (System.Byte[] bytes, Int32 byteIndex, Int32 byteCount, System.Char[] chars, Int32 charIndex, System.UInt32& leftOverBits, System.UInt32& leftOverCount, System.Object provider, System.Text.DecoderFallbackBuffer& fallbackBuffer, System.Byte[]& bufferArg, Boolean flush) [0x00000]
at System.Text.UTF8Encoding+UTF8Decoder.GetChars (System.Byte[] bytes, Int32 byteIndex, Int32 byteCount, System.Char[] chars, Int32 charIndex) [0x00000]
at System.Xml.NonBlockingStreamReader.ReadBuffer () [0x00000]
at System.Xml.NonBlockingStreamReader.Read (System.Char[] dest_buffer, Int32 index, Int32 count) [0x00000]
at Mono.Xml2.XmlTextReader.ReadTextReader (Int32 remained) [0x00000]
at Mono.Xml2.XmlTextReader.PeekChar () [0x00000]
at Mono.Xml2.XmlTextReader.ReadContent () [0x00000]
at Mono.Xml2.XmlTextReader.Read () [0x00000]
at System.Xml.XmlTextReader.Read () [0x00000]
at System.Xml.XmlReader.MoveToContent () [0x00000]
at System.Configuration.Configuration.ReadConfigFile (System.Xml.XmlTextReader reader, System.String fileName) [0x00000]
at System.Configuration.Configuration.Load () [0x00000]
at System.Configuration.Configuration.Init (IConfigSystem system, System.String configPath, System.Configuration.Configuration parent) [0x00000]
at System.Configuration.Configuration..ctor (System.Configuration.InternalConfigurationSystem system, System.String locationSubPath) [0x00000]
at System.Configuration.Configuration..ctor (System.Configuration.InternalConfigurationSystem system, System.String locationSubPath) [0x00000]
at System.Configuration.InternalConfigurationFactory.Create (System.Type typeConfigHost, System.Object[] hostInitConfigurationParams) [0x00000]
at System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration (System.String path, System.String site, System.String locationSubPath, System.String server, System.String userName, System.String password) [0x00000]

Version information: Mono Version: 2.0.50727.42; ASP.NET Version: 2.0.50727.42

J'ai cette erreur avec tout les codes... (j'ai fait un simple hello en aspx, même erreur lors de l'exécution...)

6. Le dimanche, mars 21 2010, 11:16 par narglix

Salut,
J'ai un problème pour aller récupérer mono-apache-server2 et libapache2-mod-mono lorsque je fais un apt-get install j'ai des erreurs de type 404 Not Found. Est-ce que je peux trouver ces librairies ailleurs ou existent-ils d'autres versions ?

7. Le dimanche, septembre 12 2010, 03:41 par pierre

bonjour,
j'ai le même problème que Lebif: Server Error in '/' Application... Après instal et mise en ligne des fichier de ce tuto.

8. Le dimanche, septembre 12 2010, 15:20 par Draggi

Bonjour,

Pouvez-vous publier un extrait de l'error LOG de apache (/var/log/apache2/error.log)...

Ajouter un commentaire

Les commentaires peuvent être formatés en utilisant une syntaxe wiki simplifiée.

La discussion continue ailleurs

1. Le jeudi, mai 21 2009, 16:37 par draggi.net :: Blog technique et pense bête informatique

MONO et MySql.Data not found :(

Ou comment se prendre la tête sur les drivers de connection MySql sous mono. Après avoir installé un environnement MONO sous debian LENNY, j'ai voulu me servir du connecteur MySql. J'ai bien suivi la procédure d'installation des connecteurs MySQL...

Fil des commentaires de ce billet