本文共 6644 字,大约阅读时间需要 22 分钟。
#!/bin/bashDATE=`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.gz phpMyAdmin-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 stopsetenforce 0ip=`ifconfig eth0 |grep "inet addr"| awk '{print $2}'`IPA=/etc/sysconfig/network-scripts/ifcfg-eth0read -p "请问是配置ip地址吗(y|n):" Acase $A iny) 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_bakYUM=/etc/yum.repos.d/yum.repofuncation(){cat > $YUM /dev/null || echo "失败" >> error.txtread -p "请问是配置yum源吗(y|n):" AAcase $AA iny) funcation echo "yum源配置成功" >> true.txt yum clean all &> /dev/null yum repolist &> /dev/null;;n) echo "已经配置过yum源" >> true.txt;;esac#read -p "请指定软件包的的位置:" ADD#cd $ADDif rpm -q gcc gcc-c++ perl make automake lrzsz then echo "已有开发环境。" >>/aaa else echo "没有开发环境,现在安装。" >>/aaa yum -y install gcc gcc-c++ perl make 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 doneecho '解压完毕!!!' >>/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 fiif [ -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.conffi#以上是安装及优化Apache。/etc/init.d/httpd startif netstat -lntup|grep 80 then echo "APACHE已经成功启动!!!" >>/aaafi#以上是启动Apache。if cd /usr/src/cmak* then ./configure &&make&&make installfi#以上是安装cmake工具。if rpm -q mysql mysql-server then echo "rpm包的mysql已安装,下一步卸载。" >>/aaa rpm -e mysql mysql-server --nodeps &&echo "rpm安装的mysql已卸载完毕!" >>/aaafiif rpm -q ncurses-devel then echo "mysql的依赖软件包已安装" >>/aaa else yum install ncurses-devel -yfisql=/usr/src/mysql*sq=/usr/local/mysqlif cd $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源码文件" >>/aaafi#以上是安装mysql。userdel -r mysqluseradd -M -s /sbin/nologin mysqlif [ -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.txtif grep OK /mysql.txt then echo "初始化数据库成功!!!" >>/aaa /etc/init.d/mysqld start && echo "mysql启动成功!!!" >>/aaa else echo "初始化数据库失败!!!" >>/aaafiif rpm -q zlib-devel&&rpm -q libxml2-devel then echo "php依赖软件已安装!" >>/aaa else yum install zlib-devel libxml2-devel perl -yfiif cd /usr/src/libmcrypt* then ./configure&&make&&make install &&echo "libmcrypt已经安装好" >>/aaafiif cd /usr/src/mhash* then ./configure&&make&&make install &&echo "mhash已经安装好"fiif cd /usr/src/mcrypt* then echo "/usr/local/lib" >>/etc/ld.so.conf && ldconfig ./configure&&make&&make install else echo "加密工具源码包不存在" >>/aaafiphp1=/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源码包不存在!!!" >>/aaafiif [ -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 startelse echo "php没安装成功!!!" >>/aaafiif 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优化成功!' >>/aaafiif 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失败" >>/aaafiecho "LAMP环境搭建完成,接下来进行测试:" >>/aaaecho ">/usr/local/httpd/htdocs/index.phpecho "phpinfo();" >>/usr/local/httpd/htdocs/index.phpecho "?>" >>/usr/local/httpd/htdocs/index.php/etc/init.d/httpd stop;/etc/init.d/httpd startif 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.phpfi
转载于:https://blog.51cto.com/liyuanjie/1967407