On Sat, Jan 06, 2018 at 01:06:24PM +0000, Pedro Almeida wrote:
> I got the same problem here, when bumping our internal RT installation
> to OpenBSD 6.2.
> 
> Talking with sthen@ I realised that there is no maintainer to the port,
> which mean that the most recent updates where made to cope with perl
> updates.
> 
> In my case I’m trying to go through the fastcgi approach, which is an
> option for running RT. I'm also trying to move from Apache to nginx or
> better, httpd.

Below is what I use to run RT as an FCGI.  I sadly haven't gotten as far
as adding an rc script for it, so I use the below plack script as
"rt-fcgi" to work around some httpd peculiarities (that I don't actually
know still exist) like this:

# plackup -s FCGI --listen /var/www/run/rt/sock -E deployment --proc_title 
rt-fcgi-pm rt-fcgi

The only special bit of my httpd.conf is a server section with:
    location "/*" { fastcgi socket "/run/rt/sock" }


I *should* get around to the rc script, but just have not yet had time
and sorry to say, it is not at the top of my TODO list.

For more details about plackup, and Plack + Plack::Middleware you can
start here:
https://metacpan.org/pod/distribution/Plack/script/plackup


--- rt-fcgi ---
#!/usr/bin/env plackup
use strict;
use warnings;

# plackup -s FCGI --listen /var/www/run/rt/sock -E deployment --proc_title 
rt-fcgi-pm rt-fcgi

package Plack::Middleware::RTFixup;
use parent qw( Plack::Middleware );
$INC{'Plack/Middleware/RTFixup.pm'} = 1;
 
use Plack::Builder;

sub call {
    my($self, $env) = @_;

    $env->{PATH_INFO}   = $env->{DOCUMENT_URI};
    $env->{SCRIPT_NAME} = q{};

    return $self->app->($env);
}

builder {
    enable "Plack::Middleware::RTFixup";
    do '/usr/local/sbin/rt-server';
};

Reply via email to