On Jul 11, 2008, at 5:14 PM, Peter L. Berghold wrote:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hey folks,

I've been doing web searches looking for the answer to this and I can't
find my Geronimo book wherever I put it last.  I am trying enable the
processing of CGI scripts on Geronimo.

Can someone point me in the right direction?

Should be doable. I don't recall hearing about anyone who's set this up on Geronimo, however. If you're willing to run some experiments, I expect that we can help get it running...

Are you using Tomcat or Jetty as your web container?

Here's general info for Tomcat -- 
http://tomcat.apache.org/tomcat-6.0-doc/cgi-howto.html
Here's general info for Jetty -- 
http://jetty.mortbay.org/jetty5/faq/faq_s_900-Content_t_CGI.html

Now a matter of getting this running in Geronimo. Assuming you're using Tomcat as a web container, I'd deploy this as a web-app:

Place your scripts in WEB-INF/cgi/

Borrowing from the tomcat instructions use this as your WEB-INF/web.xml:

<?xml version="1.0" encoding="UTF-8"?>

<web-app xmlns="http://java.sun.com/xml/ns/javaee";
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd "
   version="2.5" >

<!-- Common Gateway Includes (CGI) processing servlet, which supports --> <!-- execution of external applications that conform to the CGI spec --> <!-- requirements. Typically, this servlet is mapped to the URL pattern --> <!-- "/cgi-bin/*", which means that any CGI applications that are --> <!-- executed must be present within the web application. This servlet --> <!-- supports the following initialization parameters (default values --> <!-- are in square brackets): --> < !-- --> <!-- cgiPathPrefix The CGI search path will start at --> <!-- webAppRootDir + File.separator + this prefix. --> <!-- [WEB-INF/ cgi] --> < !-- --> <!-- debug Debugging detail level for messages logged --> <!-- by this servlet. [0] --> < !-- --> <!-- executable Name of the exectuable used to run the --> <!-- script. [perl] --> < !-- --> <!-- parameterEncoding Name of parameter encoding to be used with --> <!-- CGI servlet. --> <!-- [System.getProperty("file.encoding","UTF-8")] --> < !-- --> <!-- passShellEnvironment Should the shell environment variables (if --> <!-- any) be passed to the CGI script? [false] --> < !-- --> <!-- IMPORTANT: To use the CGI servlet, you also need to rename the --> <!-- $CATALINA_HOME/server/lib/servlets-cgi.renametojar file --> <!-- to $CATALINA_HOME/server/lib/servlets- cgi.jar -->

    <servlet>
        <servlet-name>cgi</servlet-name>
<servlet-class>org.apache.catalina.servlets.CGIServlet</ servlet-class>
        <init-param>
          <param-name>debug</param-name>
          <param-value>0</param-value>
        </init-param>
        <init-param>
          <param-name>cgiPathPrefix</param-name>
          <param-value>WEB-INF/cgi</param-value>
        </init-param>
         <load-on-startup>5</load-on-startup>
    </servlet>

    <!-- The mapping for the CGI Gateway servlet -->

    <servlet-mapping>
        <servlet-name>cgi</servlet-name>
        <url-pattern>/cgi-bin/*</url-pattern>
    </servlet-mapping>

</web-app>

Deploy the app and test... Let us know your results.

--kevan

Reply via email to