Debian / Ubuntu Linux: Install Cherokee Web Server

Cherokee is an open-source Cross-platform Web server. How do I install Cherokee web server under Debian or Ubuntu Linux operating system?

From the project home page:
Tutorial details
Difficulty level Intermediate
Root privileges Yes
Requirements Cherokee
Est. reading time N/A

Cherokee is an innovative, feature rich, and yet easy to configure open source Web Server. It is a lightweight, high-performance web server/reverse proxy licensed under the GNU General Public License. Its goal is to be fast and fully functional yet still light. Major features of Cherokee include a graphical administration interface named cherokee-admin, and a modular light-weight design.

Install Cherokee under Debian or Ubuntu Linux

Type the following apt-get command:
# apt-get install cherokee
Sample outputs:

Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following extra packages will be installed:
  libcherokee-base0 libcherokee-client0 libcherokee-config0
  libcherokee-mod-admin libcherokee-server0
Suggested packages:
  cherokee-doc libcherokee-mod-geoip libcherokee-mod-ldap
  libcherokee-mod-libssl libcherokee-mod-mysql libcherokee-mod-rrd
The following NEW packages will be installed:
  cherokee libcherokee-base0 libcherokee-client0 libcherokee-config0
  libcherokee-mod-admin libcherokee-server0
0 upgraded, 6 newly installed, 0 to remove and 11 not upgraded.
Need to get 2,190 kB of archives.
After this operation, 6,963 kB of additional disk space will be used.
Do you want to continue [Y/n]? y
Get:1 squeeze/main libcherokee-base0 amd64 1.0.8-5+squeeze1 [277 kB]
Get:2 squeeze/main libcherokee-client0 amd64 1.0.8-5+squeeze1 [152 kB]
Get:3 squeeze/main libcherokee-server0 amd64 1.0.8-5+squeeze1 [428 kB]
Get:4 squeeze/main libcherokee-config0 amd64 1.0.8-5+squeeze1 [735 kB]
Get:5 squeeze/main cherokee amd64 1.0.8-5+squeeze1 [443 kB]
Get:6 squeeze/main libcherokee-mod-admin amd64 1.0.8-5+squeeze1 [156 kB]
Fetched 2,190 kB in 41s (52.2 kB/s)                                           
Selecting previously deselected package libcherokee-base0.
(Reading database ... 281939 files and directories currently installed.)
Unpacking libcherokee-base0 (from .../libcherokee-base0_1.0.8-5+squeeze1_amd64.deb) ...
Selecting previously deselected package libcherokee-client0.
Unpacking libcherokee-client0 (from .../libcherokee-client0_1.0.8-5+squeeze1_amd64.deb) ...
Selecting previously deselected package libcherokee-server0.
Unpacking libcherokee-server0 (from .../libcherokee-server0_1.0.8-5+squeeze1_amd64.deb) ...
Selecting previously deselected package libcherokee-config0.
Unpacking libcherokee-config0 (from .../libcherokee-config0_1.0.8-5+squeeze1_amd64.deb) ...
Setting up libcherokee-base0 (1.0.8-5+squeeze1) ...
Setting up libcherokee-client0 (1.0.8-5+squeeze1) ...
Setting up libcherokee-config0 (1.0.8-5+squeeze1) ...
Setting up libcherokee-server0 (1.0.8-5+squeeze1) ...
Selecting previously deselected package cherokee.
(Reading database ... 282621 files and directories currently installed.)
Unpacking cherokee (from .../cherokee_1.0.8-5+squeeze1_amd64.deb) ...
Selecting previously deselected package libcherokee-mod-admin.
Unpacking libcherokee-mod-admin (from .../libcherokee-mod-admin_1.0.8-5+squeeze1_amd64.deb) ...
Processing triggers for man-db ...
Setting up cherokee (1.0.8-5+squeeze1) ...
Starting web server: cherokee	.
Setting up libcherokee-mod-admin (1.0.8-5+squeeze1) ...

