Linux: Enable and Disable services during Startup

Do you ever wonder that how to setup CentOS (RedHat) Linux server startup service and how the services running?

With CentOS, you may use the command named chkconfig to configure your startup services.

First of all, you need to understand what is Linux runlevels, for more information, you may refer to the URL below,
http://www.mickgenie.com/understand-linux-runlevels/

In this example, let say we could like to set the runlevel at 2, 3, and 5 with httpd (Apache).

To enable the services in startup,

# chkconfig httpd --add
# chkconfig httpd on --level 235

To check which runlevel you have set,

# chkconfig --list httpd

To disable the startup,

# chkconfig httpd off

Howto: Install Apache 2.2.x and PHP 5.3.x on CentOS 5

Assume that you do not want to spend money on your server to have a control panel and having minimal requirement for your website,

1. Install the required packages,

yum install bison flex gcc db4 db4-devel libxml2-devel libpng-devel mysql-devel make

2. Download Apache source (refer the latest one from http://httpd.apache.org/)

wget http://apache.petsads.us//httpd/httpd-2.2.21.tar.gz

3. Download PHP source (refer the latest one from http://www.php.net/)

wget http://my.php.net/get/php-5.3.8.tar.gz/from/us.php.net/mirror

4. Build the Apache,

tar zxvf httpd-2.2.21.tar.gz
cd httpd-2.2.21
./configure --enable-so --enable-rewrite=shared
make
make install
cd ..

5. Build the PHP,

tar zxvf php-5.3.8.tar.gz
cd ../php-5.3.8
./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql --enable-bcmath \
--enable-ftp --enable-magic-quotes --with-pear --enable-sockets --with-zlib --with-gd
make
make install
cp php.ini-production /usr/local/lib/php.ini
cd ..

6. Now, start the Apache services,

/usr/local/apache2/bin/apachectl start