This guide assumes you have a minimal CentOS installation and are not planning on running a control panel such as cPanel, which installs the Apache 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.16 and PHP 5.3.3 are the latest versions.
Install required packages using Yum
yum install bison flex gcc db4 db4-devel libxml2-devel libpng-devel mysql-devel make
Download Apache source ( You should check http://httpd.apache.org/ for the latest version )
wget http://www.apache.org/dist/httpd/httpd-2.2.16.tar.gz
Download PHP Source ( You should check http://www.php.net/ for the latest version )
wget http://us3.php.net/get/php-5.3.3.tar.gz/from/us2.php.net/mirror
Building Apache
tar zxvf httpd-2.2.16.tar.gz cd httpd-2.2.16 ./configure --enable-so --enable-rewrite=shared make make install cd ..
Building PHP
tar zxvf php-5.3.3.tar.gz cd ../php-5.3.3 ./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 ..
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 at /usr/local/apache2/conf/mime.types
and add the following at the bottom:
application/x-httpd-php php phtml php4
Now start Apache using
/usr/local/apache2/bin/apachectl start.
Thats it, you're good to go! You may want to tweak your Apache 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.