Mar 24, 2008

Cherokee quick install guide

Cherokee is a "is a very fast, flexible and easy to configure Web Server."
I'll show you how to install and configure in a few steps:

1) Download it:
The current release is 0.6, although it was released on 17 March, there are some bug fixes in the "0.6" branch so I recommend to check out that:

# svn co svn:// cherokee0.6

You can download subversion a.k.a svn with your package manager.

2) Compile it:
There are some tools needed to compile it, being a "quick install guide" I won't tell it :) (if you have some problems with this, you are welcome to post comments)
Let's get started:

# cd cherokee0.6
# ./ --localstatedir=/var --prefix=/usr --sysconfdir=/etc --with-wwwroot=/var/www

You can customise these settings
NOTE: if you want to run php, u must install "php-cgi", not needed for compilation though.
If you want to "fine tune" the installation read ./configure --help

Now run: "make" and if no error occurs , run "make install" that will install it to: /usr

3) Configure it:
There's a binary called "cherokee-admin" with which you can configure quite good your cherokee server, so let's start "cherokee-admin":
If you are running on the same host just type:
# cherokee-admin
If on a remote-host, run:
# cherokee-admin -a
This will bind to all interfaces so you can access it worldwide.
Now point your browser to: if you are running on your host.
This will look like this


Navigate to "General":
Let's set up some things:
Disable ipv6 if you dont need it.
You can create a new user to run it "www" and a group with the same name or run as "nobody" user and "nobody" group (on some systems it's "nogroup")


"Virtual Servers":
NOTE: you can use the default one or you can add one,
I will do it now:
Here we go,
Name = userhome
Document Root = /home/user/public_html
These settings are up to you, let's add it.
Now click on the newly created virtual host


"Directory Indexes" if you want to run a html site put there "index.html" if a php site "index.php", or you can separate them with ",".


Press "submint query"
"Domain Names"
If you have one, type there, or when you will point your browser to your IP it will show
Here we need to add some stuff:
a) Entry: /icons
Type: directory
Handler: static content
Priority: 2
Submit it
Document Root: /usr/share/cherokee/icons/
NOTE: depends on your setup (--prefix=/usr)
Submit again. and click on "userhome"
b) Entry: /cherokee_themes
Type: directory
Handler: static content
Priority: 3
Submit it
Document Root: /usr/share/cherokee/themes/

Now will configure PHP, u can skip it if you dont need it.
c) Entry: php
Type: extensions
Handler: fastcgi
Priority: 4
Submit it.
Host: localhost:1234
Interpreter: the path to your php, if you have in your $PATH you can simply: php-cgi -b 1234, if not you must specify the full path like: /usr/pkg/libexec/cgi-bin/php -b 1234

Submit it!
Add "PHP_FCGI_CHILDREN" as a variable and 5 as a value and press add
Submit it again.
Now click on "Apply", and "Launch" the server!
If everything is OK it must run.
Now let's test it!
In your directory (/home/user/public_html) OR to /var/www (as u defined it) create a file called index.html put in the file these lines:
<head><title>my site</title></head>
<body>Welcome to my new site @ Cherokee</body>
and point your browser to you IP address.

If you dont put index.html, your page will look like this:

Want to know more about Cherokee? check the site:
NOTE: don't send me bug reports ! I'm not developer. thank you