Hi, I am using now just hiawatha.conf as this is simple one host testing site.
hiawatha.conf:
# Hiawatha main configuration file
#
# VARIABLES
# With 'set', you can declare a variable. Make sure the name of the
# variable doesn't conflict with any of the configuration options.
# The variables are case-sensitive and cannot be redeclared.
#
set LOCALHOST = 127.0.0.0/8
# GENERAL SETTINGS
#
ServerId = www-data
ConnectionsTotal = 1000
ConnectionsPerIP = 25
SystemLogfile = /var/log/hiawatha/system.log
GarbageLogfile = /var/log/hiawatha/garbage.log
# BINDING SETTINGS
# A binding is where a client can connect to.
#
Binding {
Port = 80
MaxRequestSize = 1000000
MaxUploadSize = 550
}
#
#Binding {
# Port = 443
# TLScertFile = ssl/hiawatha.pem
# Interface = 127.0.0.1
# MaxRequestSize = 2048
# TimeForRequest = 30
#}
# 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.
#
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
CGIextension = cgi
#
FastCGIserver {
FastCGIid = PHP
ConnectTo = /run/php/php7.0-fpm.sock
Extension = php
}
# URL TOOLKIT
# This URL toolkit rule was made for the Banshee PHP framework,
# which can be downloaded from http://www.banshee-php.org/
#
#UrlToolkit {
# ToolkitID = banshee
# RequestURI isfile Return
# Match ^/(css|files|fonts|images|js)($|/) Return
# Match ^/(favicon.ico|robots.txt)$ Return
# Match [^?]*(\?.*)? Rewrite /index.php$1
#}
UrlToolkit {
ToolkitID = wordpress
RequestURI exists Return
Match [^?]*(\?.*)? Rewrite /index.php$1
}
UrlToolkit {
ToolkitID = wp-multi-subdir
Match ^/index\.php$ Return
Match ^/([_0-9a-zA-Z-]+/)?wp-admin$ Redirect /$1wp-admin/
RequestURI exists Return
Match ^/([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) Rewrite /$2
Match ^/([_0-9a-zA-Z-]+/)?(.*\.php)$ Rewrite /$2
Match ^/[_0-9a-zA-Z-]+(/wp-.*) Rewrite /$1 # if not present 404 - error is displayed
Match .* Rewrite /index.php
}
# DIRECTORY SETTINGS
# You can specify some settings per directory.
#
Directory {
DirectoryID = static
Path = /css, /fonts, /images, /js
ExpirePeriod = 2 weeks
}
#
Directory {
DirectoryID = files
Path = /files
ShowIndex = yes
StartFile = index.html
ExecuteCGI = no
}
# 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 = /var/www/hiawatha
StartFile = index.html
AccessLogfile = /var/log/hiawatha/access.log
ErrorLogfile = /var/log/hiawatha/error.log
# VIRTUAL HOSTS
# Use a VirtualHost section for each website you want to host.
#
VirtualHost {
Hostname = test.www.informaix.de
WebsiteRoot = /var/www/test.www.informaix.de/wwwroot
StartFile = index.php
AccessLogfile = /var/www/test.www.informaix.de/log/access.log
ErrorLogfile = /var/www/test.www.informaix.de/log/error.log
TimeForCGI = 5
UseFastCGI = PHP
UseToolkit = wordpress, wp-multi-subdir
UseDirectory = static, files
}
error.log:
79.252.222.210|Sun 04 Sep 2016 08:22:11 +0200|/var/www/test.www.informaix.de/wwwroot/wp-admin/admin-ajax.php|CGI application timeout
That would point me to PHP execution timeout, but those values are set as per recommendation for hiawatha/wordpress from http://dotbalm.org/hosting-wordpress-with-hiawatha/
Also my machine (VPS) is a decent 4-core Xeon E5 with 14GB RAM.