views:

181

answers:

3

I want to host a mod_perl application on a shared RHEL server where I do not have access to a root account. mod_perl is available on the server as are all Perl modules required (my app runs fine with CGI).

Here are two problems I anticipate: Apache restarts would be required whenever I update my code the first time and subsequently on periodic updates. Second, I would have to use some <Perl> directives in .htaccess. I would be happy to hear experiences, gotchas, hints from others who might have done this successfully. Thank you!

A: 

You can't do it without the ability to restart Apache httpd.

Perhaps the admin will give you sudo powers so you can do that at least.

Try Perl under FCGI instead.

JDrago
this is pretty much the only right answer with shared hosting. You either need sudo to restart apache, or use FCGI.
Cory R. King
Thanks - so FCGI then.
Gurunandan
+2  A: 

This might not be useful in your case, but you can always run an Apache instance in your home directory, and have the frontend proxy incoming requests to that instance. That way, you have full control over the configuration, Apache modules, Perl modules, and Perl itself. It also uses system resources better (slow clients don't tie up the heavy perl app, only the lean frontend instance), and is actually the generally recommended way of deploying mod_perl applications.

Another option, and one that will involve less screwing around, would be to get a $20/month VPS and use that. Then you can do whatever you want, as you'll have full root access.

jrockway
A: 

You aren't gonna be able to use mod_perl without root on a shared hosting account. The "run my own instance" sounds okay, but you will need a way to start up apache if the server reboots.

FCGI is your best bet. That or get something where you can get root access to your own apache process. The added benefit of such an account would be you could install CPAN modules without going through the extra hassle of setting up a non-root library and messing with $PERL5LIB.

Cory R. King