How do I configuring cherokee?

This server comes with graphical configuration interface called cherokee-admin. It runs the server for the administrative interface used to configure Cherokee. The interface itself will be available via your Web browser. New users will find this comprehensive administration interface as easy to use. This is the recommended means of administering your web server. To start cherokee-admin type the following command:
# cherokee-admin
Sample outputs:

  User:              admin
  One-time Password: SrYknP3SYwRbsNeJ
Web Interface:
[15/12/2012 01:18:34.828] (error) rrd_tools.c:120 - Could not find the rrdtool binary.
Cherokee Web Server 1.0.8 (Nov 28 2011): Listening on port, TLS
disabled, IPv6 enabled, using epoll, 4096 fds system limit, max. 2041
connections, caching I/O, single thread

By default, cherokee-admin binds only to (localhost), which means you can only connect to it from the same system. Pass the -b option to specify the network address to listen to. If no IP is provided, it will bind to all interfaces:
# cherokee-admin -b
# cherokee-admin -b &
# cherokee-admin -b &
By default, cherokee-admin bind to port #9090. You can set an alternative port with -p option:
# cherokee-admin -b -p 2020
Verify that cherokee-admin and cherokee are running on the server:
# netstat -tulpn | grep cherokee
Sample outputs:

tcp6       0      0 :::9090                 :::*                    LISTEN      22333/cherokee-admi
tcp6       0      0 :::80                   :::*                    LISTEN      21090/cherokee-work

A note about running cherokee-admin securely

I recommend that you setup and use cherokee-admin using SSH based port forwarding from your home or office over the Internet. For example:
$ ssh -L 9090:localhost:9090 -N

How do I stop cherokee-admin?

Simply type the following command:
# killall -TERM cherokee-admin

Cherokee administration panel

Fire a web-browser and type the url:
Sample outputs:

Fig.01: Cherokee’s administrative interface

You will see the Cherokee administration panel. Now, use this panel to configure websites, virtual domains, security and other options. I recommend that you go through Cherokee web server documentation for more information.

How do I start / stop / restart Cherokee web server?

Use the service command as follows:
service cherokee restart
service cherokee stop
service cherokee start
service cherokee status
service cherokee reload

Editor’s note: Stay tuned for the tutorial on how install and configure php5-cgi+mysql under Cherokee.

🐧 Get the latest tutorials on Linux, Open Source & DevOps via RSS feed or Weekly email newsletter.

🐧 1 comment so far... add one

CategoryList of Unix and Linux commands
Disk space analyzersdf duf ncdu pydf
File Managementcat cp mkdir tree
FirewallAlpine Awall CentOS 8 OpenSUSE RHEL 8 Ubuntu 16.04 Ubuntu 18.04 Ubuntu 20.04
Modern utilitiesbat exa
Network UtilitiesNetHogs dig host ip nmap
OpenVPNCentOS 7 CentOS 8 Debian 10 Debian 8/9 Ubuntu 18.04 Ubuntu 20.04
Package Managerapk apt
Processes Managementbg chroot cron disown fg glances gtop jobs killall kill pidof pstree pwdx time vtop
Searchingag grep whereis which
User Informationgroups id lastcomm last lid/libuser-lid logname members users whoami who w
WireGuard VPNAlpine CentOS 8 Debian 10 Firewall Ubuntu 20.04
1 comment… add one
  • Virneto Jun 2, 2013 @ 1:45

    Hey again!!!
    Cherokee is the default server that came on my fedora18. I don’t want it.
    Ihave already installed Apache, but cherokee is somehow primary and gains prefference over apache. Can you please help me to remove cherokee and install and configure Apache? Maybe you could write a postabout it??

    Thanks and best Regards to you!!!

Leave a Reply

Your email address will not be published.

Use HTML <pre>...</pre> for code samples. Still have questions? Post it on our forum