Dear Dominic,

> ... how to reproduce the problem?

I had been using request-tracker3.8 with Debian squeeze. When upgrading
to wheezy, found that request-tracker4 "did not work", so kept using the
old 3.8.  A few days ago I attempted to complete the upgrade. Seeing how
things (with the request-tracker4 package in wheezy) still did not work,
I installed request-tracker4 from wheezy-backports, so now have:

root@prt# dpkg -l | grep request-tracker
ii  request-tracker3.8                          3.8.8-7+squeeze8                
  all          extensible trouble-ticket tracking system
ii  request-tracker4                            4.0.19-1~bpo70+1                
  all          extensible trouble-ticket tracking system
ii  rt3.8-apache2                               3.8.8-7+squeeze8                
  all          Apache 2 specific files for request-tracker3.8
ii  rt3.8-clients                               3.8.8-7+squeeze8                
  all          mail gateway and command-line interface to request-tracker3.8
ii  rt3.8-db-sqlite                             3.8.8-7+squeeze8                
  all          SQLite database backend for request-tracker3.8
ii  rt4-apache2                                 4.0.19-1~bpo70+1                
  all          Apache 2 specific files for request-tracker4
ii  rt4-clients                                 4.0.19-1~bpo70+1                
  all          mail gateway and command-line interface to request-tracker4
ii  rt4-db-postgresql                           4.0.19-1~bpo70+1                
  all          PostgreSQL database backend for request-tracker4

I believe that my installation of RT4 is "pristine", unchanged. The
contents of some RT config files shown below (with the db password
blanked out).

(An aside: I use a postgres database with RT, do not quite understand
how my request-tracker3.8 ever worked with rt3.8-db-sqlite; or if that
package is not used, then why is it a dependency. When upgrading to
wheezy, I installed rt4-db-postgresql instead, hoping it being more
appropriate.)

I use modperl2 so now have:

root@prt# ls -ld /etc/apa*/*/requ*
lrwxrwxrwx 1 root root 43 Sep  3 21:00 /etc/apache2/conf.d/request-tracker4 -> 
/etc/request-tracker4/apache2-modperl2.conf

(had a similar symlink for 3.8, now deleted and replaced by the one
above). Having restarted apache with command

root@prt# /etc/init.d/apache2 restart

and trying to access my RT via its web interface, I got a status 500
server error, showing in /var/log/apache2/access.log :

siv.maths.usyd.edu.au - - [03/Sep/2014:06:33:49 +1000] "GET /rt/ HTTP/1.0" 500 
818 "-" "Mozilla/5.0 (X11; Linux i686 on x86_64; rv:31.0) Gecko/20100101 
Firefox/31.0"

and in /var/log/apache2/error.log :

[Wed Sep 03 06:33:49 2014] [error] [client 129.78.69.160] Undefined subroutine 
CGI::PSGI::delete\n at /usr/share/perl5/HTML/Mason/PSGIHandler/Streamy.pm line 
15\n

Adding a definition for "sub delete" into PSGI.pm, things worked better.
Found that I needed to change from "SUPER::$method" to "CGI::$method" to
avoid errors like:

[Wed Sep 03 09:42:39 2014] [error] [client 129.78.69.160] Undefined subroutine 
CGI::PSGI::SUPER::delete\n at 
/usr/share/perl5/HTML/Mason/PSGIHandler/Streamy.pm line 15\n, referer: 
http://www.maths.usyd.edu.au/rt/Search/Results.html?Order=ASC%7CASC%7CASC%7CASC&Query=%20Queue%20%3D%20%27Support%27%20AND%20Status%20!%3D%20%27resolved%27&Rows=50&OrderBy=id%7C%7C%7C&Page=1&Format=%27%20%20%20%3Cb%3E%3Ca%20href%3D%22%2Frt%2FTicket%2FDisplay.html%3Fid%3D__id__%22%3E__id__%3C%2Fa%3E%3C%2Fb%3E%2FTITLE%3A%23%27%2C%0A%27%3Cb%3E%3Ca%20href%3D%22%2Frt%2FTicket%2FDisplay.html%3Fid%3D__id__%22%3E__Subject__%3C%2Fa%3E%3C%2Fb%3E%2FTITLE%3ASubject%27%2C%0A%27__Status__%27%2C%0A%27__QueueName__%27%2C%0A%27__OwnerName__%27%2C%0A%27__Priority__%27%2C%0A%27__NEWLINE__%27%2C%0A%27%27%2C%0A%27%3Csmall%3E__Requestors__%3C%2Fsmall%3E%27%2C%0A%27%3Csmall%3E__CreatedRelative__%3C%2Fsmall%3E%27%2C%0A%27%3Csmall%3E__ToldRelative__%3C%2Fsmall%3E%27%2C%0A%27%3Csmall%3E__LastUpdatedRelative__%3C%2Fsmall%3E%!
 27%2C%0A%27%3Csmall%3E__TimeLeft__%3C%2Fsmall%3E%27
