我的第一次--LAMP安装脚本

#!/bin/bash
#20150730 by wyw 
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH
# Check if user is root
if [ $(id -u) != "0" ]; then
    echo "Error: You must be root to run this script, please use root to install lnmp"
    exit 1
fi

# set clour
Color_Text()
{
    echo -e " \033[0;$2m$1\033[0m"
}

Echo_Red()
{
    echo $(Color_Text "$1" "31")
}

Echo_Green()
{
    echo $(Color_Text "$1" "32")
}

Echo_Yellow()
{
    echo $(Color_Text "$1" "33")
}

Echo_Blue()
{
    echo $(Color_Text "$1" "34")
}

cur_dir=$(pwd)

Echo_Yellow "+------------------------------------------------------------------------+"
Echo_Red "    (1)  INSTALL APACHE2.4                  "
Echo_Yellow "+------------------------------------------------------------------------+"
Echo_Blue "   (2)  INSTALL MYSQL5.5                 "
Echo_Yellow "+------------------------------------------------------------------------+"
Echo_Green "  (3)  INSTALL PHP5.4                                                   "
Echo_Yellow "+------------------------------------------------------------------------+"
echo " (4)  INSTALL LAMP"
Echo_Yellow "+------------------------------------------------------------------------+"
read -t 30 -p "please Enter your choice (1, 2, 3,or 4): "  cho

 CentOS_Dependent()
{
    Echo_Green "[+] yum install packets..."
    yum -y install epel-release 
    for packages in gcc gcc-c++ gcc-g77 cmake flex bison autoconf automake bzip2-devel zlib-devel ncurses-devel libjpeg-devel libpng-devel libmcrypt-devel libtiff-devel freetype-devel pam-devel openssl-devel libxml2-devel gettext-devel pcre-devel mysql-devel net-snmp-devel curl-devel perl-DBI;
    do yum -y install $packages; done
}
 Install_Apache_24()
{   
    Echo_Green "[+] Installing apache,please wait..."
    yum install gcc gcc-c++ gcc-g77
    tar xf ${cur_dir}/httpd-2.4.12.tar.gz
    tar xf ${cur_dir}/apr-1.5.1.tar.gz
    tar xf ${cur_dir}/apr-util-1.5.4.tar.gz
    cd ${cur_dir}/apr-1.5.1
    ./configure --prefix=/usr/local/apr &>/dev/null
    make &>/dev/null && make install &>/dev/null
    cd ${cur_dir}/apr-util-1.5.4
    ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr &>/dev/null
    make &>/dev/null && make install &>/dev/null
    cd ${cur_dir}/httpd-2.4.12
    ./configure --prefix=/usr/local/apache --sysconfdir=/etc/httpd --enable-so --enable-ssl --enable-cgi --enable-cgid --enable-modules=most --enable-mods-shared=most --enable-rewrite --with-zlib --with-pcre --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --enable-mpms-shared=all --with-mpm=prefork &>/dev/null
if [ "$?" -eq "0" ];then
    make &>/dev/null && make install &>/dev/null
    Echo_Blue "apache install....................OK!"
    else echo "apache install....................fail!"
fi
    echo "PidFile  "/var/run/httpd.pid"" >> /etc/httpd/httpd.conf
    \cp ${cur_dir}/conf/httpd /etc/init.d/httpd
    chmod +x /etc/init.d/httpd
    chkconfig --add httpd
    chkconfig --level 35 httpd on
    /usr/local/apache/bin/apachectl &>/dev/null
    netstat -luntp|grep 80
    STAT=`netstat -luntp|grep 80|cut -d: -f4`
if [ "$STAT" -eq "80" ];then
    Echo_Green "apache start ....................OK!" 
    else echo "apache start ....................Fail!"
fi
}

