Free / Open Source Web (HTTP) Server Software
Run your own web server
Free/Open Source Web (HTTP) Server Software
This page lists free and/or open source HTTP server software that you can use for your own web server. Some of the servers listed here are general purpose web servers with support for server side scripting like PHP, Perl, Python, etc, while others are specialized servers optimized for a particular task. Also listed are high performance, lightweight web servers, designed for demanding sites.
NOTE: if you have arrived at this page because you are looking for software to create your own website, please see the Free HTML Editors and WYSIWYG Web Editors page instead. You should also read the How to Start / Create Your Own Website: The Beginner's A-Z Guide. (The page you're currently reading, the Free Web Server Software page, is not actually relevant for new webmasters starting their own website.)
For those really looking for web server software: you may also be interested in Free Web Hosting Control Panel Software, which let you manage your web server through your web browser.
Free/Open Source Web (HTTP) Server Software
- Apache HTTP Server
Apache is probably the most popular web server on the Internet, serving the majority of active websites. It works on a large number of operating systems, including Linux, FreeBSD, Solaris, Windows, Mac OS X, Novell Netware, OS/2, and so on (and probably any Unix-like system). It has a huge number of features, including support for a large number of server side programming languages (eg, PHP, Perl, Python, etc), authentication schemes (via modules like mod_access, mod_auth, mod_auth_digest, etc), SSL/TLS support (via mod_ssl), proxy, URL rewriting (mod_rewrite), custom log files (mod_log_config), filtering (mod_include), compression (mod_gzip), virtual hosting, IPv6, etc. This is an open source web server, released under the Apache License. (For tutorials on how to install Apache on Windows, please see How to Install Apache 2.2 on Windows Vista, How to Install and Configure Apache 2 on Windows XP and How to Install the Apache 1.x Web Server on Windows XP and Below.)
Lighttpd, pronunced "lighty", is designed with high performance in mind and is especially useful for sites that has a high load. It boasts a small memory footprint, a light CPU load, and has a feature set that includes things like FastCGI, SCGI, Auth, HTTP compression, URL rewriting, SSI, chroot, SSL/TLS (via OpenSSL), virtual hosting, etc. It uses a single process with multiple threads, and no new processes or threads are started with every new connection. This server is apparently used to power big sites like Youtube, SourceForge and so on. This open source web server is released under the BSD licence, and runs under Linux, other Unix-type operating systems, and also under Windows (with the help of Cygwin).
- nginx HTTP Server
This is a lightweight HTTP server, reverse proxy (useful for load distribution, etc) and mail proxy server. Web server features include support for static files and index files, accelerated reverse proxy with caching, SSL and TLS SNI, FastCGI, name and IP-based virtual servers, load balancing, access control based on IP and HTTP Basic authentication, URL rewrite module, streaming of FLV and MP4 files, filters (eg gzip), speed limitation, etc. Mail proxy features include SMTP, POP3, IMAP, a variety of authentication methods (eg, USER/PASS, APOP, AUTH LOGIN/PLAIN/CRAM-MD5, LOGIN), STARTTLS and STLS, and SSL. The server has been tested on FreeBSD, Linux, Solaris, Windows, and Mac OS X.
Tornado is a scalable non-blocking web server, meant to be used for real-time web services. According to the website, it is able to handle thousands of simultaneous standing connections. It has built-in cross-site request forgery (or XSRF) protection, agressive file caching (to improve performance), support for user interface (UI) modules, etc. The server is available in source form and requires Python to be installed. The server is an open source version of what was originally developed for FriendFeed.
- HTTP File Server, or HFS
HFS is primarily meant to be a file server, that is, it is mainly designed for people making files available for download on their site and sharing files. It supports file uploads and downloads, has a virtual file system, includes bandwidth control, log files, has a dynamic DNS updater, etc. Unlike the general-purpose HTTP servers, it does not have CGI support. The program is open source and is licensed under the GNU GPL. This is a Windows program, although it also works under WINE.
- Nostromo Server, or nhttp
Nostromo, or the nhttpd HTTP server, features SSL (ie, https), basic authentication, IPv6, chroot, setuid, custom responses, aliases, virtual hosts, logs in CLF format, CGI support, etc. It runs as a single process. The server has been tested with Linux, FreeBSD, NetBSD and OpenBSD.
How to Link to This Page
It will appear on your page as: