美文网首页
业务初始化-lamp脚本

业务初始化-lamp脚本

作者: 亮仔_c1b5 | 来源:发表于2019-10-15 00:02 被阅读0次

业务初始化-lamp脚本

!/bin/bash

lamp install script from Bai Shuming

date:2015-05-15

release 1.0

os rhel6

PACKAGES="../soft"
NOW=pwd
APR=apr-1.5.2.tar.bz2
APR_UTIL=apr-util-1.5.4.tar.bz2
APR_ICONV=apr-iconv-1.2.1.tar.bz2
APACHE=httpd-2.4.12.tar.bz2
D_PATH="/usr/local"
S_PATH="/usr/src"
MYSQL=mysql-5.5.29.tar.gz
LIBICONV=libiconv-1.14.tar.gz
LIBMCRYPT=libmcrypt-2.5.8.tar.gz
MCRYPT=mcrypt-2.6.8.tar.gz
MHASH=mhash-0.9.9.9.tar.gz
PHP=php-5.6.9.tar.bz2

check

check () {

必须是root用户才可以

[ $UID -ne 0 ]&&echo "need to root is that"&&exit 1

安装依赖

yum search elinks &>/dev/null
if [ ? -eq 0 ];then yum -y install gcc gcc-c++ openssl-devel pcre-devel ncurses-devel libtool libxml2-devel bzip2-devel net-snmp-devel curl-devel libpng-devel freetype-devel libjpeg-devel zlib-devel cmake [? -ne 0 ]&&echo "YUM: ERROR"&&exit 1
else
echo "YUM: ERROR";exit 1
fi
}

apr

apr () {
if [ -f PACKAGES/APR ];then
tar xf PACKAGES/APR -C S_PATH CUR_PACKAGE=`echoAPR|awk -F ".tar" '{print 1}'` if [ -dS_PATH/CUR_PACKAGE ];then cdS_PATH/CUR_PACKAGE ./configure --prefix=D_PATH/apr 1>/dev/null
if [ ? -eq 0 ];then make 1>/dev/null if [? -eq 0 ];then
make install 1>/dev/null
if [ ? -ne 0 ];then echo "APR: Make install ERROR , EXIT...";exit 1 else cd -;rm -rfS_PATH/CUR_PACKAGE fi else echo "APR: make ERROR , EXIT...";exit 1 fi else echo "APR: Configure ERROR , EXIT...";exit 1 fi else echo "APR: Tar Command ERROR , EXIT...";exit 1 fi else echo "APR: Not fountAPR , EIXT...";exit 1
fi
}

apr-util

apr_util () {
if [ -f PACKAGES/APR_UTIL ];then
tar xf PACKAGES/APR_UTIL -C S_PATH CUR_PACKAGE=`echoAPR_UTIL|awk -F ".tar" '{print 1}'` if [ -dS_PATH/CUR_PACKAGE ];then cdS_PATH/CUR_PACKAGE ./configure --prefix=D_PATH/apr-util --with-apr=D_PATH/apr/ 1>/dev/null if [? -eq 0 ];then
make 1>/dev/null
if [ ? -eq 0 ];then make install 1>/dev/null if [? -ne 0 ];then
echo "APR-util: Make install ERROR , EXIT...";exit 1
else
cd -;rm -rf S_PATH/CUR_PACKAGE
fi
else
echo "APR-util: make ERROR , EXIT...";exit 1
fi
else
echo "APR-util: Configure ERROR , EXIT...";exit 1
fi
else
echo "APR-util: Tar Command ERROR , EXIT...";exit 1
fi

else
echo "APR-util: Not fount $APR_UTIL , EIXT...";exit 1
fi
}

