#!/bin/bash# -------------------------------------------------------------------------------# filename: lamp_install.sh# version: centos6.5_32;apache2.2;mysql5.1;php5.4# date: 2016/03/18# author: ecithy# mail: 598779784@qq.com# website: www.xiaoleizi.com # weixingonghao 红叶IT # pre_operate: yum install -y wget gcc lrzsz epel-release unix2dos dos2unix # copyright: free # -------------------------------------------------------------------------------check(){ if [ $(id -u) != '0' ];then echo "you aren't root,stop install..."; exit 1; else echo "you are root,continue..."; fi if [ `arch` != 'i686' ];then echo "you aren't 32 system,stop install..." exit 1; else echo "you are 32 system,continue..."; fi }init(){ #shutdown SELINUX setenforce 0 #remove iptables iptables -F && service iptables save test -d /usr/local/src || mkdir -p /usr/local/src }mysql_install(){ cd /usr/local/src/ wget http://mirrors.sohu.com/mysql/MySQL-5.1/mysql-5.1.73-linux-i686-glibc23.tar.gz tar zxvf mysql-5.1.73-linux-i686-glibc23.tar.gz mv mysql-5.1.73-linux-i686-glibc23 /usr/local/mysql useradd -s /sbin/nologin mysql mkdir -p /data/mysql; chown -R mysql /data/mysql cd /usr/local/mysql/ ./scripts/mysql_install_db --user=mysql --datadir=/data/mysql if [ $? -ne 0 ];then echo "MySQL install fail, stop..." exit 1 fi cp /usr/local/mysql/support-files/my-large.cnf /etc/my.cnf cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld chmod 755 /etc/init.d/mysqld sed -ir 's#basedir=#basedir=/usr/local/mysql#g' /etc/init.d/mysqld sed -ir 's#datadir=#datadir=/data/mysql#g' /etc/init.d/mysqld chkconfig --add mysqld;chkconfig mysqld on;/etc/init.d/mysqld start if [ $? -ne 0 ];then echo "MySQL install fail, stop..." exit 1 fi }apache_install(){ cd /usr/local/src/ yum install -y pcre pcre-devel apr apr-devel zlib-devel wget http://mirrors.cnnic.cn/apache/httpd/httpd-2.2.31.tar.gz tar zxvf httpd-2.2.31.tar.gz cd httpd-2.2.31 ./configure \ --prefix=/usr/local/apache \ --with-included-apr \ --enable-so \ --enable-deflate=shared \ --enable-expires=shared \ --enable-rewrite=shared \ --with-pcre if [ $? -ne 0 ];then echo "apache configure fail , stop... " exit 1 fi make && make install if [ $? -ne 0 ];then echo "apache make fail , stop... " exit 1 fi sed -i 's#\#ServerName www.example.com:80#ServerName localhost:80#g' /usr/local/apache/conf/httpd.conf #check apache syntax /usr/local/apache/bin/apachectl -t /usr/local/apache/bin/apachectl restart #check apache install succeed or not curl localhost if [ $? -eq 0 ];then echo "apache started OK,continue... " else echo "apachec started fail,top..." exit 1 fi }php_install(){ cd /usr/local/src/ yum install -y epel-release libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel yum install -y bzip2 bzip2-devel openssl openssl-devel libmcrypt-devel libxml2-devel wget http://cn2.php.net/get/php-5.4.45.tar.bz2/from/this/mirror mv mirror php-5.4.45.tar.bz2 tar jxvf php-5.4.45.tar.bz2 cd php-5.4.45 ./configure \ --prefix=/usr/local/php \ --with-apxs2=/usr/local/apache/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 if [ $? -ne 0 ];then echo "php configure fail , stop... " exit 1 fi make && make install if [ $? -ne 0 ];then echo "php make fail , stop... " exit 1 fi test -d /usr/local/php/etc/ || mkdir /usr/local/php/etc/ cp php.ini-production /usr/local/php/etc/php.ini }apacche_resolve_php(){ #support resilve php sed -i -e 's#AddType application/x-gzip .gz .tgz#&\n AddType application/x-httpd-php .php#g' /usr/local/apache/conf/httpd.conf sed -i 's#DirectoryIndex index.html#& index.htm index.php#g' /usr/local/apache/conf/httpd.conf #set apachectl as global variable echo -e 'PATH=$PATH:/usr/local/mysql/bin:/usr/local/apache/bin\nexport PATH' >/etc/profile.d/path.sh; source /etc/profile apachectl -t apachectl restart cat > /usr/local/apache/htdocs/index.php<EOF curl localhost && echo "php resolve OK" || echo "php resolve fail"}lamp_install(){ check init mysql_install apache_install php_install apacche_resolve_php}lamp_install 2>&1 | tee ~/install.log