if条件综合shell一键安装LAMP脚本


通过前面章节对 if 语句和变量的学习,现基于所学知识,编写一键源码安装 LAMP脚本,
编写脚本可以养成先分解脚本的各个功能的习惯,有利于快速写出脚本,写出更高效的
脚本。

一键源码安装 LAMP 脚本,可以拆分为如下功能:

(1) LAMP 打印菜单:

 安装 apache WEB 服务器;
 安装 Mysql DB 服务器;
 安装 PHP 服务器;
 整合 LAMP 架构
 启动 LAMP 服务;

(2) Apache 服务器安装部署:

Apache 官网下载 httpd-2.2.31.tar.gz 版本,解压,进入安装目录,configure、make 、make install。

(3) Mysql 服务器的安装:

Mysql官网下载mysql-5.5.20.tar.gz版本,解压,进入安装目录,configure、make 、make install。

(4) PHP 服务器安装:

PHP 官网下载 php-5.3.8.tar.gz 版本,解压,进入安装目录,configure、make 、make install。

(5) LAMP 整合及服务启动:

vi /usr/local/apache2/htdocs/index.php
<?php
phpinfo();
?>
/usr/local/apache2/bin/apachectl restart
service mysqld restart

一键源码安装 LAMP 脚本,auto_install_lamp.sh 内容如下:

#!/bin/bash
#auto install LAMP
#by MR.xu 2017-07
#Httpd define path variable
H_FILES=httpd-2.2.27.bar.bz2
H_FILES_DIR=httpd-2.2.27
H_URL=http://mirrors.cnnic.cn/apache/httpd/
H_PREFIX=/usr/local/apache2/

#mysql define path variable
M_FILES=mysql-5.5.20.tar.gz
M_FILES_DIR=mysql-5.5.20
M_URL=http://down1.chinaunix.net/distfiles/
M_PREFIX=/usr/local/mysql/

#PHP define path variable
P_FILES=php-5.3.28.bar.bz2
P_FILES_DIR=php-5.3.28
P_URL=http://mirrors.sohu.com/php/
P_PREFIX=/usr/local/php5/

#auto install httpd
if [ -z "$1" ];then
echo -e "\033[36mplease select Install Menu follow:\033[0m"
echo -e "\033[32m1)编译安装Apache服务器\033[1m"
echo "2)编译安装MySQL服务器"
echo "3)编译安装PHP服务器"
echo "4)配置index.php并启动LAMP服务"
echo -e"\033[31mUsage: { /bin/sh $0 1|2|3|4|help}\033[0m"
exit

fi

if [[ "$1" -eq "1" ]];then
wget -c $H_URL/$H_FILES &&tar -jxvf $H_FILES &&cd $H_FILES_DIR ;./configure --prefix=$H_PREFIX
    if [ $? -eq 0 ];then
        make &&make install
        echo -e "\033[32mThe $H_FILES_DIR sever install successfully!\033[0m"
    else
        echo -e "\033[32mThe $H_FILES_DIR sever install failed,please check...!\033[0m"
        exit
    fi
fi

#auto install mysql
if [[ "$1" -eq "2" ]];then
    wget -c $M_URL/$H_FILES &&tar -zxvf $M_FILES &&cd $M_FILES_DIR $$yum install cmake -y ;cmke . -DCMAKE_INSTALL_PREFIX=$M_PREFIX \
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DMYSQL_DATADIR=/date/mysql \
-DSYSCONFDIR=mysql \
-DMYSQL_USER=mysql \
-DMYSQL_TCP_PORT=3306 \
-DWITH_XTRADB_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_PARTITIOM_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_EXTRA_CHARSETS=1 \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DEXTRA_CHARSETS=all \
-DWITH_BIG_TABLES=1 \
-DWITH_DEBUG=0

    if [ $? -eq 0 ];then
        make &&make install
        echo -e "\033[32mThe $M_FILES_DIR sever install successfully!\033[0m"
    else
        echo -e "\033[32mThe $M_FILES_DIR sever install failed,please check...!\033[0m"
        exit
    fi

fi

#auto install php server
if [[ "$1" -eq "3" ]];then
wget -c $P_URL/$P_FILES &&tar -jxvf $P_FILES &&cd $P_FILES_DIR ;./configure --prefix=$P_PREFIX --with-config-file-path=$P_PREFIX/etc --with-mysql=$M_PREFIX --with-apxs2=$H_PREFIX/bin/apxs
    if [ $? -eq 0 ];then
        make ZEND_EXTRA_LIBS=`-liconv` && make inatall
        echo -e "\033[32mThe $P_FILES_DIR sever install successfully!\033[0m"
    else
        echo -e "\033[32mThe $P_FILES_DIR sever install failed,please check...!\033[0m"
        exit
    fi
fi

if [[ "$1" -eq "4" ]];then
    sed -i `/DirectoryIndex/s/index.html/indwx.php index.htl/g` $H_PREFIX/conf/httpd.conf
$H_PREFIX/bin/apachectl restart
echo "Addtype   application/x-httpd-php .php" >>$H_PREFIX/conf/httpd.conf
IP=`ifconfig eth1|grep "Bcast"|awk '{print $2}'|cut -d: -f2`
echo "You can access http://$IP/"

cat >$H_PREFIX/htdocs/index.php >>EOF
>?php
phpinfo();
?>
EOF
fi
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值