Overview
Installing Apache ( 2.2.17 ) , Mysql ( 5.1.54 ) and php ( 5.3.4 ) on a Centos server.
Requirements
Centos Server
Objective
Building from source an optimised/light Apache-Mysql-PHP on top of Centos server
Configuration
Step 1
Install Mysql
root@serv:~# groupadd mysql
root@serv:~# useradd -r -g mysql mysql
root@serv:~# cd /usr/local
root@serv:~# wget http://dev.mysql.com/get/Downloads/MySQL-5.1/mysql-5.1.54-linux-i686-glibc23.tar.gz/from/http://mysql.easynet.be/
root@serv:~# gunzip < /usr/local/mysql-5.1.54-linux-i686-glibc23.tar.gz | tar xvf –
root@serv:~# ln -s /usr/local/mysql-5.1.54-linux-i686-glibc23 mysql
root@serv:~# cd mysql
root@serv:~# chown -R mysql .
root@serv:~# chgrp -R mysql .
root@serv:~# scripts/mysql_install_db –user=mysql
root@serv:~# chown -R root .
root@serv:~# chown -R mysql data
root@serv:~# cp /usr/local/mysql/support-files/my-small.cnf /etc/my.cnf
root@serv:~# bin/mysqld_safe –user=mysql &
root@serv:~# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
root@serv:~# ln -s /usr/local/mysql/bin/* /usr/bin/
Step 2
Install Apache , also install the dependent packages and compilers. You have to install the below packages for the most needed compile options that I have used.
root@serv:~# yum install gcc zlib-devel openssl-devel make
root@serv:~# cd /usr/local/src/
root@serv:~# wget http://www.alliedquotes.com/mirrors/apache//httpd/httpd-2.2.17.tar.bz2
root@serv:~# tar -jxvf httpd-2.2.17.tar.bz2
root@serv:~# cd /usr/local/src/httpd-2.2.17
root@serv:~# ./configure –prefix=/usr/local/apache –host=i686-redhat-linux-gnu –build=i686-redhat-linux-gnu –target=i386-redhat-linux –enable-deflate –enable-proxy –enable-proxy-http—enable-proxy-connect –enable-so –enable-cgi –enable-info –enable-rewrite –enable-speling –enable-usertrack –enable-deflate –enable-mime-magic –enable-ssl
root@serv:~# make
root@serv:~# make install
Step 3
Install php, as we did before you need to install the dependencies before the php installation
root@serv:~# cd /usr/local/src/
root@serv:~# wget http://in2.php.net/get/php-5.3.4.tar.bz2/from/us.php.net/mirror
root@serv:~# tar -jxvf php-5.3.4.tar.bz2
root@serv:~# cd /usr/local/src/php-5.3.4/
root@serv:~# yum install libxml2-devel pcre-devel bzip2-devel curl-devel libjpeg-devel libpng-devel libXpm-devel libc-client-devel libmcrypt-devel libmcrypt-devel expat-devel
root@serv:~# ./configure –with-apxs2=/usr/local/apache/bin/apxs –enable-bcmath –enable-calendar –enable-ftp –enable-libxml –enable-magic-quotes –enable-pdo=shared –enable-soap –enable-sockets –enable-zip –prefix=/usr –with-bz2 –with-curl=/opt/curlssl/ –with-gd –with-imap=/opt/php_with_imap_client/ –with-imap-ssl=/usr –with-jpeg-dir=/usr –with-kerberos –with-libexpat-dir=/usr –with-libxml-dir –with-libxml-dir –with-mcrypt=/opt/libmcrypt/ –with-mhash=/opt/mhash/ –with-mysql=/usr/local/mysql/ –with-mysql-sock –with-openssl=/usr –with-openssl-dir=/usr –with-pcre-regex –with-pdo-mysql=shared –with-pdo-sqlite=shared –with-png-dir=/usr –with-sqlite=shared –with-xmlrpc –with-xpm-dir=/usr –with-zlib –with-zlib-dir=/usr
root@serv:~# make
root@serv:~# make install
Step 4
Configure php to phrase .php extension as php
root@serv:~# vi /usr/local/apache/conf/httpd.conf
find the line “LoadModule php5_module modules/libphp5.so” add the below line after it.
AddType application/x-httpd-php .php
root@serv:~# /usr/local/apache/bin/apachectl restart
Step 5
That is it, you can now test your installation
echo “<?php phpinfo(); ?> ” > /usr/local/apache/htdocs/phpinfo.php
Access and check your phpinfo page with,
http://your_server_ip/phpinfo.php