Forum

Can I run both CGI and FastCGI simultaneously on the same website

Samuel
10 January 2012, 16:27
Hi,

Currently my device is running only FastCGI (see hiawatha.conf below)
I would like to add a CGI program upload files (I used boutell cgic library)
What changes do I have to make to hiawatha.conf?

Best Regards,
Samuel

Hiawatha version: 7.4.1
Operating System: Debian-Linux (kernel: 2.6.32)

# Hiawatha main configuration file
#


# GENERAL SETTINGS
#
#ServerId = www-data
ConnectionsTotal = 150
ConnectionsPerIP = 10
SystemLogfile = /var/log/hiawatha/system.log
GarbageLogfile = /var/log/hiawatha/garbage.log
ExploitLogfile = /var/log/hiawatha/exploit.log

# BINDING SETTINGS
# A binding is where a client can connect to.
#
Binding {
Port = 80
MaxRequestSize = 1024
# Interface = 127.0.0.1
# MaxKeepAlive = 30
# TimeForRequest = 3,20
}
#
#Binding {
# Port = 443
# Interface = ::1
# MaxKeepAlive = 30
# TimeForRequest = 3,20
# SSLcertFile = hiawatha.pem
#}


# BANNING SETTINGS
# Deny service to clients who misbehave.
#
#BanOnGarbage = 300
#BanOnMaxPerIP = 60
#BanOnMaxReqSize = 300
#KickOnBan = yes
#RebanDuringBan = yes


# COMMON GATEWAY INTERFACE (CGI) SETTINGS
# These settings can be used to run CGI applications. Use the 'php-fcgi'
# tool to start PHP as a FastCGI daemon.
#
#CGIhandler = /usr/bin/perl:pl
#CGIhandler = /usr/bin/php-cgi:php
#CGIhandler = /usr/bin/python:py
#CGIhandler = /usr/bin/ruby:rb
#CGIhandler = /usr/bin/ssi-cgi:shtml
CGIhandler = /data/bin/ssi-cgi:html
#CGIextension = cgi
#

FastCGIserver {
FastCGIid = CFCGI
ConnectTo = 127.0.0.1:2005
Extension = cgi
SessionTimeout = 30
}


# URL TOOLKIT
# This URL toolkit rule was made for the Banshee PHP framework, which
# can be downloaded from http://www.hiawatha-webserver.org/banshee
#
#UrlToolkit {
# ToolkitID = banshee
# RequestURI isfile Return
# Match ^/(css|files|images|js)/ Return
# Match ^/(favicon.ico|robots.txt|sitemap.xml)$ Return
# Match .*\?(.*) Rewrite /index.php?$1
# Match .* Rewrite /index.php
#}


# DEFAULT WEBSITE
# It is wise to use your IP address as the hostname of the default website
# and give it a blank webpage. By doing so, automated webscanners won't find
# your possible vulnerable website.
#
Hostname = 127.0.0.1
#WebsiteRoot = /data/usr/var/www/hiawatha
WebsiteRoot = /data/sw/bin/web_lnk
StartFile = index.html
AccessLogfile = /var/log/hiawatha/access.log
ErrorLogfile = /var/log/hiawatha/error.log
#ErrorHandler = 404:/error.cgi
ServerId = 502:500
UseFastCGI = CFCGI
ExecuteCGI = yes

# VIRTUAL HOSTS
# Use a VirtualHost section to declare the websites you want to host.
#
#VirtualHost {
# Hostname = www.my-domain.com
# WebsiteRoot = /var/www/my-domain/public
# StartFile = index.php
# AccessLogfile = /var/www/my-domain/log/access.log
# ErrorLogfile = /var/www/my-domain/log/error.log
# TimeForCGI = 5
# UseFastCGI = PHP5
# UseToolkit = banshee
#}


# DIRECTORY SETTINGS
# You can specify some settings per directory.
#
Directory {
Path = /data/sw/bin/web_lnk
# ExecuteCGI = yes
UploadSpeed = 8000,8
# TimeForCGI = 10
}
Hugo Leisink
10 January 2012, 20:39
How Hiawatha handles file is determined by the extension of that file. You have specified .cgi files as to be handled by your FastCGI application.

To make Hiawatha execute normal CGI applications, specify its extension via the CGIextension setting. Since .cgi is already taken, you have to specify another extension.
This topic has been closed.