#!/ bin/bash
# Author:Byrd
# Version:1.0
# Site:note.t4x.org
# Contact:root#t4x.org
PATH =/ bin : / sbin : / usr / bin : / usr / sbin : / usr / local / bin : / usr / local / sbin : ~ / bin
export PATH
LANG = "en_US.UTF-8"
# Check if user is root
if [ $ UID ! = "0" ] ; then
echo "Error: You must be root to run this script, please use root to install lnmp"
exit one
fi
clear
echo "========================================================================="
echo "Install PHP5.5.11 BY:BYRD AT:2014-04-30"
echo "========================================================================="
RETVAL = zero
SoftTool =/ byrd / tools
Server =/ byrd / server
LibiconvUrl = http : // ftp .gnu .org / gnu / libiconv / libiconv - 1.9.2.tar.gz
LibicoVern = libiconv - 1.9.2
[ ! - d $ SoftTool ] && mkdir -p $SoftTool
[ ! -d $Server ] && mkdir $Server
yum install zlib libjpeg freetype libpng gd curl zlib-devel libxml2-devel libjpeg-devel freetype-devel libpng-devel gd-devel curl-devel gcc gcc-c++ wget libxml* libtool* libxslt* -y
cd $SoftTool
if [ ! - f $LibicoVern.tar.gz ]; then
wget $ LibiconvUrl | | exit one && echo "$LibicoVern Download Error,Please try again"
tar zxf $LibicoVern.tar.gz
cd $LibicoVern
./configure --prefix=/usr/local/libiconv
make && make install
RETVAL1=$?
elif [ -f $LibicoVern.tar.gz ]; then
tar zxf $ LibicoVern .tar .gz
cd $ LibicoVern
. / configure -- prefix =/ usr / local / libiconv
make && make install
RETVAL1=$?
else
exit 1
fi
if [ `echo $RETVAL1` -eq $RETVAL ]; then
echo "$LibicoVern Install Successful"
else
echo "$LibicoVern Install Failured"
exit ` echo $ RETVAL1 `
fi
libmcryptUrl = http : // nchc .dl .sourceforge .net / project / mcrypt / Libmcrypt / 2.5.8 / libmcrypt - 2.5.8.tar.gz
libmcryptVen = libmcrypt - 2.5.8
cd $ SoftTool
if [ ! - f $ libmcryptVen .tar .gz ] ; then
wget $ libmcryptUrl | | exit one && echo "$libmcryptVen.tar.gz Download Error,Please try again"
tar zxf $libmcryptVen.tar.gz
cd $libmcryptVen
./configure
make && make install
RETVAL2=$?
rm -f /usr/lib/libmcrypt.*
rm -f /usr/lib/libmhash*
ln -s /usr/local/lib/libmcrypt.la /usr/lib/libmcrypt.la
ln -s /usr/local/lib/libmcrypt.so /usr/lib/libmcrypt.so
ln -s /usr/local/lib/libmcrypt.so.4 /usr/lib/libmcrypt.so.4
ln -s /usr/local/lib/libmcrypt.so.4.4.8 /usr/lib/libmcrypt.so.4.4.8
ln -s /usr/local/lib/libmhash.a /usr/lib/libmhash.a
ln -s /usr/local/lib/libmhash.la /usr/lib/libmhash.la
ln -s /usr/local/lib/libmhash.so /usr/lib/libmhash.so
ln -s /usr/local/lib/libmhash.so.2 /usr/lib/libmhash.so.2
ln -s /usr/local/lib/libmhash.so.2.0.1 /usr/lib/libmhash.so.2.0.1
ln -s /usr/local/bin/libmcrypt-config /usr/bin/libmcrypt-config
rm -f /usr/lib64/libmcrypt.*
rm -f /usr/lib64/libmhash*
ln -s /usr/local/lib64/libmcrypt.la /usr/lib64/libmcrypt.la
ln -s /usr/local/lib64/libmcrypt.so /usr/lib64/libmcrypt.so
ln -s /usr/local/lib64/libmcrypt.so.4 /usr/lib64/libmcrypt.so.4
ln -s /usr/local/lib64/libmcrypt.so.4.4.8 /usr/lib64/libmcrypt.so.4.4.8
ln -s /usr/local/lib64/libmhash.a /usr/lib64/libmhash.a
ln -s /usr/local/lib64/libmhash.la /usr/lib64/libmhash.la
ln -s /usr/local/lib64/libmhash.so /usr/lib64/libmhash.so
ln -s /usr/local/lib64/libmhash.so.2 /usr/lib64/libmhash.so.2
ln -s /usr/local/lib64/libmhash.so.2.0.1 /usr/lib64/libmhash.so.2.0.1
ln -s /usr/local/bin/libmcrypt-config /usr/bin/libmcrypt-config
ln -s /usr/local/mysql/lib/libmysqlclient.so /usr/lib64/
ln -s /usr/local/mysql/lib/libmysqlclient.so.18 /usr/lib64/libmysqlclient.so.18
ldconfig -v
elif [ -f $libmcryptVen.tar.gz ]; then
tar zxf $ libmcryptVen .tar .gz
cd $ libmcryptVen
. / configure
make && make install
rm -f /usr/lib/libmcrypt.*
rm -f /usr/lib/libmhash*
ln -s /usr/local/lib/libmcrypt.la /usr/lib/libmcrypt.la
ln -s /usr/local/lib/libmcrypt.so /usr/lib/libmcrypt.so
ln -s /usr/local/lib/libmcrypt.so.4 /usr/lib/libmcrypt.so.4
ln -s /usr/local/lib/libmcrypt.so.4.4.8 /usr/lib/libmcrypt.so.4.4.8
ln -s /usr/local/lib/libmhash.a /usr/lib/libmhash.a
ln -s /usr/local/lib/libmhash.la /usr/lib/libmhash.la
ln -s /usr/local/lib/libmhash.so /usr/lib/libmhash.so
ln -s /usr/local/lib/libmhash.so.2 /usr/lib/libmhash.so.2
ln -s /usr/local/lib/libmhash.so.2.0.1 /usr/lib/libmhash.so.2.0.1
ln -s /usr/local/bin/libmcrypt-config /usr/bin/libmcrypt-config
rm -f /usr/lib64/libmcrypt.*
rm -f /usr/lib64/libmhash*
ln -s /usr/local/lib64/libmcrypt.la /usr/lib64/libmcrypt.la
ln -s /usr/local/lib64/libmcrypt.so /usr/lib64/libmcrypt.so
ln -s /usr/local/lib64/libmcrypt.so.4 /usr/lib64/libmcrypt.so.4
ln -s /usr/local/lib64/libmcrypt.so.4.4.8 /usr/lib64/libmcrypt.so.4.4.8
ln -s /usr/local/lib64/libmhash.a /usr/lib64/libmhash.a
ln -s /usr/local/lib64/libmhash.la /usr/lib64/libmhash.la
ln -s /usr/local/lib64/libmhash.so /usr/lib64/libmhash.so
ln -s /usr/local/lib64/libmhash.so.2 /usr/lib64/libmhash.so.2
ln -s /usr/local/lib64/libmhash.so.2.0.1 /usr/lib64/libmhash.so.2.0.1
ln -s /usr/local/bin/libmcrypt-config /usr/bin/libmcrypt-config
ln -s /usr/local/mysql/lib/libmysqlclient.so /usr/lib64/
ln -s /usr/local/mysql/lib/libmysqlclient.so.18 /usr/lib64/libmysqlclient.so.18
ldconfig -v
else
exit 1
fi
if [ `echo $RETVAL2` -eq $RETVAL ]; then
echo "$libmcryptVen Install Successful"
else
echo "$libmcryptVen Install Failured"
exit ` echo $ RETVAL2 `
fi
cd $ SoftTool
mhashUrl = http : // nchc .dl .sourceforge .net / project / mhash / mhash / 0.9.9.9 / mhash - 0.9.9.9.tar.gz
mhashDev = mhash - 0.9.9.9
if [ ! - f $ mhashDev .tar .gz ] ; then
wget $ mhashUrl
tar zxf $ mhashDev .tar .gz
cd $ mhashDev
. / configure
make && make install
RETVAL3=$?
else
tar zxf $mhashDev.tar.gz
cd $mhashDev
./configure
make && make install
RETVAL3=$?
fi
if [ `echo $RETVAL3` -eq $RETVAL ]; then
echo "$mhashDev Install Successful"
else
echo "$mhashDev Install Failured"
exit ` echo $ RETVAL3 `
fi
cd $ SoftTool
PhpUrl = http : // am1 .php .net / distributions / php - 5.5.11.tar.gz
PhpVen = php - 5.5.11
if [ ! - f $ PhpVen .tar .gz ] ; then
wget $ PhpUrl
tar zxf $ PhpVen .tar .gz
cd $ PhpVen
. / configure -- enable - opcache -- prefix = $ Server / $ PhpVen -- with - mysql =/ usr / local / mysql / -- with - mysqli -- with - iconv - dir =/ usr / local / libiconv -- with - freetype - dir -- with - jpeg - dir -- with - png - dir -- with - zlib -- with - libxml - dir =/ usr -- enable - xml -- disable - rpath -- enable - bcmath -- enable - shmop -- enable - sysvsem -- enable - inline - optimization -- with - curl -- enable - mbregex -- enable - fpm -- enable - mbstring -- with - mcrypt -- with - gd -- enable - gd - native - ttf -- with - openssl -- with - mhash -- enable - pcntl -- enable - sockets -- with - xmlrpc -- enable - zip -- enable - soap -- enable - short - tags -- enable - static -- with - xsl -- with - fpm - user = www -- with - fpm - group = www -- enable - ftp
make && make install
RETVAL4=$?
else
tar zxf $PhpVen.tar.gz
cd $PhpVen
./configure --enable-opcache --prefix=$Server/$PhpVen --with-mysql=/usr/local/mysql/ --with-mysqli --with-iconv-dir=/usr/local/libiconv --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --disable-rpath --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --enable- mbregex --enable-fpm --enable-mbstring --with-mcrypt --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --enable-short-tags --enable-static --with-xsl --with-fpm-user=www --with-fpm-group=www --enable-ftp
make && make install
RETVAL4=$?
fi
if [ `echo $RETVAL4` -eq $RETVAL ]; then
echo "$PhpVen Install Successful"
else
echo "$PhpVen Install Failured"
exit ` echo $ RETVAL4 `
fi
ln - s $ Server / $ PhpVen / usr / local / php
cp $ SoftTool / $ PhpVen / php .ini - production / usr / local / php / lib / php .ini
mv / usr / local / php / etc / php - fpm .conf .default / usr / local / php / etc / php - fpm .conf
/ usr / local / php / sbin / php - fpm - t
/ usr / local / php / sbin / php - fpm
if [ ` netstat - tunlp | grep php - fpm | wc - l ` - ne zero ] ; then
echo "$PhpVen Starting successful"
else
echo "$PhpVen Starting failed."
fi