IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Web Perl Discussion :

connexion non persistante avec Request Tracker - mod_perl + CGI


Sujet :

Web Perl

  1. #1
    Candidat au Club
    Inscrit en
    Septembre 2007
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 4
    Points : 2
    Points
    2
    Par défaut connexion non persistante avec Request Tracker - mod_perl + CGI
    Bonjour à tous,

    J'ai installé Request tracker sous CentOS et je dois dire qu'il fonctionne très bien à part un problème de connexion non persistante et du coup l'utilisateur est obligé de retaper son login et password quasiment à chaque nouvelle page visitée.

    Request Tracker utilise apache avec mod_perl et CGI.
    De plus j'ai ouïe dire qu'il fallait mettre le module Perl Apache:: DBI pour résoudre ce problème de connection persistante mais cela n'a rien changé.

    Donc voila ma config request tracker :
    Code Config : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
     
     
    Alias /rt "/var/rt/html"
    Alias /NoAuth/images/ /var/rt/html/NoAuth/images/
     
    <VirtualHost xxx.xxx.xxx.xxx:80>
        ServerName rt-server
        DocumentRoot /var/rt/html
        AddDefaultCharset UTF-8
     
        PerlModule Apache2::compat
        PerlModule Apache:: DBI
        PerlModule Apache::AuthDBI
     
        PerlRequire /usr/bin/webmux.pl
     
        <Location />
            SetHandler perl-script
            PerlHandler RT::Mason
            <IfDefine PerlDProf>
              <IfDefine PerlSmallProf>
                PerlFixupHandler Apache::SmallProf
              </IfDefine>
            </IfDefine>
        </Location>
     
        <Location /NoAuth/images>
          SetHandler default-handler
        </Location>


    le contenu du fichier webmux.pl devrait plus vous parlé à vous spécialiste CGI:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
     
     
    #!/usr/bin/perl
     
    use strict;
     
    BEGIN {
        $ENV{'PATH'}   = '/bin:/usr/bin';                     # or whatever you need
        $ENV{'CDPATH'} = '' if defined $ENV{'CDPATH'};
        $ENV{'SHELL'}  = '/bin/sh' if defined $ENV{'SHELL'};
        $ENV{'ENV'}    = '' if defined $ENV{'ENV'};
        $ENV{'IFS'}    = '' if defined $ENV{'IFS'};
     
        use CGI qw(-private_tempfiles);
    #bring this in before mason, to make sure we set private_tempfiles
     
        die "RT does not support mod_perl 1.99. Please upgrade to mod_perl 2.0"
          if $ENV{'MOD_PERL'}
          and $ENV{'MOD_PERL'} =~ m{mod_perl/(?:1\.9)};
     
    }
     
    use lib ( "/usr/local/rt/lib", "/usr/lib/rt" );
    use RT;
     
    package RT::Mason;
     
    use vars qw($Nobody $SystemUser $Handler $r);
     
    #This drags in RT's config.pm
    BEGIN {
        RT::LoadConfig();
        if ($RT:: DevelMode) { require Module::Refresh; }
    }
     
     
    {
     
        package HTML::Mason::Commands;
        use vars qw(%session);
    }
     
    use RT::Interface::Web;
    use RT::Interface::Web::Handler;
    $Handler = RT::Interface::Web::Handler->new(@RT::MasonParameters);
     
    if ($ENV{'MOD_PERL'} && !$RT:: DevelMode) {
        # Under static_source, we need to purge the component cache
        # each time we restart, so newer components may be reloaded.
        #
        # We can't do this in FastCGI or we'll blow away the component root _every_ time a new server starts
        # which happens every few hits.
     
        use File:: Path qw( rmtree );
        use File::Glob qw( bsd_glob );
        rmtree([ bsd_glob("$RT::MasonDataDir/obj/*") ], 0, 1);
    }
     
    sub handler {
        ($r) = @_;
     
        local $SIG{__WARN__};
        local $SIG{__DIE__};
     
        # We don't need to handle non-text, non-xml items
        if ($r->content_type =~ m/^httpd\b.*\bdirectory/i) {
            use File::Spec::Unix;
            # Our DirectoryIndex is always index.html, regardless of httpd settings
            $r->filename( File::Spec::Unix->catfile( $r->filename, 'index.html' ) );
        }
        elsif (defined( $r->content_type )) {
            $r->content_type =~ m!(^text/|\bxml\b)!i or return -1;
        }
     
        Module::Refresh->refresh if $RT:: DevelMode;
     
        RT::Init();
     
        my %session;
        my $status;
        eval { $status = $Handler->handle_request($r) };
        if ($@) {
            $RT::Logger->crit($@);
        }
     
        undef(%session);
     
        RT::Interface::Web::Handler->CleanupRequest();
     
        return $status;
    }
     
    1;
    De plus voici quelques variables apache que j'ai modifié pour assurer le coup mais la connection ne persiste pas.

    Timeout 12000
    KeepAlive On
    MaxKeepAliveRequests 1000
    KeepAliveTimeout 1500

    Pouvez vous me dire si cela viens de CGI ou alors plutot de Apache:: DBI ou request tracker?

    Merci d'avance pour votre aide.

  2. #2
    Expert éminent
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Points : 8 586
    Points
    8 586
    Par défaut
    Il y a un truc qui m'étonne un peu dans ce fichier de configuration, c'est que nulle part ne soit évoqué une base de donnée ?? A priori c'est cette base que Apache::DBI devrait utiliser pour maintenir un système de session, donc cela me parait étrange qu'elle ne soit même pas évoquée.

    La doc de RT n'en parle pas ?

    --
    Jedaï

  3. #3
    Candidat au Club
    Inscrit en
    Septembre 2007
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Pour la base de données , j'ai un autre fichier de configuration que vous détaillerai demain matin mais il n'y a pas de problème de ce côté je pense, puisque RT arrive à y accéder sans problème, à part les déconnections régulières.
    Après il ya bien 2 paramètres de RT qui devrais jouer

    WebExternAuth (je ne suis plus sur de l'orthographe).
    WebExternAuto

    mais que je change leur valeur ou non le problème reste le même.

    Je vous en dis plus demain matin et merci d'avoir répondu.

  4. #4
    Candidat au Club
    Inscrit en
    Septembre 2007
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Voici les paramètres de paramètres de RT dont ceux pour la base de données :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
     
     
    RT:: DatabaseHost 	                      xxx.xxx.xxx.xxx
    RT:: DatabaseName 	                    rtdb
    RT:: DatabasePassword 	                  **************
    RT:: DatabasePort 	                       3306
    RT:: DatabaseRTHost 	                    xxx.xxx.xxx.xxx
    RT:: DatabaseType 	                     mysql
    RT:: DatabaseUser 	                      rt_user
    RT:: DateDayBeforeMonth 	                 1
    RT:: DefaultSearchResultFormat 	       '<B><A HREF="/rt3/Ticket/Display.html?id=__id__">__id__</a></B>/TITLE:#', '<B><A HREF="/rt3/Ticket/Display.html?id=__id__">__Subject__</a></B>/TITLE:Subject', Status, QueueName, OwnerName, Priority, '__NEWLINE__', '', '<small>__Requestors__</small>', '<small>__CreatedRelative__</small>', '<small>__ToldRelative__</small>', '<small>__LastUpdatedRelative__</small>', '<small>__TimeLeft__</small>'
    RT::EmailOutputEncoding 	          iso-8859-1
    RT::EtcPath 	                                   /etc/rt
    RT::FriendlyFromLineFormat 	         "%s via RT" <%s>
    RT::FriendlyToLineFormat 	           "%s of organization Ticket #%s":;
    RT::LinkTransactionsRun1Scrip 	        1
    RT::LocalEtcPath 	                        /usr/local/rt/etc
    RT::LocalLexiconPath 	                     /usr/local/rt/po
    RT::LocalPath 	                                 /usr/local/rt
    RT::LogDir 	                                   /var/log/rt
    RT::LogToFileNamed                         rt.log
    RT::LogToScreen 	                      error
    RT::LogToSyslog 	                      debug
    RT::LogoURL 	                                /rt3/NoAuth/images/bplogo.gif
    RT::LoopsToRTOwner 	                  1
    RT::MailCommand                 	    sendmail
    RT::MasonComponentRoot 	             /var/rt/html
    RT::MasonDataDir 	                    /var//rt/mason_data
    RT::MasonLocalComponentRoot 	 /usr/local/rt/html
    RT::MasonSessionDir 	                  /var//rt/session_data
    RT::MaxAttachmentSize 	                10000000
    RT::MaxInlineBody 	                    13456
    RT::MessageBoxWidth 	                72
    RT::MessageBoxWrap       	        HARD
    RT::MinimumPasswordLength  	     5
    RT::MyRequestsLength 	                20
    RT::MyTicketsLength 	                   20
    RT::NotifyActor 	                        1
    RT::Organization 	                      rt.com
    RT::OwnerEmail 	                             myemail
    RT::RTAddressRegexp 	               ^rt\@blabla\.com$
    RT::RecordOutgoingEmail 	       1
    RT::RedistributeAutoGeneratedMessages 	1
    RT::SITE_CONFIG_FILE 	               /etc/rt/RT_SiteConfig.pm
    RT::SendmailArguments 	               -oi
    RT::SendmailBounceArguments 	  -f "<>"
    RT::SendmailPath 	                    /usr/sbin/sendmail
    RT::Timezone 	                              Europe/Paris
    RT::UseFriendlyFromLine 	        1
    RT::VERSION 	                             3.4.5
    RT::VarPath 	                               /var
    RT::WebBaseURL 	                         <a href="http://rt-server/" target="_blank">http://rt-server/</a>
    RT::WebExternalAuth 	                 1
    RT::WebExternalAuto 	                 1
    RT::WebFallbackToInternalAuth 	   true
    RT::WebFlushDbCacheEveryRequest 	1
    RT::WebImagesURL 	               /rt3/NoAuth/images/
    RT::WebPath 	                             /rt3
    RT::WebURL 	                             <a href="http://rt-server//rt3/" target="_blank">http://rt-server//rt3/</a>

  5. #5
    Candidat au Club
    Inscrit en
    Septembre 2007
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Donc j'ai enfin réussi à trouver mon problème en relisant la document de RT, il y avait une petite ligne stipulant qu'avec Mysql il pouvait avoir des problèmes de connections pour les mots de passe de plus de 8 caractères:


    NOTE: Some MySQL users have had trouble with passwords of longer than 8 characters; if you cannot connect, try a password of 8 characters or fewer.
    Problème résolu.
    Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Request Tracker mod_perl
    Par tibal dans le forum Modules
    Réponses: 4
    Dernier message: 14/01/2010, 09h14
  2. Réponses: 4
    Dernier message: 03/08/2007, 14h55
  3. Connexions persistantes vs connexions non persistantes
    Par webrider dans le forum Requêtes
    Réponses: 3
    Dernier message: 24/03/2007, 09h44
  4. connexion persistante avec perl
    Par naourass dans le forum SGBD
    Réponses: 8
    Dernier message: 18/12/2006, 18h08
  5. connexion persistante avec c
    Par naourass dans le forum C
    Réponses: 3
    Dernier message: 14/12/2006, 10h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo