自己写的脚本,请大神指正。本案环境为centos6最小化安装初装系统,手动配置IP后使用。
- #Install LAMP
- #by liusheng on 2015-4-28
- ### ENV ###
- PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
- lamp_log=/root/lamp_install.log
- downdir=/usr/local/src
- ### error ###
- error_imp() {
- if [ "$?" != '0' ] ;then
- echo "Have same error"
- exit 1
- fi
- }
- ### Clear Log File ###
- echo "" > $lamp_log
- ### Install wget software ###
- rpm -q wget
- if [ "$?" != '0' ] ;then
- yum install wget -y
- fi
- ### Which version to install ###
- echo -e "\033[36m \n Hello ,Welcome to test my script \n If you have any questions please E-mail to zmyxn@163.com \n --------------------------------------------------\n \033[0m"
- echo -e "\033[34m 1.MySQL-5.7.6 + Http-2.4.9 + Php-5.6.6 \033[0m"
- echo -e "\033[34m 2.MySQL-5.1.40 + Http-2.2.16 + Php-5.3.29 \033[0m"
- echo -e "\033[34m Any other key is exit \033[0m"
- read -p "Do you want to install 1 or 2 :" answer
- case $answer in
- 1)
- mysql_ver=http://mirrors.sohu.com/mysql/MySQL-5.7/mysql-5.7.6-m16-linux-glibc2.5-x86_64.tar.gz
- httpd_ver=http://archive.apache.org/dist/httpd/httpd-2.4.9.tar.gz
- apr_util_ver=http://mirrors.cnnic.cn/apache/apr/apr-util-1.5.4.tar.gz
- apr_ver=http://mirrors.cnnic.cn/apache/apr/apr-1.5.1.tar.gz
- php_ver=http://mirrors.sohu.com/php/php-5.6.6.tar.gz
- wget -P $downdir -o $lamp_log $mysql_ver $apr_ver $apr_util_ver $php_ver $httpd_ver
- mysql_ver="mysql-5.7.6-m16-linux-glibc2.5-x86_64"
- httpd_ver="httpd-2.4.9"
- php_ver="php-5.6.6"
- apr_ver="apr-1.5.1"
- apr_util_ver="apr-util-1.5.4" ;;
- 2)
- mysql_ver=http://mirrors.sohu.com/mysql/MySQL-5.1/mysql-5.1.72-linux-x86_64-glibc23.tar.gz
- httpd_ver=http://archive.apache.org/dist/httpd/httpd-2.2.16.tar.gz
- php_ver=http://mirrors.sohu.com/php/php-5.3.29.tar.gz
- wget -P $downdir -o $lamp_log $mysql_ver $httpd_ver $php_ver
- mysql_ver="mysql-5.1.72-linux-x86_64-glibc23"
- httpd_ver="httpd-2.2.16"
- php_ver="php-5.3.29" ;;
- *)
- echo "TO exit setup"
- exit 1 ;;
- esac
- ### Rely On Software ###
- rpm -q libmcrypt-devel
- if [ "$?" != '0' ] ;then
- yum install epel-release -y
- yum install libmcrypt-devel -y
- fi
- rpm -q gcc libaio pcre-devel perl libxml2-devel openssl-devel bzip2-devel freetype-devel libjpeg-devel libpng-devel | sed -n -r 's/^package (.*) is.*ed$/\1/p' | xargs yum install -y
- $error_imp
- ### INSTALL MYSQL ###
- echo -e "Now Install Mysql , Please Waiting" | tee -a $lamp_log
- useradd -s /sbin/nologin mysql
- tar zxf $downdir/$mysql_ver.tar.gz -C /usr/local/ 1>/dev/null 2>$lamp_log
- ln -s /usr/local/$mysql_ver /usr/local/mysql
- chown -R mysql:mysql /usr/local/mysql/
- mkdir -p /data/mysql
- chown -R mysql /data/mysql
- echo -e "Create /etc/my.cnf \n and /etc/init.d/mysqld" | tee -a $lamp_log
- if [ $mysql_ver = "mysql-5.7.6-m16-linux-glibc2.5-x86_64" ];then
- cd /usr/local/mysql
- ./bin/mysql_install_db --user=mysql --datadir=/data/mysql >> $lamp_log
- cp -r /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf
- else
- cd /usr/local/mysql
- ./scripts/mysql_install_db --user=mysql --datadir=/data/mysql >> $lamp_log
- cp -r /usr/local/mysql/support-files/my-huge.cnf /etc/my.cnf
- sed -i '/^\[mysqld\]$/a\datadir = /data/mysql' /etc/my.cnf
- fi
- ### Add Mysqld Service ###
- cp -r /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
- sed -r -i 's#^basedir=$#basedir=/usr/local/mysql#' /etc/init.d/mysqld
- sed -r -i 's#^datadir=$#datadir=/data/mysql#' /etc/init.d/mysqld
- chmod 755 /etc/init.d/mysqld
- chkconfig --add mysqld
- service mysqld start
- $error_imp
- ### INSTALL APACHE ###
- ### Install httpd-2.4.9 rely on software
- if [ $httpd_ver = "httpd-2.4.9" ];
- then
- echo "NOW INSTALL APR , Please waiting" | tee -a $lamp_log
- cd $downdir/
- tar -zxf $downdir/$apr_ver.tar.gz
- cd $downdir/$apr_ver
- ./configure --prefix=/usr/local/apr 1>/dev/null 2>$lamp_log
- make 1>/dev/null 2>$lamp_log
- make install 1>/dev/null 2>$lamp_log
- echo "NOW INSTALL APR-UTIL, Please waiting" | tee -a $lamp_log
- cd $downdir/
- tar -zxf $downdir/$apr_util_ver.tar.gz
- cd $downdir/$apr_util_ver
- ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/ 1>/dev/null 2>$lamp_log
- make 1>/dev/null 2>$lamp_log
- make install 1>/dev/null 2>$lamp_log
- fi
- ### INSTALL HTTP ###
- echo "Now INSTALL $httpd_ver ,Please waiting" | tee -a $lamp_log
- cd $downdir/
- tar zxf $downdir/$httpd_ver.tar.gz
- cd $downdir/$httpd_ver/
- if [ $httpd_ver = "httpd-2.4.9" ];then
- ./configure --prefix=/usr/local/apache2 --with-apr=/usr/local/apr/ --with-apr-util=/usr/local/apr-util/ --enable-mods-shared=most --enable-so 1>/dev/null 2>$lamp_log
- else
- ./configure --prefix=/usr/local/apache2 --enable-mods-shared=most --enable-so 1>/dev/null 2>$lamp_log
- fi
- make 1>/dev/null 2>$lamp_log
- make install 1>/dev/null 2>$lamp_log
- $error_imp
- ### Add Httpd Service ###
- cp /usr/local/apache2/bin/apachectl /etc/rc.d/init.d/httpd
- sed -i 's/#ServerName www.example.com:80$/ServerName localhost.com:80/' /usr/local/apache2/conf/httpd.conf
- sed -i '/bin\/sh/a\# description:Apache' /etc/rc.d/init.d/httpd
- sed -i '/bin\/sh/a\# chkconfig: 35 61 61' /etc/rc.d/init.d/httpd
- chkconfig --add httpd
- chkconfig httpd on
- service httpd start
- $error_imp
- ### INSTALL PHP ###
- echo "NOW INSTALL $php_ver , Please waiting" | tee -a $lamp_log
- cd $downdir/
- tar zxf $downdir/$php_ver.tar.gz
- cd $downdir/$php_ver/
- ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs --with-config-file-path=/usr/local/php/etc --with-mysql=/usr/local/mysql --with-libxml-dir --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --with-iconv-dir --with-zlib-dir --with-bz2 --with-openssl --with-mcrypt --enable-soap --enable-gd-native-ttf --enable-mbstring --enable-sockets --enable-exif --disable-ipv6 1>/dev/null 2>$lamp_log
- make 1>/dev/null 2>$lamp_log
- make install 1>/dev/null 2>$lamp_log
- $error_imp
- ### Edit The Configuration File ###
- echo "Edit the configuration file" | tee -a $lamp_log
- sed -i '/AddType .*.gz .tgz$/a\\AddType application/x-httpd-php .php' /usr/local/apache2/conf/httpd.conf
- sed -i 's/DirectoryIndex index.html/DirectoryIndex index.php index.html index.htm/' /usr/local/apache2/conf/httpd.conf
- cat > /usr/local/apache2/htdocs/index.php <
- EOF
- echo "LAMP is installed,Please Restart HTTP Service And Curl " | tee -a $lamp_log
编辑回复