Cherokee Web Server Installation & Configuration in Linux

Cherokee is an innovative, feature rich, lightning fast and easy to configure open source web server designed for the next generation of highly concurrent secured web applications with user friendly interface called cherokee-admin GUI interface.

Cherokee Features

  • User friendly
  • Support all Technologies such as (FastCGI, SCGI, PHP, uWSGI, SSI, CGI, LDAP, TLS/SSL, HTTP proxying, video streaming, content caching, traffic shaping, etc.)
  • Cross Platform
  • Ultimate GUI interface available
  • For more information about Cherokee configuration
  • For more information about cherokee admni

1) How to install Cherokee

Follow the below simple steps to install Cherokee web server to Linux. For CentOS/RHEL you need to enable EPEL repository. For Ubuntu you need to enable PPA and PPA is available upto Ubuntu 13.10, for latest Ubuntu version you need to install from source or auto installation method.

# Cherokee installation in CentOS/RHEL/Fedora #
root@2daygeek [~]# yum install cherokee

# Cherokee installation in Debian #
root@2daygeek [~]# apt-get install cherokee

1a) How to install Cherokee : Method-1

By default Cherokee project offering automatic installer for all other distribution whichever not having repository. This will download and install Cherokee under /opt/cherokee.

# Cherokee installation in linux distribution #
root@2daygeek [~]# wget https://raw.github.com/cherokee/installer/master/install.py && python install.py
or
root@2daygeek [~]# curl -LO https://raw.github.com/cherokee/installer/master/install.py && python install.py

1b) How to install Cherokee : Method-2

Alternatively you can install Cherokee web server from source code.

# Download latest version of Cherokee Web Server #
root@2daygeek [~]# wget https://github.com/cherokee/webserver/archive/v1.2.103.zip

# Extract zip file #
root@2daygeek [~]# unzip v1.2.103.zip

# Navigate to v1.2.103 directory #
root@2daygeek [~]# cd v1.2.103

# Run the Cherokee configure script #
root@2daygeek [~]# ./configure --prefix=/usr --localstatedir=/var --sysconfdir=/etc

# Compile the Cherokee source code #
root@2daygeek [~]# make

# Install Cherokee binaries, documentation, and web web interface. #
root@2daygeek [~]# make install

2) How to start Cherokee

After installing you have to start Cherokee manually by entering the below command on your terminal

# Start Cherokee web server #
root@2daygeek [~]# service cherokee start

Home page for Cherokee web server.
cherokee-web-server-installation-centos-fedora-debian-ubuntu-rhel-1

3) How to Configure Cherokee admin

Cherokee web server having web user
interface where you can manage entire web server via GUI which is amazing feature and other web servers don’t have the feature. By default cherokee admin interface listen loopback address (127.0.0.1) and port number (9090). Every time it will generate the one time password for admin interface authentication when you are hitting the below command due to security reason. If you want to access the cherokee admin to specific IP address you can do by adding -b option, if you didn’t mention the IP address, it will bind to all interfaces.

# By default, it will bind only loopback address #
root@2daygeek [~]# cherokee-admin
[02/11/2015 15:28:20.863] (warning) rrd_tools.c:121 - Could not find the
    rrdtool binary. | A custom rrdtool binary has not been defined, and the
    server could not find one in the $PATH.

Cherokee Web Server 1.2.103 (Apr 15 2015): Listening on port 127.0.0.1:9090,
TLS disabled, IPv6 enabled, using epoll, 4096 fds system limit, max. 2041
connections, caching I/O, single thread

Login:
  User:              admin
  One-time Password: vHthiivc9WK2WJMW

Web Interface:
  URL:               http://127.0.0.1:9090/

To bind particular IP address.

# To bind particular IP address #
root@2daygeek [~]# cherokee-admin -b 192.168.0.100
[02/11/2015 15:29:53.290] (warning) rrd_tools.c:121 - Could not find the
    rrdtool binary. | A custom rrdtool binary has not been defined, and the
    server could not find one in the $PATH.

Cherokee Web Server 1.2.103 (Apr 15 2015): Listening on port
192.99.246.33:9090, TLS disabled, IPv6 enabled, using epoll, 4096 fds system
limit, max. 2041 connections, caching I/O, single thread

Login:
  User:              admin
  One-time Password: 2W9qMVDm0zK75grk

Web Interface:
  URL:               http://192.168.0.100:9090/

To bind all interface.

# To bind all interface. #
root@2daygeek [~]# cherokee-admin -b
[03/11/2015 13:05:31.018] (warning) rrd_tools.c:121 - Could not find the
    rrdtool binary. | A custom rrdtool binary has not been defined, and the
    server could not find one in the $PATH.

Cherokee Web Server 1.2.103 (Apr 15 2015): Listening on port ALL:9090, TLS
disabled, IPv6 enabled, using epoll, 4096 fds system limit, max. 2041
connections, caching I/O, single thread

Login:
  User:              admin
  One-time Password: x33B5dodxMEPWT3n

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

Due to security reason, we should use SSH tunnel on production environment! It is much better.

# SSH tunnel #
root@2daygeek [~]# 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.

4) How to access Cherokee admin

Navigate you browser http://localhost:9090 or http://IP:9090, it will ask you to enter the login details.
cherokee-web-server-installation-centos-fedora-debian-ubuntu-rhel-2
Cherokee admin interface : Now, you are ready to drive the cherokee web server. you can configure websites and modify the parameters based on your requirement. you have to spend some time to go through all the option to understand the features.
cherokee-web-server-installation-centos-fedora-debian-ubuntu-rhel-3
Please stay tune with 2daygeek to get latest LINUX TIPs & TRICKS..)

About Magesh Maruthamuthu

Love to play with all Linux distribution

View all posts by Magesh Maruthamuthu

Leave a Reply

Your email address will not be published. Required fields are marked *