RT 3.8.9 -> 4.0.0 upgrade

Hi,

I’m having some problems getting my installation upgraded to 4.0.0.

The ‘configure’ and ‘make upgrade’ both seem to run fine, no issues.
I’ve set it to build in a new folder from 3.8.9 - the previous version
is in /usr/share/rt3, and the new one is to be in /usr/share/rt4.

The database upgrade appears to go well apart from some noise about RTFM
which I think is okay?:

Enter RT version you’re upgrading from: 3.8.9

Going to apply following upgrades:

  • 3.9.1
  • 3.9.2
  • 3.9.3
  • 3.9.5
  • 3.9.6
  • 3.9.7
  • 3.9.8
  • 4.0.0rc2
  • 4.0.0rc4
  • 4.0.0rc7

Enter RT version if you want to stop upgrade at some point,
or leave it blank if you want apply above upgrades:

IT’S VERY IMPORTANT TO BACK UP BEFORE THIS STEP

Proceed [y/N]:y
Processing 3.9.1
Now inserting data.
Processing 3.9.2
Now inserting data.
Processing 3.9.3
Now populating database schema.
Processing 3.9.5
Now populating database schema.
Processing 3.9.6
Now populating database schema.
Processing 3.9.7
Now populating database schema.
Now inserting data.
Processing 3.9.8
Now populating database schema.
Now inserting data.
[Fri Apr 29 20:17:48 2011] [error]: You appear to be upgrading from RTFM
2.0 - We don’t support upgrading this old of an RTFM yet
(./etc/upgrade/3.9.8/content:12)
[Fri Apr 29 20:17:48 2011] [error]: We found RTFM tables in your
database. Checking for content. (./etc/upgrade/3.9.8/content:15)
Processing 4.0.0rc2
Now populating database schema.
Processing 4.0.0rc4
Now populating database schema.
Processing 4.0.0rc7
Now inserting data.
Done.

I’ve adjusted my Apache configuration to use the new folder, and the
rt-server.fcgi:

FastCgiServer /usr/share/rt4/sbin/rt-server.fcgi -processes 5
-idle-timeout 300

ExpiresActive On
Header unset ETag
FileETag None
<FilesMatch “.(ico|pdf|flv|jpg|jpeg|png|gif|js|css|swf)$”>
Header unset Last-Modified
Header set Cache-Control “public, no-transform”
ExpiresDefault “access plus 1 month”

SetOutputFilter DEFLATE

AddDefaultCharset UTF-8

ServerName xxxxx.xxxxxxx.xxx
DocumentRoot /usr/share/rt4/share/html/

<Location /NoAuth/images >
SetHandler default-handler

ScriptAlias / /usr/share/rt4/sbin/rt-server.fcgi/

AddHandler fastcgi-script fcgi

RewriteEngine on
RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK)
RewriteRule .* - [F]

I’ve copied (and where necessary adjusted) the RT_SiteConfig.pm from the
3.8.9 installation to the 4.0.0 installation. I’m uncertain from the
documentation as to whether /usr/share/rt4/sbin/rt-server needs to be
started or not? I’ve tried both with it started and without.

When I start Apache and try to visit the site, the page just sits and
tries to load, but nothing ever does load. Within the logs I don’t see
anything - no entries in either the customlog or the errorlog.

I’m hoping that someone has some suggestions, I haven’t had a problem
with any previous upgrades, however obviously this represents a larger
change than most.

The configure options I’m running are:

./configure
–prefix=/usr/share/rt4
–with-web-handler=fastcgi
–enable-gd
–enable-gpg
–enable-graphviz
–with-db-type=mysql
–with-db-host=localhost
–with-db-port=3306
–with-db-database=rt4
–with-db-rt-user=rt4
–with-db-rt-pass=28c4e3hRs
–with-web-user=www-data
–with-web-group=www-data
–with-rt-group=rt4
–with-apachectl=/usr/sbin/apache2ctl

This is being installed on a Debian 5.0 server, all the perl modules
have been upgraded or installed in order to pass the ‘make testdeps’.

Thanks,

Ross.

Hi,

I’m having some problems getting my installation upgraded to 4.0.0.

The ‘configure’ and ‘make upgrade’ both seem to run fine, no issues.
I’ve set it to build in a new folder from 3.8.9 - the previous version
is in /usr/share/rt3, and the new one is to be in /usr/share/rt4.

The database upgrade appears to go well apart from some noise about RTFM
which I think is okay?:

We should have that one fixed in 4.0.1, though I think you’re ok there.

I’ve adjusted my Apache configuration to use the new folder, and the
rt-server.fcgi:

There’s a lot of …extra stuff in your apache config. Can you try with the default config in docs/web_deployment.pod

I’ve copied (and where necessary adjusted) the RT_SiteConfig.pm from the
3.8.9 installation to the 4.0.0 installation. I’m uncertain from the
documentation as to whether /usr/share/rt4/sbin/rt-server needs to be
started or not? I’ve tried both with it started and without.

Which docs suggest you need to run rt-server by hand if you’re using
the fastcgi handler? I’d like to get them clarified. You should not
need to do that.

