54324 发表于 2017-9-22 09:16:42

LAMP平台搭建脚本

#!/bin/bash
DATE=`date +%F_%T`
#源码包编译安装搭建LAMP平台的。
#本脚本所需软件包:cmake-2.8.11.2.tar.gz   mysql-5.5.22.tar.gz
#httpd-2.2.17.tar.gz   php-5.3.28.tar.gz
#libmcrypt-2.5.7.tar.gzphpMyAdmin-4.2.5-all-languages.tar.gz
#mcrypt-2.6.8.tar.gz   ZendGuardLoader-php-5.3-linux-glibc23-x86_64.tar.gz
#mhash-0.9.9.9.tar.bz2
#本脚本执行成功所需环境:1、创建/lamp目录,并把所需的九个软件包复制到此目录。2、搭建基本的yum环境(用系统光盘本身的yum仓库即可)。


#交互配置IP地址和yum源
service iptables stop
setenforce 0
ip=`ifconfigeth0|grep "inet addr"| awk '{print $2}'`
IPA=/etc/sysconfig/network-scripts/ifcfg-eth0

read -p "请问是配置ip地址吗(y|n):" A
case $A in
y)
    sed -i 's#ONBOOT=no#ONBOOT=yes#g' $IPA
    sed -i 's#BOOTPROTO=dhcp#BOOTPROTO=static#g'$IPA
    read -p "请输入你想要配置的IP地址:" B
    echo "IPADDR=$B" >> $IPA
    read -p "请输入你想要配置的子网掩码:" C
    echo "NETMASK=$C" >> $IPA
    /etc/init.d/NetworkManager stop
    service network start
    echo "IP配置成功" >> true.txt
;;
n)
    echo "已经配置好IP地址" >> true.txt
    echo "$ip" >> true.txt
;;
esac

#配置yum源
#如果是centos,则执行这一步,去掉下面这一行的注释即可。   
#mv /etc/yum.repos.d/Centos-Base.repo/etc/yum.repos.d/Centos-Base.repo_bak

YUM=/etc/yum.repos.d/yum.repo
funcation(){
cat > $YUM /dev/null|| echo "失败" >> error.txt
read -p "请问是配置yum源吗(y|n):" AA
case$AA in
y)
      funcation
      echo "yum源配置成功" >> true.txt
      yum clean all &> /dev/null
      yum repolist&> /dev/null
;;
n)
      echo "已经配置过yum源" >> true.txt
;;
esac
#read -p "请指定软件包的的位置:" ADD
#cd $ADD

if rpm -q gcc gcc-c++ perlmake automake lrzsz
    then
          echo "已有开发环境。">>/aaa
    else
          echo "没有开发环境,现在安装。" >>/aaa
          yum-yinstall gcc gcc-c++ perlmake automake lrzsz
fi
#以上是检测开发环境。


cd /lamp
for tar in `ls /lamp`
    do
      case $tar in
               #当变量值是以.tar.gz结尾的时候所要执行的命令序列。
         *.tar.gz)
               tar zxf $tar -C /usr/src
         ;;
               #当变量值是以.tar.bz2结尾的时候所要执行的命令序列。
         *.tar.bz2)
               tar jxf $tar -C /usr/src
         ;;
               #当变量值是以.zip结尾的时候所要执行的命令序列。
         *.zip)
               unzip -d /usr/src $tar
         ;;
         *)
               echo "$tar不是压缩文件!"
         ;;
          esac
    done
echo '解压完毕!!!' >>/aaa
#以上是解压所需的源码包。



if rpm -q httpd
    then
      rpm -e httpd --nodeps &&echo "已卸载rpm安装的apache">>/aaa
      cd /usr/src/http*
      ./configure--prefix=/usr/local/httpd--enable-so--enable-rewrite--enable-charset-lite--enable-cgi&&make&&make install
    else
      cd /usr/src/http*
      ./configure--prefix=/usr/local/httpd--enable-so--enable-rewrite--enable-charset-lite--enable-cgi&&make&&make install   
fi

