FAQ - Frequently asked questions for FCT
----------------------------------------
So far, (nearly) _all_ problems reported with FCT depend on the
configuration of the HTTP-Server. So i give you these informations
for CGI configuration of an apache HTTP-Server.

Q0: FCT just doesnt work. I have done all you mentioned for installation.
A:  Read the rest of FAQ ;-)
    Maybe you want to disable any caching in your Browser to get the actual
    HTML-Pages generated by FCT every time!
Q1:I have problems with CGI. I get an error-message like:
   "Forbidden
   You don't have permission to access /Firewall/cgi-bin/fill_net_cfg.cgi
   on this server."
A: This occurs, when the access rights are not coorect, e.g. missing
   the x-bit for FCT/cgi-bin/*.cgi, or your HTTP-Daemon is misconfigured
   for CGI.
   Execute Install.sh to set correct access rights.
   Configure your HTTP-Daemon correct for CGI - see below.

Q2:I have problems with CGI. I get an error-message like:
   "Internal Server Error
   The server encountered an internal error or misconfiguration and was
   unable to complete your request."
A: This occurs, when the access rights are not correct, e.g. missing
   the r-bit for FCT/cgi-bin/*.cgi or an error occured while executing
   a cgi-script.
   Execute Install.sh to set correct access rights.
   Check the cgi-script, e.g. execute it by hand in a shell!

Q3:I have problems with CGI. The source-code is displayed by the HTTP-Server
   instead of executed.
A: Your HTTP-Daemon is wrong configured. CGI inst executed.
   Configure your HTTP-Daemon for CGI.
   Also, check that the access rights are set correct, see file INSTALL.
   Here are my configuration files for apache:
access.conf:
   # all standard - no changes
   <Directory /usr/local/httpd/htdocs>
   Options Indexes FollowSymLinks
   AllowOverride None
   order allow,deny
   allow from all
   </Directory>
   <Directory /usr/local/httpd/cgi-bin>
   AllowOverride None
   Options None
   </Directory>
   # new for FCT
   <Directory /FCT/cgi-bin>
   Options ExecCGI
   </Directory>
srm.conf:
   # all standard - no changes
   DocumentRoot /usr/local/httpd/htdocs
   UserDir public_html
   DirectoryIndex index.html index.htm welcome.html welcome.htm
   FancyIndexing on
   ...
   # To use CGI scripts: (ScriptAlias should do the same)
   AddHandler cgi-script .cgi
   ...
   # new for FCT
   ScriptAlias /FCT/cgi-bin/ /var/adm/FCT/cgi-bin/
   Alias /FCT /var/adm/FCT
 
Q4:How does CGI work, who do i configure apache for CGI?
A: See Q1-3 above.
   Some basic comments about CGI:
   - (some) CGI directories must be defined for the HTTP-Server
   -> file access.conf:
      <Directory /FCT/cgi-bin>
      Options ExecCGI
      </Directory>
   -> The path '/FCT' is an alias (for the HTTP-Server) and points
      to the FCT installation directory, e.g. '/var/adm/FCT'
   -> file srm.conf:
      Alias       /FCT          /var/adm/FCT
      ScriptAlias /FCT/cgi-bin/ /var/adm/FCT/cgi-bin/

   - CGI scripts are in general executable scripts with HTML output
     or plain ascii output - for the later, the lines
     Content-type: text/plain
     ""
     must (!) be printed first.
   - all CGI scripts may be executed by hand in a shell

   - the scripts and the directory need rx-bits (read/execute) for the
     user-id of the HTTP-Server
   -> execute file Install.sh, maybe with user-id of httpd as parameter
      root# ./Install.sh -cgi wwwrun

   - The HTTP-Daemon needs a SIGHUP signal, when config files have been changed.
   
   - The HTTP-Daemon spawns aditional processes with the user-id defined in httpd.conf.
     So, in general, there is one httpd process owned by root and additional
     httpd proceses, e.g. owned by nobody or wwwrun or ...
 
