You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@httpd.apache.org by Mike Comaroto <mi...@openengr.org> on 2014/03/30 23:34:12 UTC

[users@httpd] Deploying an FCGI C filter on shared hosting, Action mime-type configuration

Greetings,

I am developing a website to provide solutions to physical engineering 
problems (civil, mechanical, structural etc) and I will ultimately 
require a means of calling compiled ANSI C programs from the site. These 
programs will reside on my user account with my hosting provider, which 
runs Apace 2.2.26 under RedHat 4.4.7-4. The prevailing fcgi module is 
mod_fcgid.c (not mod_fastcgi.c).

As a first step I am in the middle of getting to know my technological 
limitations and restrictions under a shared hosting environment.

To date I have configured my testing linux box at home to nearly exactly 
match the server environment. To this end I have compiled several c 
programs under the fcgi-dev kit and can upload them to my hosting server 
and they work with the following $HOME/www/openengr/.htaccess:

<FilesMatch ".+\.oea$">
    RewriteEngine On
    RewriteBase /
    RewriteRule ^(.+)\.oea$  /c-bin/tiny-fcgi?file=$1.oea [L,NC,QSA]
</FilesMatch>
### Deny access to files without filename (e.g. '.oea')
<FilesMatch "^\.oea$">
     Order Deny,Allow
     Deny from all
</FilesMatch>

where oea = OpenEngrApplication file extension. This is not working as a 
filter because FCGI_ROLE = RESPONDER, as verified in output statements 
in my .c code, and my understanding is the fcgi specification requires 
FCGI_ROLE = FILTER prior to accessing the data file (test.oea, for example).

What I feel is a more robust solution is to for this to work:

AddType application/x-httpd-oea .oea
<FilesMatch ".+\.oea$">
    SetHandler application/x-httpd-oea
</FilesMatch>
### Deny access to files without filename (e.g. '.oea')
<FilesMatch "^\.oea$">
     Order Deny,Allow
     Deny from all
</FilesMatch>
Action application/x-httpd-oea /var/www/c-bin/tiny-fcgi

The action, when invoked by the apache server, searches my account for 
${HOME}/www/c-bin/tiny-fcgi/test.oea, where test.oea is just a text file 
in $HOME/www/openengr. I have used SetHandler fcgid-script in 
$HOME/www/openengr/c-bin/.htaccess when attempting to get this last 
.htaccess to work.

I'm hoping for assistance in a correct setup where I can create 
filter(s) to process my .oea files, much like php acts like a filter for 
.php file-type extensions.

I need to overcome this hurdle so I can move on the meat of my website, 
which is the engineering calculations.

I have spent every waking hour during non-work hours getting my 
infrastructure ready, but I'm finding not only my time limited, but I 
need more sleep!

Thanks in advance for your time.

Mike




---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org