CentOS 5.5 Tutorials

Installing LCMP stack on CentOS 5.5

LCMP Stack LCMP is an acronym for a stack of free, open source software from the first letters of Linux (operating system), Cherokee HTTP Server, MySQL and Perl/PHP/Python. These are the principal components to build a viable general purpose web server.

LCMP – Linux.Cherokee.MySQL.PHP/Perl/Python

In this tutorial we will be installing the following open source software components to build the LCMP stack. CentOS 5.5 (operating system), Cherokee 1.0.6 (web server), MySQL 5.0.77 (database server), PHP 5.3.3, Perl 5.8.8, Python 2.4.3

Before we start just some general house keeping. The base CentOS 5.5 server hostname and IP address in this tutorial:

* (IP

The assumption, for this CentOS 5.5 LCMP tutorial, is that you are running as root and have a medium understanding of the software required.

CentOS 5.5 Tutorials

Installing Webmin on CentOS 5.5 Tutorial

Webmincentos This brief yet effective tutorial will instruct you on how to install CentOS 5.5 with Webmin, a web-based interface for system administration for Linux

The assumption for this CentOS 5.5 Webmin tutorial is that you are running as root and have a basic understanding of the software required but if you follow this tutorial you should be able to complete the task successfully.

Learn more about Webmin:

CentOS 5.5 Tutorials

Installing PHP 5.3.3 on CentOS 5.5 Tutorial

Update: This tutorial will install PHP 5.3.6

In celebration of CentOS now leading the Linux distribution statistics on web servers, with almost 30% of all Linux servers, we thought it fitting that in this tutorial we will show you how to install PHP 5.3.3 (Supports the Kohana Framework) with APC and Memcached on CentOS 5.5.

The assumption for this CentOS 5.5 tutorial is that you are running as root and have a basic understanding of the software required but if you follow this tutorial you should be able to complete the task successfully.

CentOS 5.5 Tutorials CentOS 5.6 Tutorials CentOS 5.7 Tutorials CentOS 5.8 Tutorials

Installing Cherokee on CentOS 5.8

This tutorial is intended for system administrators wanting to install Cherokee web server on a CentOS 5.8 x86_64

Cherokee is a very fast, flexible and easy to configure web server. It supports the widespread technologies nowadays: FastCGI, SCGI, PHP, CGI, TLS and SSL encrypted connections, virtual hosts, authentication, on the fly encoding, load balancing, Apache compatible log files, and much more.

Install the RPMForge x86_64 YUM Repository

# rpm -Uvh

Install the EPEL x86_64 YUM Repository

# rpm -Uvh
# yum install yum-priorities
# yum update

Install MySQL and MySQL server

# yum install mysql mysql-server

Install RRDTool

# yum install rrdtool

Install Cherokee web server

# yum install cherokee
# chkconfig cherokee on
# service cherokee start

Now direct your browser to

You should see the Cherokee placeholder page.

Cherokee can be configured through a web-based control panel which we can start as follows:

cherokee-admin -b

(By default cherokee-admin binds only to (localhost), with the -b parameter you can specify the network address to listen to. If no IP is provided, it will bind to all interfaces.)

Output should be similar to this one:

# cherokee-admin -b

  User:              admin
  One-time Password: gtVzmvy6Rqy9idKy

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

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

The admin web interface can be found on (make sure to enter your one-time password)

To stop cherokee-admin, type CTRL+C on the shell.

Managing Varnish with Puppet

If you’re running Puppet we have included the manifest for installing Cherokee on CentOS 5. If you’re not running Puppet then you can install it by following the instructions outlined in our CentOS 5 Puppet Install.

This is only the manifest and doesn’t include any of the files (i.e. cherokee.conf).

class cherokee::repo {
	Package {
		provider => rpm,
		ensure => installed
	package {"epel-release": source => "";
		"rpmforge-release": source => ""

class cherokee::install {

	$packagelist = [

	package { $packagelist:
		ensure => latest,
		require => Class ["cherokee::repo"],

class cherokee::conf {

	File {
		owner => "root",
		group => "root",
		mode => 0644,
		require => Class ["cherokee::install"],
		notify => Class ["cherokee::service"]

	file { "/var/www/cherokee/phpinfo.php":
		source => "puppet:///modules/cherokee/phpinfo.php"

	file { "/etc/cherokee/cherokee.conf":
		source => "puppet:///modules/cherokee/cherokee.conf"

class cherokee::service {

	$servicelist = [ 

	service { $servicelist:
		require => Class ["cherokee::install"],
		ensure => true,
		enable => true,
		hasrestart => false,
		hasstatus => true

class cherokee {
		include cherokee::repo, cherokee::install, cherokee::conf, cherokee::service



+George Rushby