[Wed Sep 03 10:34:55 2014] [error] [client 129.78.69.160] Undefined subroutine 
CGI::PSGI::SUPER::request_method\n at /usr/share/perl5/HTML/Mason/FakeApache.pm 
line 309\n, referer: http://www.maths.usyd.edu.au/rt/Ticket/Display.html?id=6272

Using various features of RT, I found that I needed to add more
subroutine definitions. With the version of PSGI.pm as per my previous
email, RT seems to work well.

Hope this will allow you to reproduce the problem. Please let me know if
you need some further detail, or if you want me to do some experiment.

Cheers, Paul

Paul Szabo   p...@maths.usyd.edu.au   http://www.maths.usyd.edu.au/u/psz/
School of Mathematics and Statistics   University of Sydney    Australia


::::::::::::::
/etc/request-tracker4/RT_SiteModules.pm
::::::::::::::
1;
::::::::::::::
/etc/request-tracker4/RT_SiteConfig.pm
::::::::::::::
# This file was generated by running "update-rt-siteconfig-4".
#
# While local modifications will not be overwritten without permission,
# it is recommended the they are instead placed in 
# /etc/request-tracker4/RT_SiteConfig.d
#
# Note that modifications to the RT_SiteConfig.d directory won't 
# take effect until the update command mentioned above is run again.

# start /etc/request-tracker4/RT_SiteConfig.d/00-sms-stuff

# REMEMBER: run command
#   update-rt-siteconfig-4
# (to rebuild /etc/request-tracker4/RT_SiteConfig.pm)
# and restart Apache with
#   /etc/init.d/apache2 restart
# if you modify this file, or any others in this directory.
#
# The files
#   -rw------- /etc/request-tracker4/RT_SiteConfig.d/50-debconf
#   -rw------- /etc/request-tracker4/RT_SiteConfig.d/51-dbconfig-common
#   -rw------- /etc/request-tracker4/RT_SiteConfig.pm
# are root-access-only. RT running as www-data cannot possibly read them.
# How does it get any configs, then?
# The line
#   PerlRequire /usr/share/request-tracker3.8/libexec/webmux.pl
# as started from
#   /etc/apache2/conf.d/request-tracker4 -> 
/etc/request-tracker4/apache2-modperl2.conf
# is run as root (more than once!) at Apache startup. I guess that it
# keeps settings in memory. Cannot see settings saved in files anywhere,
# not even in /var/cache/request-tracker3.8/mason_data/obj/ .


Set($OwnerEmail , 'psz');

Set($MaxAttachmentSize , 32 * 1024);    # was 10000000
Set($TruncateLongAttachments , 1);

# Do not seem to need at request-tracker3.8:
## But we want images to be fetched without specifying server for use through 
siv:
# Set($WebImagesURL , $WebPath . "/NoAuth/images/");

# At request-tracker4, need to specially enable search on ticket Content,
# see: http://blog.bestpractical.com/2011/06/full-text-searching.html
Set(%FullTextSearch, Enable  => 1, Indexed => 0 );

# end   /etc/request-tracker4/RT_SiteConfig.d/00-sms-stuff
# start /etc/request-tracker4/RT_SiteConfig.d/40-timezone
# dynamically find out the current timezone
my $zone = "UTC";
$zone=`/bin/cat /etc/timezone`
    if -f "/etc/timezone";
