Installing Cherokee With PHP5 And MySQL Support On Debian Squeeze

Version 1.0
Author: Falko Timme
Follow me on Twitter

Cherokee is a very fast, flexible and easy to configure Web Server. It supports the widespread technologies nowadays: FastCGI, SCGI, PHP, CGI, TLS and SSL encrypted connections, virtual hosts, authentication, on the fly encoding, load balancing, Apache compatible log files, and much more. This tutorial shows how you can install Cherokee on a Debian Squeeze server with PHP5 support (through FastCGI) and MySQL support.

I do not issue any guarantee that this will work for you!


1 Preliminary Note

In this tutorial I use the hostname with the IP address These settings might differ for you, so you have to replace them where appropriate.


2 Installing MySQL 5

First we install MySQL 5 like this:

apt-get install mysql-server mysql-client

You will be asked to provide a password for the MySQL root user - this password is valid for the user root@localhost as well as [email protected], so we don't have to specify a MySQL root password manually later on:

New password for the MySQL "root" user: <-- yourrootsqlpassword
Repeat password for the MySQL "root" user: <-- yourrootsqlpassword


3 Installing Cherokee

Cherokee is available as a Debian package, therefore we can install it like this:

apt-get install cherokee

Now direct your browser to, and you should see the Cherokee placeholder page:

Cherokee can be configured through a web-based control panel which we can start as follows:

cherokee-admin -b

(By default cherokee-admin binds only to (localhost), which means you can only connect to it from the same system. With the -b parameter you can specify the network address to listen to. If no IP is provided, it will bind to all interfaces.)

Output should be similar to this one:

root@server1:~# cherokee-admin -b

  User:              admin
  One-time Password: 1Kkcc58atG8DNIM7

Web Interface:
  URL:               http://localhost:9090/

[11/04/2011 12:14:18.622] (error) rrd_tools.c:120 - Could not find the rrdtool binary.
Cherokee Web Server 1.0.8 (Jan 11 2011): Listening on port ALL:9090, TLS
disabled, IPv6 enabled, using epoll, 4096 fds system limit, max. 2041
connections, caching I/O, single thread

You need the username and password to log into the web interface which can be found on

This is how the web interface looks:

To stop cherokee-admin, type CTRL+C on the shell.


4 Installing PHP5

We can make PHP5 work in Cherokee through FastCGI. Fortunately, Debian provides a FastCGI-enabled PHP5 package which we install like this:

apt-get install php5-cgi


5 Configuring PHP5

We must modify /etc/php5/cgi/php.ini and uncomment the line cgi.fix_pathinfo=1:

vi /etc/php5/cgi/php.ini

; cgi.fix_pathinfo provides *real* PATH_INFO/PATH_TRANSLATED support for CGI.  PHP's
; previous behaviour was to set PATH_TRANSLATED to SCRIPT_FILENAME, and to not grok
; what PATH_INFO is.  For more information on PATH_INFO, see the cgi specs.  Setting
; this to 1 will cause PHP CGI to fix its paths to conform to the spec.  A setting
; of zero causes PHP to behave as before.  Default is 1.  You should fix your scripts

Then we restart Cherokee:

/etc/init.d/cherokee restart

Share this page:

4 Comment(s)

Add comment




This works!

I will use this on my servers :P

From: Anonymous

I do EXACTLY what you say and there is no error so good job! But i get a "405 Method not allowed" when, at the end of the install, when i connect to "http://localhost/phpmyadmin/" ... Three days on that point, many fresh install and tries and still no solutions... Any idea please ?

From: Robert

Getting the same thing with this server.

From: Luca Panteghini


this guide is perfect! I've created a web server from zero in an half hour without error!!



Luca Panteghini