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:
De plus voici quelques variables apache que j'ai modifié pour assurer le coup mais la connection ne persiste pas.
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;
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.
Partager