OnWorks favicon

ic_mod_perlp - Online in the Cloud

Run ic_mod_perlp in OnWorks free hosting provider over Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator

This is the command ic_mod_perlp that can be run in the OnWorks free hosting provider using one of our multiple free online workstations such as Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator



ic_mod_perl -- Run Interchange entirely inside Apache/mod_perl


# Add to Apache httpd.conf:
PerlRequire /usr/lib/interchange/bin/ic_mod_perl
PerlChildInitHandler Vend::ModPerl::child_start
PerlChildExitHandler Vend::ModPerl::child_end
<Location /ic>
SetHandler perl-script
PerlHandler Vend::ModPerl
PerlSendHeader Off
PerlSetupEnv On


· Possibly better stability, especially on non-Linux platforms where Perl signals are
often buggy.

· Use less memory total; don't have preforked Apache and Interchange daemons. Adds about
8 MB more to a typical Apache/mod_perl child process, for a total of, say, 32 MB per
Apache child process. But standalone Interchange usually has 3 processes: an
Interchange child process (~24 MB), an httpd child (~24 MB), and a link CGI (~1 MB),
so it's actually a decent savings in total memory used.

· Speed (ranging from slightly faster to the same on heavy pages, to 10 hits/sec. faster
on empty pages).

· Debugging -- delve into bowels with Apache::Status.

· Easier coexistence with other mod_perl code and libraries.

· Can coexist with standalone Interchange codebase without problems.

· Administrative ease (for sysadmins who know Apache but not Interchange).

· Interchange runs as web server user, which in a standard system is usually apache or
www, so you wouldn't want to share that Apache installation with untrusted user CGIs,
PHP, etc. as they could read any Interchange files, including DSNs, userdb, etc.

· Apache needs to be dedicated, or very closely watched because all mod_perl stuff runs
in the same interpreter, and lots of mod_perl code doesn't use Safe.

· How do you scale to multiple app servers in this configuration?

· Hardware or software port redirector

· Tux CGI front-end redirector like tlink

· Separate lightweight Apache (no modules) that proxies /ic requests

Ideal system setup
Use Tux to serve images & static content, and a dedicated Apache for Interchange running
under the 'interch' user and with no UserDir, CGI, PHP, etc. enabled and an empty DocRoot.


· Watch out for differing Storable versions in sessions when switching between
standalone and mod_perl runs!

Use ic_mod_perlp online using onworks.net services