Provided by: golf_601.4.41-1_amd64 bug

NAME

       CGI - Golf documentation (running-application)

DESCRIPTION

       You  can  run  Golf  application as a CGI (Common Gateway Interface) program, if your web server supports
       CGI. This is not recommended in general, as CGI programs do not exhibit  great  performance.  However  in
       some cases you may need to use CGI, such as when performance is not of critical importance, or when other
       methods of execution are not feasible.

       To  run  your  application with CGI, use command-line program. Since Golf applications require running in
       the security context of the user who owns the application, you must use "suexec" (or similar feature)  of
       your web server.

       The following script sets up an application named "func_test" (any kind of application will do) to run as
       CGI  (after  it's  been compiled with gg) on Apache web server running on Ubuntu 18 and up. For other web
       servers/distros, consult their documentation on how to setup CGI for a program.

           #prep repos
               sudo apt update

           #enable CGI on apache
               sudo a2enmod cgid
               sudo service apache2 restart

           #Install suexec-custom for Apache
               sudo apt-get -y install apache2-suexec-custom
               sudo a2enmod suexec
               sudo service apache2 restart

           #setup a "gg" directory under cgi-bin where your application can run
               sudo mkdir -p /usr/lib/cgi-bin/gg
               sudo chown $(whoami):$(whoami)  /usr/lib/cgi-bin/gg
               sudo sed -i '1c\/usr/lib/cgi-bin/gg' /etc/apache2/suexec/www-data

           #copy your program to "gg" directory
               sudo mv $GG_ROOT/var/lib/gg/bld/func-test/func-test /usr/lib/cgi-bin/gg
               sudo chown $(whoami):$(whoami)  /usr/lib/cgi-bin/gg/func-test
               sudo chmod 700  /usr/lib/cgi-bin/gg/func-test

           #add user/group of Gliim application user to suexec
               sudo sed -i "/SuexecUserGroup/d" /etc/apache2/sites-enabled/000-default.conf
               sudo sed -i "s/<\/VirtualHost>/SuexecUserGroup $(whoami) $(whoami)\n<\/VirtualHost>/g" /etc/apache2/sites-enabled/000-default.conf
               sudo service apache2 restart

           #the application is at http://127.0.0.1/cgi-bin/gg/func-test?...
           #substitute 127.0.0.1 for your web address

SEE ALSO

        Running application

       application-setup CGI command-line service See all documentation

$DATE                                               $VERSION                                           GOLF(2gg)