#!/bin/sh
 
#####################################
# PHP Installer                     #
# Written For Centos 5.x            #
#####################################
# Author: Sandeep Sangamreddi       #
# URL:    gleez.com                 #
# GitHub: github.com/sandeepone     #
#####################################
 
echo php5-install.sh
echo - This script compiles and installs PHP 5.3 and all prerequisites
echo
read -p 
"(Press any key to continue)" temp;
echo
date
 
# Abort on any errors
set -e
 
# Where do you want all this stuff built? I'd recommend picking a local
# filesystem.
# ***Don't pick a directory that already exists!***  We clean up after
# ourselves at the end!
SRCDIR
=/opt/php/source
 
# And where should it be installed?
INSTALLDIR
=/opt/php/php-5.3.24
 
# Set DISTDIR to somewhere persistent, if you plan to muck around with this
# script and run it several times!
DISTDIR
=/opt/php/dist
 
# Update version information here.
PHP5
=
"php-5.3.24"
 
# Push the install dir's bin directory into the path
export
PATH
=
${
INSTALLDIR
}/bin:
$PATH
 
# set up directories
#mkdir -p ${SRCDIR}
mkdir -p
${
INSTALLDIR
}
mkdir -p
${
DISTDIR
}
 
cd
${
SRCDIR
}
wget -O
${
PHP5
}.tar.gz -c http://us.php.net/distributions/
${
PHP5
}.tar.gz
 
 
# Pre-prep cleanup
rm -rf
${
INSTALLDIR
}
rm -rf
${
SRCDIR
}/
${
PHP5
}
 
echo ---------- Unpacking downloaded archives. This process may take several minutes! ----------
 
cd
${
SRCDIR
}
 
echo Extracting
${
PHP5
}...
tar xzf
${
SRCDIR
}/
${
PHP5
}.tar.gz
echo Done.
 
# What PHP features do you want enabled?
PHPFEATURES
=
"--prefix=${INSTALLDIR} \
--with-config-file-path=${INSTALLDIR}/etc \
--with-config-file-scan-dir=${INSTALLDIR}/etc/php.d \
--with-libdir=lib64 \
--with-xmlrpc \
--with-tidy \
--with-libxml-dir=/usr \
--with-freetype-dir=/usr \
--with-openssl \
--with-mhash=/usr \
--with-mcrypt=/usr \
--with-bz2 \
--with-zlib-dir=/usr \
--with-jpeg-dir=/usr \
--with-png-dir=/usr \
--with-gd \
--enable-soap \
--enable-bcmath \
--enable-gd-native-ttf \
--enable-ftp \
--enable-exif \
--enable-sockets \
--enable-sysvsem \
--enable-sysvshm \
--enable-sysvmsg \
--enable-pcntl \
--enable-mbregex \
--enable-mbstring \
--enable-wddx \
--enable-cli \
--enable-ftp \
--enable-zip \
--enable-simplexml \
--enable-session \
--enable-shmop \
--enable-dom \
--enable-ctype \
--enable-sqlite-utf8 \
--enable-calendar \
--with-iconv \
--with-curl=/usr \
--with-mysql=/usr \
--with-mysqli \
--with-pdo-mysql \
--enable-inline-optimization \
--enable-zend-multibyte \
--with-t1lib \
--with-pcre-regex \
--with-imap \
--with-gettext \
--with-imap=/usr \
--with-kerberos \
--with-mcrypt \
--with-imap-ssl=/usr \
--enable-fpm"
 
################################
# User-editable settings (end) #
################################
 
echo ------------------------------------------------------
echo -- Compiling and installing PHP 5 and prerequisites --
echo ------------------------------------------------------
 
# Build packages in the required order to satisfy dependencies.
 
#
# PHP 5
#
 
echo
echo --- Building PHP 5 ---
echo
cd
${
SRCDIR
}/
${
PHP5
}
echo
"    Configuring..."
./configure
${
PHPFEATURES
}
\
## > /dev/null 2>&1
echo
"    Making..."
nice -n 19 make
#> /dev/null 2>&1
echo
"    Installing..."
make install > /dev/null 2>&1
echo
"    Copying configuration file (PHP.INI)"
mkdir -p
${
INSTALLDIR
}/etc
cp
${
SRCDIR
}/
${
PHP5
}/php.ini-development
${
INSTALLDIR
}/etc/php.ini
cp
${
INSTALLDIR
}/etc/php-fpm.conf.default
${
INSTALLDIR
}/etc/php-fpm.conf
 
#mkdir -p -m 0755 ${EXTENSIONSDIR}
mkdir -p -m 0755
${
INSTALLDIR
}/var/run
mkdir -p -m 0755
${
INSTALLDIR
}/etc/php.d
mkdir -p -m 0755
${
INSTALLDIR
}/etc/pool.d
 
#chown -R www-data:www-data /var/log/php-fpm
 
 
echo
echo --- Cleaning up
echo
 
#rm -rf $SRCDIR $DISTDIR
 
cp /opt/php/php-5.3.24-fpm 
${
INSTALLDIR
}/etc/php-5.3.24-fpm
chmod 755
${
INSTALLDIR
}/etc/php-5.3.24-fpm
 
echo
echo
"Change port and pid"
echo Run this
command to start fpm process:
echo
${
INSTALLDIR
}/etc/php-5.3.24-fpm start
echo
echo check port: netstat -lnp | grep
':9001 '
echo
 
echo ---------------------------------------
echo ---------- INSTALL COMPLETE! ----------
echo ---------------------------------------
 
echo
echo ---------- INSTALL APC! ----------
echo ---------------------------------------
echo cd
${
INSTALLDIR
}/etc
echo pecl -C ./pear.conf update-channels
echo pecl -C ./pear.conf install apc
echo
echo vi
${
INSTALLDIR
}/etc/php.ini
echo