## CGIWrap - Tips and Tricks

    From: Shane DeRidder

    Actually, if you use Apache 1.1 (recently released), you can use their
    built-in handlers like:

    AddHandler cgi-wrapper .cgi
    Action cgi-wrapper /virtual-path-to-wrapper/username

    Of course, this requires all cgi's to end in '.cgi' but there is no need
    to force the cgis to remain in one directory (as long as you compile the
    wrapper to believe cgi's are in the user's root html directory).

    I have my server configured to disallow all CGIs, so users are forced to
    use the wrapper...works better than I had ever expected.  They can do
    anything with their web sites - and none of them realize the wrapper
    is in use.

    Shane-

    --
    Shane DeRidder     | System Administrator / Webmaster
    shane@together.net | Together Networks
    (802)860-5166      | http://www.together.net

    For netscape server in obj.conf:

    NameTrans fn="pfx2dir" from="/cgi" dir="path_to_cgiwrap" name="cgi"
    NameTrans fn="pfx2dir" from="/cgid" dir="path_to_cgiwrapd" name="cgi"

    -----
    Joe Hourcle
    Web Development Staff
    Computer and Information Resource Center
    The George Washington University

    From: Seth Chaiklin

    cgiwrapd and nph-cgiwrapd provide information about the installation of
    your web-server that you might not want to make generally available.

    Using the  directive under Apache 1.1 (or greater) it
    is possible to restrict who is allowed to use these two debugging
    versions of cgiwrap.

    For example:
    <Location /cgi-bin/cgiwrapd>
    Order deny,allow
    Deny from all
    Allow from <your ip number here>
    </Location>

    <Location /cgi-bin/nph-cgiwrapd>
    Order deny,allow
    Deny from all
    Allow from >your ip number here>
    </Location>

    Depending on what value you place for allow from, you can control how
    widely these debugging versions
    are available.

    Date: Sun, 7 Dec 1997 23:20:28 -0500 (EST)
    From: Yuji Shinozaki

    Look at the Rewrite rules.  You will need to activate mod_rewrite
    and recompile (see the Apache documentation and Configuration file:
    you will need to uncomment the follwing line and recompile.

    Module rewrite_module      mod_rewrite.o

    )

    For an example of the runtime configuration, in the srm.conf you could
    have:

    RewriteEngine on
    RewriteRule  ^/~([^/]+)/cgi-bin/(.*)    /cgi-bin/cgiwrap/$1/$2 [PT]
    RewriteRule  ^/~([^/]+)/cgi-bin-d/(.*)  /cgi-bin/cgiwrapd/$1/$2 [PT]
    RewriteRule  ^/~([^/]+)/nph-bin-d/(.*)  /cgi-bin/nph-cgiwrapd/$1/$2 [PT]
    RewriteRule  ^/~([^/]+)/nph-bin/(.*)    /cgi-bin/nph-cgiwrap/$1/$2 [PT]

    Which translates http://server.addr/~user/cgi-bin/program to
    http://server.addr/cgi-bin/cgiwrap/user/program. Also (in this example)
    http:/server.addr/~user/cgi-bin-d/program is translated to
    http://server.addr/cgi-bin/cgiwrapd/user/program, to provide debugging
    support.  And so on...

    The setup of cgi-wrap will determine where the scripts actually reside.
    (and I would actually put the script in a directory NOT in the
    usual public_html tree, because then it is possible for an anonymous user
    to read the cgi scripts).

    I have not implemented this to support virtual domains separately, but
    it should be possible.

    Hope this is helpful.

    yuji