if [ -d /usr/local/httpd ];then
    echo "Apache已经编译安装完毕!接下来优化配置Apache。" >>/aaa
    cd /usr/local/httpd
    ln -s /usr/local/httpd/bin/* /usr/local/bin
    \\cp /usr/local/httpd/bin/apachectl/etc/init.d/httpd
    sed -i '1a#chkconfig: 35 25 15 \\#description:zhis is apache'/etc/init.d/httpd
    chkconfig --add httpd &&chkconfig httpd on
    sed -i '$aAddType application/x-httpd-php .php' /usr/local/httpd/conf/httpd.conf
    sed -i '$aadddefaultcharset UTF-8'/usr/local/httpd/conf/httpd.conf
fi
#以上是安装及优化Apache。


/etc/init.d/httpd start

ifnetstat -lntup|grep 80
    then
      echo "APACHE已经成功启动!!!">>/aaa
fi
#以上是启动Apache。

if cd /usr/src/cmak*
    then
      ./configure &&make&&make install
fi
#以上是安装cmake工具。


if rpm -q mysql mysql-server
    then
      echo "rpm包的mysql已安装,下一步卸载。" >>/aaa
      rpm -e mysql mysql-server--nodeps &&echo "rpm安装的mysql已卸载完毕!" >>/aaa
fi

if rpm -q ncurses-devel
    then
      echo "mysql的依赖软件包已安装">>/aaa
    else
      yum install ncurses-devel -y
fi

sql=/usr/src/mysql*
sq=/usr/local/mysql

ifcd $sql
    then
      cmake -DCMAKE_INSTALL_PREFIX=$sq-DSYSCONFDIR=/etc-DDEFAULT_CHARSET=utf8-DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all&&make&&make install
    else
      echo "没有mysql源码文件">>/aaa
fi
#以上是安装mysql。


userdel -r mysql
useradd -M -s /sbin/nologin mysql
if [ -d $sq ];then
    chown -R mysql:mysql $sq
    \\cp $sq/support-files/my-medium.cnf/etc/my.cnf
    \\cp $sq/support-files/mysql.server/etc/init.d/mysqld
    chkconfig --add mysqld
    chkconfig mysqld on
    ln -s /usr/local/mysql/bin/*/usr/local/bin/
fi


/usr/local/mysql/scripts/mysql_install_db   --user=mysql--basedir=/usr/local/mysql/--datadir=/usr/local/mysql/data/>/mysql.txt

if grep OK /mysql.txt
    then
      echo "初始化数据库成功!!!">>/aaa
      /etc/init.d/mysqld start && echo "mysql启动成功!!!">>/aaa
    else
      echo "初始化数据库失败!!!">>/aaa
fi


if rpm -q zlib-devel&&rpm -q libxml2-devel
    then
      echo "php依赖软件已安装!" >>/aaa
    else
      yum install zlib-devel libxml2-devel perl -y
fi


ifcd /usr/src/libmcrypt*
    then
      ./configure&&make&&make install &&echo "libmcrypt已经安装好" >>/aaa
fi

if cd /usr/src/mhash*
    then
      ./configure&&make&&make install &&echo "mhash已经安装好"
fi

if cd /usr/src/mcrypt*
    then
      echo "/usr/local/lib">>/etc/ld.so.conf && ldconfig
      ./configure&&make&&make install
    else
      echo "加密工具源码包不存在">>/aaa
fi


php1=/usr/src/php-*
if cd $php1
    then
      ./configure--prefix=/usr/local/php5--with-mcrypt--with-apxs2=/usr/local/httpd/bin/apxs --with-mysql=/usr/local/mysql   --with-config-file-path=/usr/local/php5--enable-mbstring &&make&&make install
    else
      echo "php源码包不存在!!!">>/aaa
fi

if [ -d /usr/local/php5 ];then
    echo "php已经安装完毕">>/aaa
    \\cp /usr/src/php-*/php.ini-development /usr/local/php5/php.ini
    sed -i '1,$s/short_open_tag = Off/short_open_tag = On/g' /usr/local/php5/php.ini
    /etc/init.d/httpd stop
    /etc/init.d/httpd start
else
    echo "php没安装成功!!!">>/aaa
fi

if cd /usr/src/ZendGuard*
    then   
      \\cp /usr/src/ZendGuard*/php-*/ZendGuard* /usr/local/php5/lib/php
      sed -i '$azend_extension=/usr/local/php5/lib/php/ZendGuardLoader.so' /usr/local/php5/php.ini
      sed -i '$azend_loader.enable=1' /usr/local/php5/php.ini
      echo 'php优化成功!' >>/aaa
fi

if cd /usr/src/phpMyAdmin-*
    then
      mv /usr/src/phpMyAdmin-* /usr/local/httpd/htdocs/phpMyAdmin && mv /usr/local/httpd/htdocs/phpMyAdmin/config.sam*/usr/local/httpd/htdocs/phpMyAdmin/config.inc.php
      echo "phpMyAdmin部署成功"
    else
      echo "部署phpMyAdmin失败">>/aaa
fi

echo "LAMP环境搭建完成,接下来进行测试:">>/aaa


echo ">/usr/local/httpd/htdocs/index.php
echo "phpinfo();">>/usr/local/httpd/htdocs/index.php
echo "?>">>/usr/local/httpd/htdocs/index.php

/etc/init.d/httpdstop;/etc/init.d/httpd start

if rpm -q firefox
    then
      echo "火狐已经安装" >>/aaa
      firefox http://127.0.0.1/index.php
      firefox http://127.0.0.1/phpMyAdmin/index.php
    else
      yum install firefox -y
      firefox http://127.0.0.1/index.php
      firefox http://127.0.0.1/phpMyAdmin/index.php
fi


页: [1]
查看完整版本: LAMP平台搭建脚本