Install_Mysql_55 ()
{
    Echo_Blue "[+] 开始安装mysql,请等待..."
    yum -y remove mysql
    yum -y install gcc gcc-c++ ncurses-devel perl cmake &>/dev/null
    tar xf ${cur_dir}/mysql-5.5.42.tar.gz
    cd ${cur_dir}/mysql-5.5.42
    cmake . -DCMAKE_INSTALL_PREFIX=/opt/mysql -DMYSQL_DATADIR=/opt/mydata/data -DSYSCONFDIR=/opt/mysql -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DWITH_SSL=system -DWITH_ZLIB=system -DWITH_LIBWRAP=0 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci
    make -j2 && make install -j2
if [ "$?" -eq "0" ];then
    Echo_Blue "mysql install....................OK!"
    else Echo_Red  "mysql install....................Fail!"
fi
    groupadd -r mysql
    useradd -g mysql -r -d /opt/mydata/data/ mysql
    mkdir -p /opt/mydata/data 
    chown -R mysql:mysql /opt/mysql
    \cp support-files/mysql.server /etc/rc.d/init.d/mysqld
    \cp ${cur_dir}/conf/my.cnf /opt/mysql/my.cnf -rf
    chmod +x /etc/rc.d/init.d/mysqld
    cd /opt/mysql
    ./scripts/mysql_install_db --user=mysql --datadir=/opt/mydata/data/
    /etc/rc.d/init.d/mysqld start
    netstat -luntp|grep 3306
    STAT=`netstat -luntp|grep 3306 |wc -l`
if [ "$STAT" -eq "1" ];then
    Echo_Green "mysql start....................OK!" 
    else echo "mysql start....................Fail!"
fi
    echo "export PATH=/usr/bin:/usr/sbin:/bin:/sbin:/usr/X11R6/bin:/opt/mysql/bin/" > /etc/profile.d/mysql.sh
    chmod 755 /etc/profile.d/mysql.sh
    source /etc/profile.d/mysql.sh
}

Install_PHP_54()
{
    Echo_Green "[+] Installing php5.4 ..."
    tar xf ${cur_dir}/php-5.4.41.tar.gz && cd php-5.4.41
    ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs --with-config-file-path=/usr/local/php/etc  --with-mysql=/opt/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 &>> /dev/null

    make && make install
if [ "$?" -eq "0" ];then
    Echo_Green "php install....................OK!"
    else Echo_Red  "php install....................Fail!"
fi
    \cp php.ini-production /usr/local/php/etc/php.ini
    \cp /etc/httpd/httpd.conf /etc/httpd/httpd.confbak
    sed -i ‘/DirectoryIndex/s/index.html/index.php index.html/g‘ /etc/httpd/httpd.conf
    sed -i ‘s/#ServerName www.example.com:80/ServerName www.example.com:80/g‘ /etc/httpd/httpd.conf
    echo "AddType application/x-httpd-php .php" >> /etc/httpd/httpd.conf
    \cp ${cur_dir}/conf/p.php /usr/local/apache/htdocs/
    service httpd restart
    IP=`ifconfig eth0|grep "Bcast"|awk ‘{print $2}‘|cut -d: -f2`
    Echo_Green "You can access http://$IP/p.php"

}

case "${cho}" in
    1)
    Install_Apache_24    
    ;;
    2)
    Install_Mysql_55    
    ;;
    3)
    CentOS_Dependent
    Install_PHP_54        
    ;;
    4)
    Echo_Green "[+] lamp install..."
        Install_Apache_24 && cd ${cur_dir} && Install_Mysql_55 && cd ${cur_dir} && Install_PHP_54
    ;;
    *)
        Echo_Red "Usage: $cho {please Enter your choice (1, 2, 3,or 4)}"
        ;;
esac
时间: 2024-08-05 18:25:26

我的第一次--LAMP安装脚本的相关文章

LAMP,安装脚本

一键安装LAMP #/bin/bash #工具包 yum install -y gcc pcre-devel openssl-devel expat-devel autoconf libtool gcc-c++ apr-devel apr-util-devel libxml2-devel bzip2-devel libmrpty-devel #二进制安装MariaDB tar xvf /data/mariadb-10.2.23-linux-x86_64.tar.gz mv mariadb-10.

lamp安装脚本(编译方式)

