FAQ

Here is a list of the most frequently asked questions:
How to compile it
 
./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var
make
 
How to create dinamyc modules

It's the default way.

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 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 compile it on Windows

./configure --prefix=/usr --sysconfdir=/etc  \
  --localstatedir=/var --enable-trace        \
  --enable-static-module=all --enable-static \
  --enable-shared=no --enable-beta
 
How to cross compile the Win32 version
From Linux: http://alobbs.com/news/1201
From MacOS: http://alobbs.com/news/1299
I'm trying to access cherokee-admin from a remote machine but it doesn't seem to work. Is it broken?
No it is not. cherokee-admin binds only to local loopback by default. There are some workarounds:
  • Create an SSH tunnel. This is the recommended way. In order to do so you must issue the following command:
    ssh -L 9090:localhost:9090 remote_IP
    After that you can access the remote interface through http://localhost:9090 and every request will be forwarded to the remote IP running cherokee-admin.
  • Launch cherokee-admin with the -a parameter in order to force it to listen to all the network interfaces.
  • Finally you could always install cherokee on your local host, configure it there and then copy the generated cherokee.conf file to the device running the cherokee instance you wanted to set up.
I'm old-style and don't want to use your gorgeous configuration UI. Is there a way to replicate cherokee-admin's work by hand?
Yes there is. The configuration file is a plain text file and its syntax is well documented. Check the documentation of your package, or its online version.
Notice that it is not the recommended method, but the format will always be kept updated to facilitate scripting tasks, working with embedded devices and other similar situations.