Cherokee HTTP Server is a cross-platform Web server. It aims to be fast and fully-functional while remaining lightweight compared to alternative servers. It is written entirely in C. It is embeddable and extensible with plugins.
Released under the GNU General Public License, Cherokee is free software.
Cherokee was started in 2001 by Alvaro López Ortega. The motivation was to build a new web server; something newer than NCSA HTTPd and not as big and heavy as Apache HTTP Server, both of which are now more than 15 years old. Currently, Cherokee is developed and maintained by an open community of developers.
Cherokee's latest stable release is 0.99.22, 1st of Sep 2009, working toward the first 1.0 release to reflect "huge stability, performance and feature leaps". The most up-to-date version is always available through the SVN repository of the Cherokee project.
The project is very actively developed and has a tight release cycle. After the 0.5.x series the web server experienced some major refactoring, and the configuration file format changed drastically.
Since then many things have been added:
* Administration Interface: a new program called cherokee-admin was included to provide a user friendly web interface for server configuration.
* Speed boost (20% to 25% faster).
* Load balancing and reverse proxy to distribute load between multiple servers.
* New authentication mechanisms.
* New documentation system and improved documentation.
* cherokee-guardian, currently renamed to the main binary cherokee, a recovery mechanism integrated to ensure the server, cherokee-worker is always up and running.
* New themes and icon sets.
* New caching infrastructure: I/O cache is now much more efficient.
* Traffic shaping
* Streaming media, automatic traffic shaping based on average bitrate provided by FFmpeg
Cherokee supports the most widespread technologies nowadays:
* TLS/SSL support
* FastCGI bridge
* SCGI bridge
* CGI execution
* PHP execution (through FastCGI)
* Reverse HTTP proxy
* Authentication mechanisms: htpasswd, htdigest, PAM, LDAP, MySQL, plain text, and fixed authentication lists.
* Logging formats: Apache compatible, W3C and NCSA
* Regular expression based redirections
* HTTP load balancing
* Data base bridging and balancing
* TLS Server Side Indication
* Server Side Includes
* Gzip and Deflate on-the-fly encoding
* FFMpeg streaming
Cherokee can also handle redirections and virtual server configuration.
Cherokee is configured by an administration interface called cherokee-admin.