apr_iconv () {
if [ -f PACKAGES/APR_ICONV ];then
tar xf PACKAGES/APR_ICONV -C S_PATH CUR_PACKAGE=`echoAPR_ICONV|awk -F ".tar" '{print 1}'` if [ -dS_PATH/CUR_PACKAGE ];then cdS_PATH/CUR_PACKAGE ./configure --prefix=D_PATH/apr-iconv --with-apr=D_PATH/apr/ 1>/dev/null if [? -eq 0 ];then
make 1>/dev/null
if [ ? -eq 0 ];then make install 1>/dev/null if [? -ne 0 ];then
echo "APR-iconv: Make install ERROR , EXIT...";exit 1
else
cd -;rm -rf S_PATH/CUR_PACKAGE
fi
else
echo "APR-iconv: make ERROR , EXIT...";exit 1
fi
else
echo "APR-iconv: Configure ERROR , EXIT...";exit 1
fi
else
echo "APR-iconv: Tar Command ERROR , EXIT...";exit 1
fi

else
echo "APR-iconv: Not fount $APR_ICONV , EIXT...";exit 1
fi

}

apache () {
apr;apr_util;apr_iconv
[ $? -ne 0 ]&&"ERROR: Please check apr install" && exit 1

if [ -f PACKAGES/APACHE ];then
tar xf PACKAGES/APACHE -C S_PATH CUR_PACKAGE=`echoAPACHE|awk -F ".tar" '{print 1}'` if [ -dS_PATH/CUR_PACKAGE ];then cdS_PATH/CUR_PACKAGE ./configure --prefix=D_PATH/apache --with-apr=D_PATH/apr --with-apr-util=D_PATH/apr-util/ --enable-module=so --enable-deflate=shared --enable-expires=shared --enable-rewrite=shared --enable-cache --enable-file-cache --enable-mem-cache --enable-disk-cache --enable-static-support --enable-static-ab --disable-userdir --with-mpm=prefork --enable-nonportable-atomics --disable-ipv6 --with-sendfile 1>/dev/null
if [ ? -eq 0 ];then make 1>/dev/null if [? -eq 0 ];then
make install 1>/dev/null
if [ ? -ne 0 ];then echo "APACHE: Make install ERROR , EXIT...";exit 1 else cd - ;rm -rfS_PATH/CUR_PACKAGE fi else echo "APACHE: make ERROR , EXIT...";exit 1 fi else echo "APACHE: Configure ERROR , EXIT...";exit 1 fi else echo "APACHE: Tar Command ERROR , EXIT...";exit 1 fi else echo "APACHE: Not fountAPACHE , EIXT...";exit 1
fi

}

mysql

