[ic] Running Interchange 5 with Plack

Andrew Baerg andrew at pullingshots.ca
Tue Nov 10 22:16:43 UTC 2015

On 15-10-30 07:56 AM, Josh Lavin wrote:
> Quoting Sam Batschelet (sbatschelet at mac.com):
>>> On Oct 29, 2015, at 7:08 PM, Josh Lavin <jlavin at endpoint.com> wrote:
>>> Quoting Sam Batschelet (sbatschelet at mac.com):
>>>> Fellow innovators, 
>>>> I wanted to share my research on running Interchange 5 with Plack.
>>>> Recently a lot of my development has been with Dancer and the
>>>> preferred stack is typically something like Nginx, Plack and Starman.
>>>> After listening to a few people looking for alternatives to Apache and
>>>> reluctancy to use Nginx with FastCGI with Interchange. I wondered
>>>> would it be possible to run Interchange 5 in a NPS stack. I started
>>>> researching existing modules and came across Plack::App::CGIBin
>>>> written by Tatsuhiko Miyagawa.
>>> Hey Sam, I just heard from a guy who works at a hosting company that
>>> they are using Plack::App::WrapCGI, which is nearly identical to this.
>>> It has worked well for them to migrate away from ye olde cgi scripts.
>> Josh thanks for the followup on this. Was he also connecting Plack to
>> C compiled scripts? At the conference Andrew Baerg was very interested
>> in this approach for IC5. He was going to do a bunch of testing and
>> see if he ran into any issues. I think understanding better how this
>> works with C and testing it throughly is the next step. Perhaps we can
>> even get some camps setup to test. If anyone is interested in testing
>> this on existing IC5 projects in there development environments,
>> please report your results. This information would be very valuable.
>> If you need any help setting this up please reach out the ML or
>> #interchange and I can share my experiences.
> No, I think it was just straight-up Perl scripts.

I can confirm that both Plack::App::CGIBin and Plack::App:WrapCGI work
with Interchange5! Plack::App::CGIBin actually uses WrapCGI in the

To enable all catalogs:

plackup -MPlack::App::CGIBin -e 'Plack::App::CGIBin->new(root =>

Or just a single catalog:

plackup --path /CATALOG -MPlack::App::WrapCGI -e
"Plack::App::WrapCGI->new(script =>
'/path/to/interchange/bin/catalogs/CATALOG', execute => 1)->to_app"

We are currently setting this up in our dev environment and will be
testing it out in production soon!

https://github.com/pullingshots ... https://metacpan.org/author/BAERGAJ

More information about the interchange-users mailing list