php shell lib,自动安装LNMP的简洁Shell脚本

echo -n "starting download nginx_php ..."

cat > list << "EOF" &&

nginx-1.0.0.tar.gz

php-5.2.17.tar.gz

php-5.2.17-fpm-0.5.14.diff.gz

libiconv-1.13.1.tar.gz

libmcrypt-2.5.8.tar.gz

mcrypt-2.6.8.tar.gz

memcache-2.2.5.tgz

mhash-0.9.9.9.tar.gz

mysql-5.1.52.tar.gz

pcre-8.10.tar.gz

eaccelerator-0.9.6.1.tar.bz2

PDO_MYSQL-1.0.2.tgz

libunwind-0.99.tar.gz

ImageMagick.tar.gz

imagick-2.3.0.tgz

google-perftools-1.6.tar.gz

fcgi.conf

php.ini

nginx.conf

php-fpm.conf

EOF

mkdir packages

for i in `cat list`

do

if [ -s packages/$i ]; then

echo "$i [found]"

else

echo "Error: $i not found!!!download now......"

wget http://www.freebsdsystem.org/linux/nginx-php/$i -P packages/

fi

done

;;

*)

echo -n "exit install script"

exit 0

;;

esac

groupadd www && useradd www -s /sbin/nologin -g www

groupadd mysql && useradd mysql -s /sbin/nologin -g mysql

echo "www and mysql user && group create!"

/bin/rm -rf list

echo -e "All of installed sucussful!"

}

function is_version()

{

if [ `uname -m` == "x86_64" ];then

tar zxf libunwind-0.99.tar.gz

tar zxvf libunwind-0.99.tar.gz

cd libunwind-0.99/

CFLAGS=-fPIC ./configure

make CFLAGS=-fPIC

make CFLAGS=-fPIC install

cd ../

else

echo "your system is 32bit ,not install libunwind lib!"

fi

}

function ins_nginx()

{

cd packages

is_version

tar zxf google-perftools-1.6.tar.gz

cd google-perftools-1.6

./configure

make

make install

cd ..

tar zxf pcre-8.10.tar.gz

cd pcre-*

./configure

make

make install

cd ..

tar zxf nginx-1.0.0.tar.gz

cd nginx-1.0.0

./configure --prefix=${nginx_dir} --with-google_perftools_module --user=www --group=www --with-http_stub_status_module --with-http_flv_module --with-http_ssl_module

make && make install

cd ..

rm -rf /usr/local/nginx/conf/nginx.conf

echo "/usr/local/lib" > /etc/ld.so.conf.d/usr_local_lib.conf

cp nginx.conf /usr/local/nginx/conf/

cp fcgi.conf /usr/local/nginx/conf/

echo "nginx installed sucussfully!"

}

function ins_mysql-server()

{

cd packages/

tar zxf mysql-5.1.52.tar.gz

cd mysql-5.1.52

CHOST="x86_64-pc-linux-gnu"

CFLAGS="-march=nocona -O2 -pipe"

CXXFLAGS="${CFLAGS}"

./configure "--prefix=${mysql_dir}" "--with-server-suffix=-DZWWW" "--with-mysqld-user=mysql" "--without-debug" "--with-charset=utf8" "--with-extra-charsets=all" "--with-pthread" "--with-big-tables" "--enable-thread-safe-client" "--enable-assembler" "--with-readline" "--with-ssl" "--enable-local-infile" "--with-plugins=partition,myisammrg" "--without-ndb-debug"

make && make install

cp support-*/mysql.server /etc/init.d/mysqld

cd /usr/local/mysql

chown -R mysql:mysql .

rm -rf sql-bench mysql-test

echo "mysql server 5.1.52 installed successfully!"

}

function ins_mysql-client()

