Skip to content
This repository

Cherokee Web Server

Fetching latest commit…

Cannot retrieve the latest commit at this time

icons Clean up: Trims trailing spaces.
AUTHORS git-svn-id: svn:// 5dc97367-97…
COPYING git-svn-id: svn:// 5dc97367-97…
NEWS git-svn-id: svn:// 5dc97367-97…
SUNWcherokee.spec git-svn-id: svn:// 5dc97367-9…
acinclude.m4 New year, new copyright notice: 's/2009/2010/g'.
cherokee-admin-launcher.1 Fixes some documentation typos. Thanks to Tom Browder <tom.browder@gm…
cherokee-admin.1 Updates manpages
cherokee-config.1 Fixes some documentation typos. Thanks to Tom Browder <tom.browder@gm… git-svn-id: svn:// 5dc97367-97…
cherokee-tweak.1 Fixes some documentation typos. Thanks to Tom Browder <tom.browder@gm…
cherokee-worker.1 git-svn-id: svn:// 5dc97367-9…
cherokee.1 Updates manpages
cherokee.m4 git-svn-id: svn:// 5dc97367-97… git-svn-id: svn:// 5dc97367-97…
config.h.win32 git-svn-id: svn:// 5dc97367-97…
constants.h.pre Merges the Front-Line Cache branch. git-svn-id: svn:// 5dc97367-97… git-svn-id: svn:// 5dc97367-97…
mods-admin.sample git-svn-id: svn:// 5dc97367-97… Adds support for MacOS X's launchd. It implements RFE #871:
pam.d_cherokee git-svn-id: svn:// 5dc97367-97…
pam.samba.m4 git-svn-id: svn:// 5dc97367-97…
performance.conf.sample.pre git-svn-id: svn:// 5dc97367-9…

Cherokee Web Server

Web site

Visit our main website for the latest updates:

Compiling from source

Building from the repository

To build from the repository, you will require autoconf, automake, and libtool tools to be available, typically available on your distribution either by default or by running the following on Debian-based systems:

sudo apt-get install autoconf automake libtool

or, for Yum-based systems, such as RedHat, CentOS or Fedora:

sudo yum install autoconf automake libtool

To check out the code from GitHub, including all dependencies that are specified as Git submodules, do the following:

git clone --recursive

or, if using a version of Git < 1.6.5, run:

git clone
git submodule update --init

Once cloned, cd into the resulting source directory and run ./ to set up the environment and generate ./configure:

cd webserver
./ [options]
make install

./ will accept any optional parameters otherwise typically passed to ./configure; in doing so you can avoid needing to run ./configure separately.

Several examples of using ./ follow shortly in the Frequently Asked Questions (FAQ) section.

Building from a tar.gz file

After downloading (likely from and extracting, you should run ./configure, with options as appropriate. The standard options are documented in the INSTALL file. Typically, the most interesting options are:

  • the usual --prefix=/usr
  • --localstatedir=/var
  • --sysconfdir=/etc

After running ./configure, issues the make command, and then make install (excuting this last command as root if the destination permissions require that).

Tying this all together will result in commands like the following:

tar xf cherokee-latest-snapshot.tar.gz
cd cherokee-latest-snapshot
./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var
sudo make install

The exact options passed to ./configure can vary based upon your configuration.


Cherokee is released under GPL v2. Read the COPYING file for more information.

Mailing lists

There are several mailing lists available for Cherokee and they are listed at:

The main mailing list, where questions should be sent and general discussion takes place, is:

There are also a few technical mailing lists. Developers and package maintainers should subscribe to these mailing lists as well as the main mailing list:

The mailing lists' archives are available at:

Don't hesitate to subscribe and contribute to any of the mailing lists!

IRC channel

Communicate with the Cherokee community via IRC:, channel #cherokee

Frequently Asked Questions (FAQ)

Here is a list of the most frequently asked questions regarding compilation and similar topics:

How to compile it

./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var

How to create dynamic modules

Modules are created dynamically by default.

How to configure the module xyz to be linked statically

./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --enable-static-module=xyz

How to build everyhing statically

./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --enable-static-module=all

How to compile it on Windows

./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --enable-static-module=all --enable-static --enable-shared=no --enable-beta --enable-trace

How to build a MacOS X binary package

./ --prefix=/usr/local --with-wwwroot=/Library/WebServer/Documents --with-wwwuser=www --with-wwwgroup=www --with-mysql=no --with-ffmpeg=no --with-ldap=no --enable-beta
make -j8


./ --prefix=/usr --sysconfdir=/etc --localstatedir=/var --enable-static-module=all --enable-static --enable-shared=no --with-mysql=no --with-ffmpeg=no --with-ldap=no --enable-beta --enable-trace --enable-backtraces --enable-maintainer-mode
make CFLAGS="-ggdb3 -O0" -j8

How to cross compile the Win32 version

How to create a self signed certificate for TLS

openssl req -days 1000 -new -x509 -nodes -out /etc/cherokee/ssl/cherokee.pem -keyout /etc/cherokee/ssl/cherokee.pem
Something went wrong with that request. Please try again.