mysql_install_post_set () {
useradd -s /sbin/nologin -r mysql
mkdir -pv /usr/local/mysql/data
cp support-files/my-innodb-heavy-4G.cnf /etc/my.cnf
cp support-files/mysql.server /etc/init.d/mysql
chmod 755 /etc/init.d/mysql
chown mysql.mysql /usr/local/mysql/ -R
ln -s /usr/local/mysql/bin/* /usr/bin/
ln -s /usr/local/mysql/lib/* /usr/lib/
ln -s /usr/local/mysql/libexec/* /usr/local/libexec
ln -s /usr/local/mysql/share/man/man1/* /usr/share/man/man1
ln -s /usr/local/mysql/share/man/man8/* /usr/share/man/man8
sh scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/ 1>/dev/null
}
mysql () {
if [ -f PACKAGES/MYSQL ];then
tar xf PACKAGES/MYSQL -C S_PATH CUR_PACKAGE=`echoMYSQL|awk -F ".tar" '{print 1}'` if [ -dS_PATH/CUR_PACKAGE ];then cdS_PATH/CUR_PACKAGE cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data/ -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock -DWITH_INNODBBASE_STORAGE_ENGINE=1 -DENABLE_LOCAL_INFILE=1 -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DMYSQL_USER=mysql -DWITH_DEBUG=0 -DWITH_EMBEDED_SERVER=0 1>/dev/null if [? -eq 0 ];then
make 1>/dev/null
if [ ? -eq 0 ];then make install 1>/dev/null if [? -ne 0 ];then
echo "MYSQL: Make install ERROR , EXIT...";exit 1
else
mysql_install_post_set
cd - ;rm -rf S_PATH/CUR_PACKAGE
fi
else
echo "MYSQL: make ERROR , EXIT...";exit 1
fi
else
echo "MYSQL: Configure ERROR , EXIT...";exit 1
fi
else
echo "MYSQL: Tar Command ERROR , EXIT...";exit 1
fi
else
echo "MYSQL: Not fount $APACHE , EIXT...";exit 1
fi
}

php

libiconv () {
if [ -f PACKAGES/LIBICONV ];then
tar xf PACKAGES/LIBICONV -C S_PATH CUR_PACKAGE=`echoLIBICONV|awk -F ".tar" '{print 1}'` if [ -dS_PATH/CUR_PACKAGE ];then cdS_PATH/CUR_PACKAGE ./configure --prefix=/usr/local --with-apr=D_PATH/apr 1>/dev/null
if [ ? -eq 0 ];then make 1>/dev/null if [? -eq 0 ];then
make install 1>/dev/null
if [ ? -ne 0 ];then echo "LIBICONV: Make install ERROR , EXIT...";exit 1 else cd -;rm -rfS_PATH/CUR_PACKAGE fi else echo "LIBICONV: make ERROR , EXIT...";exit 1 fi else echo "LIBICONV: Configure ERROR , EXIT...";exit 1 fi else echo "LIBICONV: Tar Command ERROR , EXIT...";exit 1 fi else echo "LIBICONV: Not fountLIBICONV , EIXT...";exit 1
fi
}

libmcrypt () {
if [ -f PACKAGES/LIBMCRYPT ];then
tar xf PACKAGES/LIBMCRYPT -C S_PATH CUR_PACKAGE=`echoLIBMCRYPT|awk -F ".tar" '{print 1}'` if [ -dS_PATH/CUR_PACKAGE ];then cdS_PATH/CUR_PACKAGE ./configure --prefix=D_PATH/libmcrypt 1>/dev/null
if [ ? -eq 0 ];then make 1>/dev/null if [? -eq 0 ];then
make install 1>/dev/null
if [ ? -ne 0 ];then echo "LIBMCRYPT: Make install ERROR , EXIT...";exit 1 else /sbin/ldconfig cd libltdl/ ./configure --enable-ltdl-install 1>/dev/null make 1>/dev/null make install 1>/dev/null if [? -eq 0 ];then
echo "export LD_LIBRARY_PATH=D_PATH/libmcrypt/lib:LD_LIBRARY_PATH" >> /etc/profile source /etc/profile cdNOW;rm -rf S_PATH/CUR_PACKAGE
else
echo "LIBMCRYPT(libltdl) ERROR,EXIT....";exit 1
fi
fi
else
echo "LIBMCRYPT: make ERROR , EXIT...";exit 1
fi
else
echo "LIBMCRYPT: Configure ERROR , EXIT...";exit 1
fi
else
echo "LIBMCRYPT: Tar Command ERROR , EXIT...";exit 1
fi
else
echo "LIBMCRYPT: Not fount $LIBMCRYPT , EIXT...";exit 1
fi
}

mhash () {
if [ -f PACKAGES/MHASH ];then
tar xf PACKAGES/MHASH -C S_PATH CUR_PACKAGE=`echoMHASH|awk -F ".tar" '{print 1}'` if [ -dS_PATH/CUR_PACKAGE ];then cdS_PATH/CUR_PACKAGE ./configure 1>/dev/null if [? -eq 0 ];then
make 1>/dev/null
if [ ? -eq 0 ];then make install 1>/dev/null if [? -ne 0 ];then
echo "MHASH: Make install ERROR , EXIT...";exit 1
else
ln -s /usr/local/lib/* /usr/lib/
ln -s /usr/local/bin/libmcrypt-config /usr/bin/
cd -;rm -rf S_PATH/CUR_PACKAGE
fi
else
echo "MHASH: make ERROR , EXIT...";exit 1
fi
else
echo "MHASH: Configure ERROR , EXIT...";exit 1
fi
else
echo "MHASH: Tar Command ERROR , EXIT...";exit 1
fi
else
echo "MHASH: Not fount $MHASH , EIXT...";exit 1
fi
}

mcrypt () {
if [ -f PACKAGES/MCRYPT ];then
tar xf PACKAGES/MCRYPT -C S_PATH CUR_PACKAGE=`echoMCRYPT|awk -F ".tar" '{print 1}'` if [ -dS_PATH/CUR_PACKAGE ];then cdS_PATH/CUR_PACKAGE ./configure --with-libmcrypt-prefix=D_PATH/libmcrypt 1>/dev/null
if [ ? -eq 0 ];then make 1>/dev/null if [? -eq 0 ];then
make install 1>/dev/null
if [ ? -ne 0 ];then echo "MCRYPT: Make install ERROR , EXIT...";exit 1 else cd -;rm -rfS_PATH/CUR_PACKAGE fi else echo "MCRYPT: make ERROR , EXIT...";exit 1 fi else echo "MCRYPT: Configure ERROR , EXIT...";exit 1 fi else echo "MCRYPT: Tar Command ERROR , EXIT...";exit 1 fi else echo "MCRYPT: Not fountMCRYPT, EIXT...";exit 1
fi
}

php () {
libiconv;libmcrypt;mhash;mcrypt
[ $? -ne 0 ]&&echo "check php libiconv and encrypt install"&&exit 1

if [ -f PACKAGES/PHP ];then
tar xf PACKAGES/PHP -C S_PATH CUR_PACKAGE=`echoPHP|awk -F ".tar" '{print 1}'` if [ -dS_PATH/CUR_PACKAGE ];then cdS_PATH/CUR_PACKAGE ./configure --prefix=D_PATH/php --with-config-file-path=D_PATH/php/etc --with-mysql=D_PATH/mysql/ --with-mysqli=D_PATH/mysql/bin/mysql_config --with-pdo-mysql=D_PATH/mysql --with-iconv-dir=/usr/local/ --enable-fpm --with-fpm-user=apache --with-fpm-group=apache --with-pcre-regex --with-zlib --with-bz2 --enable-calendar --disable-phar --with-curl --enable-dba --with-libxml-dir --enable-ftp --with-gd --with-jpeg-dir --with-png-dir --with-zlib-dir --with-freetype-dir --enable-gd-native-ttf --enable-gd-jis-conv --with-mhash --enable-mbstring --with-mcrypt=D_PATH/libmcrypt --enable-opcache=no --enable-pcntl --enable-xml --disable-rpath --enable-shmop --enable-sockets --enable-zip --enable-bcmath --with-snmp --disable-ipv6 --disable-rpath --disable-debug --with-apxs2=D_PATH/apache/bin/apxs 1>/dev/null
if [ ? -eq 0 ];then make ZEND_EXTRA_LIBS='-liconv' 1>/dev/null if [? -eq 0 ];then
make install 1>/dev/null
if [ ? -ne 0 ];then echo "PHP: Make install ERROR , EXIT...";exit 1 else sed -i.bak '/libphp5.so/a\AddType application/x-httpd-php .php'D_PATH/apache/conf/httpd.conf
cp php.ini-production D_PATH/php/etc/php.ini cd -;rm -rfS_PATH/CUR_PACKAGE fi else echo "PHP: make ERROR , EXIT...";exit 1 fi else echo "PHP: Configure ERROR , EXIT...";exit 1 fi else echo "PHP: Tar Command ERROR , EXIT...";exit 1 fi else echo "PHP: Not fountPHP, EIXT...";exit 1
fi
}

case 1 in apache) check;apache;; mysql) check;mysql;; php) check;php;; lamp) check;apache;mysql;php;; *) echo "0: apache|mysql|php|lamp";;
esac

相关文章

网友评论

      本文标题:业务初始化-lamp脚本

      本文链接:https://www.haomeiwen.com/subject/iuqhmctx.html