{

cd packages/

tar zxf mysql-5.1.52.tar.gz

cd mysql-5.1.52

CHOST="x86_64-pc-linux-gnu"

CFLAGS="-march=nocona -O2 -pipe"

CXXFLAGS="${CFLAGS}"

./configure "--prefix=${mysql_dir}" "--with-mysqld-user=mysql" "--without-debug" "--with-charset=utf8" "--with-extra-charsets=all" "--with-pthread" "--with-big-tables" "--enable-thread-safe-client" "--enable-assembler" "--with-readline" "--with-ssl" "--enable-local-infile" "--without-server"

make && make install

cd /usr/local/mysql

chown -R mysql:mysql .

rm -rf sql-bench mysql-test

echo "mysql client 5.1.52 installed successfully!"

}

function ins_php52()

{

cd packages/

tar zxf libiconv-1.13.1.tar.gz

cd libiconv-1.13.1/

./configure --prefix=/usr/local

make

make install

cd ../

tar zxf libmcrypt-2.5.8.tar.gz

cd libmcrypt-2.5.8/

./configure

make

make install

/sbin/ldconfig

cd libltdl/

./configure --enable-ltdl-install

make

make install

cd ../../

tar zxf mhash-0.9.9.9.tar.gz

cd mhash-0.9.9.9/

./configure

make

make install

cd ../

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

tar zxf mcrypt-2.6.8.tar.gz

cd mcrypt-2.6.8/

/sbin/ldconfig

./configure

make

make install

cd ../

tar zxf php-5.2.17.tar.gz

gzip -cd php-5.2.17-fpm-0.5.14.diff.gz | patch -d php-5.2.17 -p1

cd php-5.2.17/

./configure --prefix=${php52_dir} --with-config-file-path=${php52_dir}/etc --with-mysql=${mysql_dir} --with-mysqli=${mysql_dir}/bin/mysql_config --with-iconv-dir=/usr/local --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --disable-rpath --enable-discard-path --enable-safe-mode --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --with-curlwrappers --enable-mbregex --enable-fastcgi --enable-fpm --enable-force-cgi-redirect --enable-mbstring --with-mcrypt --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-ldap --with-ldap-sasl --with-xmlrpc --enable-zip --enable-soap

make ZEND_EXTRA_LIBS='-liconv'

make install

cd ..

cp php.ini /usr/local/php52/etc/

cp php-fpm.conf /usr/local/php52/etc/

echo "/usr/local/mysql/lib/mysql" >> /etc/ld.so.conf.d/mysql_lib.conf

/sbin/ldconfig

echo "php52 installed successfully!"

}

function ins_php52-ext()

{

cd packages/

tar zxf memcache-2.2.5.tgz

cd memcache-2.2.5/

${php52_dir}/bin/phpize

./configure --with-php-config=${php52_dir}/bin/php-config

make

make install

cd ../

tar jxf eaccelerator-0.9.6.1.tar.bz2

cd eaccelerator-0.9.6.1/

${php52_dir}/bin/phpize

./configure --enable-eaccelerator=shared --with-php-config=${php52_dir}/bin/php-config

make

make install

cd ../

tar zxf PDO_MYSQL-1.0.2.tgz

cd PDO_MYSQL-1.0.2/

${php52_dir}/bin/phpize

./configure --with-php-config=${php52_dir}/bin/php-config --with-pdo-mysql=${mysql_dir}

make

make install

cd ../

tar zxf ImageMagick.tar.gz

cd ImageMagick-6.5.1-2/

./configure

make

make install

cd ../

tar zxf imagick-2.3.0.tgz

cd imagick-2.3.0/

${php52_dir}/bin/phpize

./configure --with-php-config=${php52_dir}/bin/php-config

make

make install

cd ../

echo "php52 extension installed successfully!"

}

case $1 in

init)

init

;;

ins_mysql-server)

ins_mysql-server

;;

ins_mysql-client)

ins_mysql-client

;;

ins_nginx)

ins_nginx

;;

ins_php52)

ins_php52

;;

ins_php52-ext)

ins_php52-ext

;;

*)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值