chomp $zone;
Set($Timezone, $zone);
# end   /etc/request-tracker4/RT_SiteConfig.d/40-timezone
# start /etc/request-tracker4/RT_SiteConfig.d/50-debconf
# THE BASICS:

Set($rtname, 'SMSsup');
Set($Organization, 'maths.usyd.edu.au');

Set($CorrespondAddress , 'r...@maths.usyd.edu.au');
Set($CommentAddress , 'rt-comm...@maths.usyd.edu.au');

# THE WEBSERVER:

Set($WebPath , "/rt");
Set($WebBaseURL , "http://www.maths.usyd.edu.au";);
Set($WebDomain , "www.maths.usyd.edu.au");

# end   /etc/request-tracker4/RT_SiteConfig.d/50-debconf
# start /etc/request-tracker4/RT_SiteConfig.d/51-dbconfig-common
# THE DATABASE:
# generated by dbconfig-common

# map from dbconfig-common database types to their names as known by RT
my %typemap = (
    mysql   => 'mysql',
    pgsql   => 'Pg',
    sqlite3 => 'SQLite',
);
    
Set($DatabaseType, $typemap{pgsql} || "UNKNOWN");

Set($DatabaseHost, 'localhost');
#Set($DatabasePort, '');

Set($DatabaseUser , 'rtuser');
Set($DatabasePassword , 'BLANK');

# SQLite needs a special case, since $DatabaseName must be a full pathname
my $dbc_dbname = 'rtdb'; if ( "" eq "sqlite3" ) { Set ($DatabaseName, '' . '/' 
. $dbc_dbname); } else { Set ($DatabaseName, $dbc_dbname); }
# end   /etc/request-tracker4/RT_SiteConfig.d/51-dbconfig-common
1;
::::::::::::::
/etc/request-tracker4/apache2-modperl2.conf
::::::::::::::
# To use RT together with mod_perl2, available in the 
# libapache2-mod-perl2 package, include this file with:
#
#   Include /etc/request-tracker4/apache2-modperl2.conf
# 
# into your Apache configuration file, in a virtual host section.

# You will need to enable the Apache modules: perl, actions
#
# The best place for this in the Debian Apache2 default situation is
# near the end of the VirtualHost section in the file
# /etc/apache2/sites-available/default.

# You might want to enable this line
# AddDefaultCharset UTF-8

PerlSetEnv RT_SITE_CONFIG /etc/request-tracker4/RT_SiteConfig.pm

# You might need to alter references to /rt in this file (there are
# three) to match whatever base URL you are using for your RT site
Alias /rt /usr/share/request-tracker4/html

<Location /rt>
  SetHandler modperl
  PerlResponseHandler Plack::Handler::Apache2
  PerlSetVar psgi_app /usr/share/request-tracker4/libexec/rt-server
</Location>

# Limit mail gateway access to localhost by default
# PSz Add prt itself, or mail to support fails with
#   client denied by server configuration: 
/usr/share/request-tracker4/html/REST/1.0/NoAuth/mail-gateway
# in /var/log/apache2/error.log
# Older comment:
### PSz 29 Apr 09: This /rt/REST/1.0/NoAuth limitation is new at lenny
###  (was not present before, is default at lenny).
### Need to allow prt also, our /usr/bin/rt-mailgate connects like that:
###  could not we change the .forward files e.g. ~rt/.forward to contain
###   --url http://localhost/rt/
### instead of prt.pc?
<Location /rt/REST/1.0/NoAuth>
    <IfVersion >= 2.3>
        Require local prt.pc.maths.usyd.edu.au
    </IfVersion>
    <IfVersion < 2.3>
        Order Allow,Deny
        Allow from 127.0.0.1 prt.pc.maths.usyd.edu.au
    </IfVersion>
</Location>

<Perl>
  use Plack::Handler::Apache2;
  
Plack::Handler::Apache2->preload("/usr/share/request-tracker4/libexec/rt-server");
</Perl>


-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to