When I start Apache and try to visit the site, the page just sits and
tries to load, but nothing ever does load. Within the logs I don’t see
anything - no entries in either the customlog or the errorlog.

So you’re not seeing anything in the access log at all? That sort of
suggests that the problem isn’t on the RT side.

–with-db-rt-pass=XXXXXXXXX

For next time, I’d recommend not sending your database password to the list :wink:

Anyway, Give the “simpler” apache configuration a shot and we’ll see how things go from there.

Best,
Jesse

Thanks Jesse,

There’s a lot of …extra stuff in your apache config. Can you try with the default config in docs/web_deployment.pod

Alright, dropped SSL and switched to using the config included in the
web_deployment.pod:

FastCgiServer /usr/share/rt4/sbin/rt-server.fcgi -processes 5
-idle-timeout 300

### Optional apache logs for RT # Ensure that your log rotation scripts know about these files ErrorLog /var/log/apache2/XXXXX.XXXXXX.XXX-error_log CustomLog /var/log/apache2/XXXXX.XXXXXX.XXX-access_log combined LogLevel debug

AddDefaultCharset UTF-8

Alias /NoAuth/images/ /usr/share/rt4/share/html/NoAuth/images/
ScriptAlias / /usr/share/rt4/sbin/rt-server.fcgi/

DocumentRoot “/usr/share/rt4/share/html”

Order allow,deny
Allow from all

  Options +ExecCGI
  AddHandler fastcgi-script fcgi

I’m still really not seeing anything in the logs except the timeout
itself:

May 2 08:28:25 XXXXX.XXXXXX.XXX fcgi-pm[10038]: [warn] FastCGI: server
“/usr/share/rt4/sbin/rt-server.fcgi” has failed to remain running for 30
seconds given 3 attempts, its restart interval has been backed off to
600 seconds

In case this helps, here’s my RT_SiteConfig.pm:

Set($rtname, ‘XXXXXX’);
Set($Organization, ‘XXXXX.XXXXXX.XXX’);
Set($MinimumPasswordLength, ‘7’);
Set($OwnerEmail, ‘XXX@XXXXX.XXX’);
Set($MaxAttachmentSize, 30_000_000);
Set($WebPort, 443);
Set($WebPath, “”);
Set($WebDomain, ‘XXXXX.XXXXXX.XXX’ );
Set($CorrespondAddress , ‘XXX@XXXXXX.XXX’);
Set($CommentAddress , ‘XXX@XXXXXX.XXX’);
Set($ParseNewMessageForTicketCcs , 1);
Set($DatabaseUser , ‘rt4’);
Set($DatabasePassword , ‘XXXXXXXXX’);
Set($DatabaseName , ‘rt4’);
Set($SpamAssassinClient, ‘localhost’);
Set($ParseNewMessageForTicketCcs , 1);
Set($LogToSyslog , ‘debug’);
Set($LogToScreen , ‘debug’);
Set($MaxInlineBody, 120000);
1;

Which docs suggest you need to run rt-server by hand if you’re using
the fastcgi handler? I’d like to get them clarified. You should not
need to do that.

It wasn’t so much that they suggested I do so, but I was just looking
for things that I might not have done.

So you’re not seeing anything in the access log at all? That sort of
suggests that the problem isn’t on the RT side.

–with-db-rt-pass=XXXXXXXXX

For next time, I’d recommend not sending your database password to the list :wink:

Appreciated, feeling pretty dumb about that.

Anyway, Give the “simpler” apache configuration a shot and we’ll see how things go from there.

Thanks,

Ross.

I’m still really not seeing anything in the logs except the timeout
itself:

===
May 2 08:28:25 XXXXX.XXXXXX.XXX fcgi-pm[10038]: [warn] FastCGI: server
“/usr/share/rt4/sbin/rt-server.fcgi” has failed to remain running for 30
seconds given 3 attempts, its restart interval has been backed off to
600 seconds

If that was in your original message, I missed it. But that’s your smoking gun.

What happens if you run /usr/share/rt4/sbin/rt-server.fcgi by hand as the user apache runs as?

As a guess, have you run rt-server as root causing var/mason_data to be unwritable by nobody/apache?

I’m still really not seeing anything in the logs except the timeout
itself:

===
May 2 08:28:25 XXXXX.XXXXXX.XXX fcgi-pm[10038]: [warn] FastCGI: server
“/usr/share/rt4/sbin/rt-server.fcgi” has failed to remain running for 30
seconds given 3 attempts, its restart interval has been backed off to
600 seconds

If that was in your original message, I missed it. But that’s your smoking gun.

What happens if you run /usr/share/rt4/sbin/rt-server.fcgi by hand as the user apache runs as?

As a guess, have you run rt-server as root causing var/mason_data to be unwritable by nobody/apache?

It wasn’t in my original message, I didn’t see it in the previous run
through. Wish I had thought to run that script as the web server, I just
assumed that since things had worked for the rt3 installation, then
things should be similar for this one – only I’d created a new rt4 user
and forgot to setup permissions properly. Sigh. Thanks for your time on
this.

Ross.