What is this?
The Windows Webserver was developed for testing PHP and CGI/FCGI programs under Windows, without installing an Apache or IIS environment. The Webserver is easy to install and comes with buildin PHP 8.0.1, FastCGI support, mod_rewrite and SSL/TLS 1.2. Also FTP(S) and WebDAV is integrated. WWebserver is not Apache and was developed from the scratch. It was tested with common OpenSource applications like Wordpress, Joomla, Drupal, Typo3, Magento, phpMyAdmin, PIWIK, AWstats. It's like XAMPP - but much more smarter.
Installation and Configuration
1. Install complete program with PHP 8.0.1 (Win7+, Win10)
wwebserver_php_801_setup.exe (36.0 MB) - $ 10
or PHP 7.4.12 (Win7+, Win10)
wwebserver_php_7412_setup.exe (35.6 MB) - $ 10 or PHP 7.3.11 wwebserver_php_7311_setup.exe (35.5 MB) - $ 10 or older versions ...
Or with PHP 5.4.45 (WinXP+)
wwebserver_php_5445_setup.exe (16.6 MB) - Free
Or use only command line, the smallest version without buildin PHP, SSL, FTP, WebDAV, WWadmin.
You have to download your preffered PHP version manually and configurate it with FastCGI.
wwebserver_18_cmd.zip (200 KB) - Free
2. Type in your Host, Port, Document Path and start it.
3. Open your Webbrowser and start your PHP application like:
http://localhost/index.php
Virtual Directories
You can define virtual directories to handle multiple document paths.
Therefore edit the following configuration file:
C:\WWebserver\cfg\vdir.txt
# Definitions of virtual directories
# <Path>;<Directory>
#
# Note: There must be an '/' on end of <Path>
pma/;C:\phpMyAdmin
typo3/;C:\typo3
drupal/;C:\drupal
wordpress/;C:\wordpress
You can start the applications now verry simple like: http://localhost/wordpress
Note: After changing vdir.txt please STOP and START Webserver again.
CGI Programs
You can define own CGI Programs for example Perl or Ruby.
Therefore edit the following configuration file:
C:\WWebserver\cfg\cgi.txt
# Definitions of CGI programs
# <Alias 1> <Alias 2> ...;<Full path to CGI program>
# <Alias 1> <Alias 2> ...;PHPBuildIn
# <Alias 1> <Alias 2> ...;PHPFCGI [<Full path to php-cgi.exe>]
# <Alias 1> <Alias 2> ...;FCGI <Full path to FastCGI program> | <IP>:<Port> or <Pipename>
# <Alias 1> <Alias 2> ...;FCGI <IP>:<Port> or <Pipename>
.php .php4 .php3;PHPFCGI
.rb;C:\ruby\bin\ruby.exe
.pl;C:\perl\bin\perl.exe
In this example we associate file extensions .rb with Ruby scripts and .pl
with Perl scripts.
.php .php3 .php4 files are associated with PHP FastCGI support.
Note: After changing cgi.txt please STOP and START Webserver again.
PHP Configuration
You can control the PHP environment with the php.ini file:
C:\WWebserver\cfg\php.ini
You can enable/disable the PHP extension DLL's located in directory:
C:\WWebserver\ext
Note: After changing php.ini you have to EXIT and RESTART the Webserver.
Virtual Hosts
You can define virtual hosts. Therefore edit the following configuration file:
C:\WWebserver\cfg\vhost.txt
# [<unique name>=]<hostname1>[,<hostname2> ...];<Directory>
# You can create for every virtual host a own configuration directory: cfg/vhost/<hostname>
# Following configuration files can be overwritten: mime.txt, vdir.txt, cgi.txt, php.ini (only for FastCGI)
# Example
mydomain.com,www.mydomain.com;C:\MyDomain.com
mydomain2.com,www.mydomain2.com;C:\MyDomain2.com
URL Rewriting
Read more about mod_rewrite, Redirect and .htaccess.
Directory Protection
WWebserver understand the HTTP Basic Authorization.
Read more about directory protection.
SSL/TLS 1.2
WWebserver support TLS 1.2 per default (based on OpenSSL v1.1.0b). Self signed X.509 certificates (RSA 2048 Bits) are generated automatically for every hostname. You can install your own certificates in the following directory:
C:\WWebserver\cfg\ssl for public certificates
C:\WWebserver\cfg\ssl\key for private key files
Certificates and key files must have the following filename convention: <hostname>.crt, <hostname>.key
Note: Old Webbrowsers does not support TLS 1.2. You need modern Browser for HTTPS connections.
Self signed certificates are marked as insecure by most Webbrowsers.
FTP-Server with explicit TLS
Read manual: Configuration of internal FTP-Server
WebDAV
If you want to get WebDAV access to the document path you have to create a WWAdmin password with reset_pwd.bat
After that you can login with your WebDAV client and wwadmin user. FTP users in cfg\ftpuser.txt are allowed to access they're resources with following URL:
http(s)://<hostname>/webdav-users/<user>/
The path /webdav-users/... will always prompt a user login and link to the home directory of the specified user.
Note! You dont have to enable FTP to get WebDAV access with wwadmin user or FTP users.
Cronjobs
You can execute cronjobs with WWebserver. Crontab is organized like Linux crontab. Please edit following file:
C:\WWebserver\cfg\crontab.txt
# <min> <hour> <day> <month> <weekday> <url>|exec <cmd> [<resultfile>]
# Weekday: 1 = Mon, 0 = Sun
# In this example we call every 10 minutes a URL and save the result in cron_result.html
*/10 * * * * https://www.mydomain.com/program.php?param1=1¶m2=2 cron_result.html
# In this example we execute a local program (wget.exe) on Saturday 23:00
0 23 * * 6 exec c:\wget.exe http://www.mydomain.com/program.php?param1=1¶m2=2 -O cron_result_wget.html
Note: You dont need to restart Webserver after changing crontab.txt.
Server Optimization
Number of parallel requests, timeouts, enabling/disabling .htaccess and directory index can be configurated with following configuration file:
C:\WWebserver\cfg\speed.txt
Special Files
You can lock access to specific directory and all sub directories simply by creating the following empty file:
forbidden
Command Line Options
You can see all command line options with --help:
C:\WWebserver\wwebserver_cmd.exe --help
Server Administration Panel
http://localhost/wwadmin/
Experimental Laboratory for Scripts
Read manual: Install WWLabor
Forum
Bug reporting and discussion: Take a look at the Windows Webserver Forum.
Old versions (also for Windows 2000) you can find here.