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://svn.cherokee-project.com/cherokee/branches/0.6 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
# ./autogen.sh --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: http://127.0.0.1:9090 if you are running on your host.
This will look like this

ch3


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")

ch4

"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

ch2

"Basics":
"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 ",".

ch1>

Press "submint query"
"Domain Names"
If you have one, type there, or when you will point your browser to your IP it will show
"Behaviour":
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
ch5



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:
<html>
<head><title>my site</title></head>
<body>Welcome to my new site @ Cherokee</body>
</html>
and point your browser to you IP address.

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

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