Cherokee Web Server
C Python M4 JavaScript C++ Makefile Other
Latest commit 94dcf14 Jul 22, 2016 @skinkie skinkie committed on GitHub Merge pull request #1185 from alanswanson/master
Ignore invalid header causing HTTPOXY vulnerability
Failed to load latest commit information.
admin Disable SSLv3 by default. Oct 17, 2014
cget Update cget.1 Apr 23, 2015
cherokee Ignore invalid header causing HTTPOXY vulnerability Jul 22, 2016
contrib Managed to drop the status from line 176. Readded. Jan 5, 2014
dbslayer Changing the copyright messages to fit for 2014. Happy new year, ever… Dec 29, 2013
doc Corrections as proposed by Skinkie Sep 21, 2014
icons Clean up: Trims trailing spaces. Dec 14, 2009
m4 Some minor autoconf/automake fixes Mar 18, 2013
packages Gets rid of most the Windows related code. There is no reason we keep Mar 21, 2013
po Release of Cherokee 1.2.104 Apr 1, 2014
qa A test for issue #1140 Sep 17, 2014
themes Artwork censorship Feb 4, 2014
www Artwork censorship Feb 4, 2014
.gitignore Updated gitignore with PyCharm .idea folder. May 10, 2014
AUTHORS git-svn-id: svn://cherokee-project.com/cherokee-pyscgi@504 5dc97367-9… Dec 10, 2006
COPYING git-svn-id: svn://cherokee-project.com/cherokee/trunk@243 5dc97367-97… Apr 1, 2006
INSTALL This was autogenerated from automake --add-missing Aug 13, 2013
Makefile.am Removed Windows code bits from source Sep 19, 2014
NEWS git-svn-id: svn://cherokee-project.com/cherokee/trunk@243 5dc97367-97… Apr 1, 2006
README.rst Hyperlink formatting Sep 18, 2014
SUNWcherokee.spec git-svn-id: svn://cherokee-project.com/cherokee/trunk@1131 5dc97367-9… Feb 21, 2008
acinclude.m4 New year, new copyright notice: 's/2009/2010/g'. Jan 20, 2010
autogen.sh Update autogen.sh Jun 4, 2013
censor-artwork.py Artwork censorship Feb 4, 2014
cherokee-admin-launcher.1 Fixes some documentation typos. Thanks to Tom Browder <tom.browder@gm… Feb 17, 2011
cherokee-admin.1 Updates manpages Feb 16, 2011
cherokee-config.1 Fixes some documentation typos. Thanks to Tom Browder <tom.browder@gm… Feb 17, 2011
cherokee-config.in git-svn-id: svn://cherokee-project.com/cherokee/trunk@243 5dc97367-97… Apr 1, 2006
cherokee-tweak.1 Fixes some documentation typos. Thanks to Tom Browder <tom.browder@gm… Feb 17, 2011
cherokee-worker.1 git-svn-id: svn://cherokee-project.com/cherokee/trunk@1923 5dc97367-9… Aug 31, 2008
cherokee.1 Updates manpages Feb 16, 2011
cherokee.conf.sample.pre Changing /icons to /cherokee_icons (fix Google issue #1383) Jan 26, 2013
cherokee.m4 git-svn-id: svn://cherokee-project.com/cherokee/trunk@243 5dc97367-97… Apr 1, 2006
cherokee.pc.in git-svn-id: svn://cherokee-project.com/cherokee/trunk@243 5dc97367-97… Apr 1, 2006
cherokee.spec.in Changing the copyright messages to fit for 2014. Happy new year, ever… Dec 29, 2013
configure.ac Removed Windows code bits from source Sep 19, 2014
constants.h.pre Merges the Front-Line Cache branch. May 3, 2011
contributing.md Update contributing.md Jan 3, 2014
debian_testing.sh git-svn-id: svn://cherokee-project.com/cherokee/trunk@243 5dc97367-97… Apr 1, 2006
debian_testing_chroot.sh git-svn-id: svn://cherokee-project.com/cherokee/trunk@243 5dc97367-97… Apr 1, 2006
developers.py Replaced Taher's old octality email address with his current one. Jan 3, 2014
http-cherokee.xml.pre Changing the copyright messages to fit for 2014. Happy new year, ever… Dec 29, 2013
mods-admin.sample git-svn-id: svn://cherokee-project.com/cherokee/trunk@243 5dc97367-97… Apr 1, 2006
org.cherokee.webserver.plist.in Adds support for MacOS X's launchd. It implements RFE #871: May 16, 2010
pam.d_cherokee git-svn-id: svn://cherokee-project.com/cherokee/trunk@243 5dc97367-97… Apr 1, 2006
pam.samba.m4 git-svn-id: svn://cherokee-project.com/cherokee/trunk@243 5dc97367-97… Apr 1, 2006
performance.conf.sample.pre git-svn-id: svn://cherokee-project.com/cherokee/trunk@2989 5dc97367-9… Mar 18, 2009

README.rst

Cherokee Web Server

Web site

Visit our main website for the latest updates: www.cherokee-project.com.

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

or, for Pacman-based systems such as ArchLinux:

sudo pacman -Sy autoconf automake libtool

To check out the code from GitHub, do the following:

git clone http://github.com/cherokee/webserver.git

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

cd webserver
./autogen.sh [options]
make
make install

./autogen.sh 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 ./autogen.sh follow shortly in the Frequently Asked Questions (FAQ) section.

Building from a tar.gz file

After downloading (likely from http://www.cherokee-project.com/downloads.html) 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:

wget http://www.cherokee-project.com/download/trunk/cherokee-latest-snapshot.tar.gz
tar xf cherokee-latest-snapshot.tar.gz
cd cherokee-latest-snapshot
./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var
make
sudo make install

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

License

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:

http://lists.cherokee-project.com/

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

http://lists.cherokee-project.com/listinfo/cherokee

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:

http://lists.cherokee-project.com/listinfo/cherokee-dev

http://lists.cherokee-project.com/listinfo/cherokee-commits

The mailing lists' archives are available at:

http://lists.cherokee-project.com/pipermail/cherokee/

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

IRC channel

Communicate with the Cherokee community via IRC:

irc.freenode.net, 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
make

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 build a MacOS X binary package

./autogen.sh --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
packages/osx/build.py

Development

./autogen.sh --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 V=1 CFLAGS="-ggdb3 -O0" -j8

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

How to create a release .tar.gz

git clone http://github.com/cherokee/webserver.git
cd webserver
./autogen.sh
make dist-gzip

The resulting file will be created in the current directory and will be a .tar.gz archive.