#!/bin/bash # # ********************************************************** # * filename:    lamp_install.sh   * # * discription:    lamp install   * # * version:    centos6.7 apr-1.5.2 apr-util-1.5.4     * # *    httpd-2.4.6 mysql-5.5.32  php-5.6.15

第24章,LAMP 一键安装脚本

更多内容请点击: Linux学习从入门到打死也不放弃,完全笔记整理(持续更新,求收藏,求点赞~~~~) http://blog.51cto.com/13683480/2095439 脚本1:yum安装 lamp+wordpress # 自行配置好yum源 # 第一步,安装并启动服务 yum -y install httpd mariadb-server php php-mysql echo -e "\e[1;31mstarting service....\e[0m" systemctl

nagios一键安装脚本

nagios具有非常强大的报警功能.还可以结合pnp实现时时绘制图形.可以根据自己的需求定义:nagios的脚控类型,可以说监控服务,nagios已经做到了无所不能:下面给出nagios的安装脚步.后期会慢慢更新如何编写脚步定义企业nagios监控系统:脚步的安装包是已经放到/usr/local/src目录下: 安装脚本.(LAMP环境已经安装好.)nagios最强大的就是开源功能,可以实现用编写nrpe脚本采集数据的方式进行监控报警,可以自己根据自己需求创建出一套自己的监控系统. yum -y

CentOS 6、7下IPSEC/L2TP VPN一键安装脚本(openswan+xl2tpd)

CentOS 6.7下IPSEC/L2TP VPN一键安装脚本(openswan+xl2tpd) 概念性的东西这里不再赘述,网上有太多,一键安装脚本也有很多,但是很多不能用,能用的也仅仅只是在CentOS6下使用,CentOS7基本没看到这些安装脚本.于是花了一些时间来折腾测试,写这个脚本方便以后VPN的一键安装搭建.其中用的开源软件包是openswan和xl2tpd,,中间碰到过很多很多问题,如openswan和xl2tpd之间的兼容性问题. 请容许我这样做,脚本依赖<OneinStack>

CentOS 6、7下pptp vpn一键安装脚本

之前有折腾过<CentOS 6.7下IPSEC/L2TP VPN一键安装脚本>,不稳定.不支持IOS,因此换成pptp,并已经添加到<lnmp一键安装包>.这个脚本可以单独使用,直接复制或下载执行即可,不用依赖安装包的其它脚本. CentOS 6.7下pptp vpn一键安装脚本,安装如下: wget http://mirrors.linuxeye.com/scripts/vpn_centos.sh chmod +x ./vpn_centos.sh ./vpn_centos.sh

hadoop-2.4.0-x64+hive-1.2.1+Zookeeper-3.4.5+Hbase-0.98.21自动化安装脚本

参考资料:Hadoop2.3.0详细安装过程开源中国git: https://git.oschina.net/lucky110100/sloth.git 你没看错,这就是2.4.0版本的安装脚本,虽然参考的是2.3.0的. 安装环境:虚拟机软件: VirtualBox-4.3.8-92456-Win.exe虚拟机系统: CentOS-6.5-x86_64-bin-DVD1.iso,64位,分配1CPU,2G内存Hadoop版本: hadoop-2.4.0-64bit.tar.gz 下载Nginx

mysql自动安装脚本

为适应自己工作习惯和需要,花一点时间写了一个mysql自动安装脚本,供大家参考学习. 注意: 1.需要先安装cmake 2.数据库版本需要在第二步安装mysql时修改 3.该脚本是以root用户安装并启动 脚本内容如下: ######################################################################## #mysql自动安装脚本,其中变量/mysql_v_dir/和/port/可根据实际需要修改    # #执行脚本命令:sh mys

lnmp源码安装-脚本执行

lnmp 源码安装- 脚本执行 源码包版本: nginx1.9 mysql5.6.4 php5.6 使用: 将lnmp.tar.gz 解压至 根目录下,进入/lnmp/install/目录下,执行install.sh脚本即可.选择性安装! 安装过程中会有些警告信息显示,不影响. 整合包地址:http://pan.baidu.com/s/1dFp7gqP =======================代码============================= #!/bin/bash #####