Prerequisite : yum install gcc-c++ gcc make ncurses-devel openssl-devel
Packages required for php: yum install libjpeg-devel libpng-devel curl-devel libmcrypt-devel krb5-devel
Apache Server Installation from Source:
Apache installation directory is : /usr/local/apache
a) Download the apache source file from : http://httpd.apache.org/download.cgi
b) Download the source file in to /tmp directory.
c) I am guessing the source file is httpd-2.2.13.tar.gz
d) Cd /tmp
e) tar –xvzf httpd-2.2.13.tar.gz
f) cd httpd-2.2.13
g)
./configure --prefix=/usr/local/apache --with-included-apr --with-php --with-mysql --with-susexec --disable-info --with-mpm=prefork --enable-so --enable-cgi --enable-rewrite --enable-ssl --enable-mime-magic --enable-unique-id
h) make
i) make install
j)To restart apache : /usr/local/apache/bin/apachectl start
MySql Server Install from source:
Ref:http://dev.mysql.com/doc/refman/5.1/en/quick-install.html
a)Download my.version.tar.gz from
http://dev.mysql.com/downloads/mysql/5.1.html#source
b)shell> groupadd mysql
c)shell> useradd -g mysql mysql
d)shell> gunzip < mysql-VERSION.tar.gz | tar -xvf – e)shell> cd mysql-VERSION
f)
./configure --prefix=/usr/local/mysql --with-ssl --with-plugins=innobase
note:: for mysql 5.1 : to add innodb support its ” –with-plugins=innobase” but for 5.0 its “./configure –with-innodb”
g)shell> make
h)shell> make install
i)shell> cp support-files/my-medium.cnf /etc/my.cnf
j)shell> cd /usr/local/mysql
k)shell> chown -R mysql .
l)shell> chgrp -R mysql .
m)shell> bin/mysql_install_db -–user=mysql
n)shell> chown -R root .
o)shell> chown -R mysql var
p)shell> bin/mysqld_safe -–user=mysql &
PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER ! To do so, start the server, then issue the following commands: ./bin/mysqladmin -u root password 'new-password'
Php installation from source with GD library Support
http://www.php.net/manual/en/install.unix.apache2.php
a) Download the php source from here : http://www.php.net/downloads.php
b) Download the source file in to /tmp directory
c) Here I am gussing the php version is php-5.3.0.tar.gz
d) Tar –xvzf php-5.3.0.tar.gz
e) Cd php-5.3.0
f)
./configure --with-apxs2=/usr/local/apache/bin/apxs --with-mysql=/usr/local/mysql --enable-mbstring --with-gd --with-zlib --with-jpeg-dir --with-png-dir --with-openssl --with-curl --with-mcrypt --with-imap --with-kerberos --with-imap-ssl
g) make
h) make install
i) setup your php.ini : cp php.ini-dist /usr/local/lib/php.ini
j) In httpd.conf file.. check for bellow lines
LoadModule php5_module modules/libphp5.so
j) Add the bellow lines in httpd.conf file to allow .php extension.
add bellow lines under
<FilesMatch "\.phps$">
SetHandler application/x-httpd-php-source
</FilesMatch>
<FilesMatch "\.ph(p[2-6]?|tml)$">
SetHandler application/x-httpd-php
</FilesMatch>j) Stop apache /usr/local/apache/bin/apachectl1 stop
k) Restart apache /usr/local/apache/bin/apachectl1 start
Note :
(a) configure: error: xml2-config not found. Please check your libxml2 installation. : yum install libxml2-devel
(b) configure: error: libpng.(a|so) not found.
configure: error: libjpeg.(a|so) not found.
(c) Error : configure: error: utf8_mime2text() has new signature, but U8T_CANONICAL is missing
yum install libc-client-devel*
So it will try to find accurate rpm for your kernel(32/64)
(d) If you have older httpd daemon running , please stop that daemon,Other wise when you will start apache daemon, it will through an error .You can check by bellow command to make sure you don’t have any other httpd is running in background.
ps aux | grep -v grep | grep httpd
If this returns value that means another httpd daemon is running and you can stop it by executing
service httpd stop
Tags: compile php-apache-mysql step-by-step, How to install apache php mysql from source, Linux:How to configure apche php mysql from source, Linux:how to install apache from source

Amazing! Not clear for me, how offen you updating your fosiul.co.uk.
Have a nice day
Hi
When i get time i try to update. Which bit you are not clear. See if i can help you.
Hi there Fosiul. Overall, this tutorial was pretty helpful. It’s very detail. Just make sure ppl stop the older Apache, if any, when doing a upgrade from source for Apache. Anyway thanks for all the help Fosiul.
‘@InfernoThao ‘
Hi thanks
I will add this information in the article , and thanks for feedback.Please let me know if you want to discuss any new Linux base project. Thanks again.
My buddy suggested this site, and he is totally right in every way, keep up!