This guide assumes you have a minimal CentOS installation and are not planning on running a control panel such as cPanel, which install the webserver for you. Some of the software versions listed below may need to be changed as they are updated. As of the writing of this article, Apache 2.2.14 and PHP 5.2.11 are the latest versions.
# yum install bison flex gcc db4 db4-devel libxml2-devel libpng-devel mysql-devel make
# wget http://www.apache.org/dist/httpd/httpd-2.2.14.tar.gz
# wget http://us3.php.net/get/php-5.2.11.tar.gz/from/us2.php.net/mirror
# tar zxvf httpd-2.2.14.tar.gz
# tar zxvf php-5.2.11.tar.gz
# cd httpd-2.2.14
# ./configure --enable-so --enable-rewrite=shared
# make install
# cd ../php-5.2.11
# ./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql --enable-bcmath --enable-ftp --enable-magic-quotes --with-pear --enable-sockets --enable-track-vars --with-zlib --with-gd --with-freetype
# make install
# cp php.ini-dist /usr/local/lib/php.ini
You can change the values passed to the configure lines of Apache and PHP to add/remove software from the build. Apache in this guide is built with DSO support and mod_rewrite as a shared module. PHP is built as an Apache DSO with MySQL, FTP, BCMath, magic quotes, PEAR, sockets, Zlib, and GD with TTF.
Finally, edit your Apache config:
# vi /usr/local/apache2/conf/httpd.conf
AddHandler application/x-httpd-php .php .phtml .php4 to a blank like. Now start Apache using
Thats it, you're good to go! You may want to tweak your Apach configuration to suit your specific needs including adding Virtualhosts, however that is outside the scope of this article. Please refer to the Apache Docs for that information.