• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
导航菜单
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • windows
  • 服务器硬件
  • 服务器运维
  • 云计算
  • 虚拟化
  • IIS教程
  • Linux
  • Apache
  • Ftp
  • DNS
  • Nginx
您的位置:首页 > 服务器 >windows > Cenots 上面用Shell脚本一键安装LAMP环境

Cenots 上面用Shell脚本一键安装LAMP环境

作者:网友 字体:[增加 减小] 来源:互联网

本文主要包含cenots,cenots6.5,lamp shell,shell脚本,shell脚本编程等服务器相关知识,网友希望可以进行参考

   LAMP指的Linux操作系统)、ApacheHTTP 服务器),MySQL数据库软件)和PHP构建的web服务器。该网站架构是目前国际流行和通用的Web架构,LAMP跨平台、高性能等优势,是很多企业和公司搭建WEB服务的首选平台。

   1)系统环境介绍
     Centos 5.8 64位
     Apache:httpd-2.4.4.tar.gz
     PHP:   php-5.4.17.tar.gz
     Mysql: mysql-5.6.12.tar.gz

   2)安装脚本

#!/bin/bash
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
export PATH
#INFO函数定义输出字体颜色,echo -e 表示保持字符串的特殊含义,$1表示字体颜色编号,$2表示等待程序执行时间,$3表示echo输出内容。
function INFO()
{
     echo -e "\e[$1;49;1m: $3 \033[39;49;0m"
     sleep "$2"
     echo ""
}
#非root用户不能执行该脚本
if  [ "$UID" != 0 ];
        then
          echo " "
                INFO 35 "0" "Must be root ro run this script."
        exit 1
fi
#USAGE函数定义脚本用法,可反复调用,basename其实就是脚本名,\n表示换行。
function USAGE()
{
        INFO 35 "0.1" "Please see the script of the usage:"
        basename=$(basename "$0")
        INFO \
          36 "0" \
          "$(echo -e "Usage: \n\n./$basename (apache|mysql|php) install \n./$basename apache (start|stop|restart) \n./$basename mysql (start|stop|restart)\n")"
}
#YUM_INSTALL函数安装依赖包,可反复调用,$@表示所有参数都分别被双引号引住"$1","$2",而$*表示所有这些参数都被双引号引住"$1$2"
function YUM_INSTALL()
{
        for a in $@; do
          INFO 32 1 "Install depend on the [ $a ]"
                yum -y install $a || exit 1
          if [ $a = "libXpm-devel" ]; then
               ln -s /usr/lib/x86_64-linux-gnu/libXpm.so /usr/lib/libXpm.so
          #elif [ $a = "libsasl2-dev" ]; then
          #     cp /usr/lib/x86_64-linux-gnu/libldap* /usr/lib/
          fi
        done
}
#INSTALL函数定义安装程序,可一反复调用,安装apache程序的时候要先安装3个依赖包,在安装mysql的时候要用cmake编译。$1表示要安装的程序,$2表示yum安装对应的依赖包,$3表示程序解压后的目录,$4表示程序源码包。
function INSTALL()
{
     YUM_INSTALL "$2" && cd $SOURCE_PATH
     [ -d $3 ] && rm -r $3; INFO 31 4 "Unpack the $4 installation package......"
     tar zxvf $4; cd $3 ; pwd ; INFO 32 4 "Configure the $1......"
            if [ $1 = apache ];
                then
                        cp -rf ../apr-1.4.8 srclib/apr
                        cp -rf ../apr-util-1.5.2 srclib/apr-util
               ./configure $5 || exit 1
     elif [ $1 = mysql ];
          then
               cmake $5 || exit 1
     elif [ $1 = openssl ];
          then
               ./config $5 || exit 1
     elif [ $1 = libpng ];
          then
               cp scripts/makefile.linux makefile
     elif [ $1 = jpegsrc.v6b.tar.gz ];
          then
               cp /usr/share/libtool/config.guess  ./
               cp /usr/share/libtool/config.sub ./
               ./configure $5 || exit 1
               mkdir -p  /usr/local/env/jpeg/bin
               mkdir -p  /usr/local/env/jpeg/lib
               mkdir -p  /usr/local/env/jpeg/include
               mkdir -p /usr/local/env/jpeg/man/man1
                 else
               ./configure $5 || exit 1
            fi
     INFO 36 3 "Compile $1......"
            make || exit 1 && INFO 34 4 "Install $1......" ; make install && INFO 33 4 "$1 installation is successful......"
                                                                                                                                                                                                                                                                              
     if [ $1 = mysql ];
          then
               echo $INSTALL_PATH/mysql/lib/mysql >> /etc/ld.so.conf
               /sbin/ldconfig && INFO 33 4 "Add $1 library file to ld.so.conf......"
     fi
     if [ $1 = libiconv ];
          then
               echo "/usr/local/env/libiconv/lib" >> /etc/ld.so.conf
               /sbin/ldconfig && INFO 33 4 "Add $1 library file to ld.so.conf......"
     fi
     if [ $1 = libxml2 ];
          then
               echo "/usr/local/env/libxml2/lib" >> /etc/ld.so.conf
                        /sbin/ldconfig && INFO 33 4 "Add $1 library file to ld.so.conf......"
     fi
     if [ $1 = libmcrypt ];
          then
               echo "/usr/local/env/libmcrypt/lib" >> /etc/ld.so.conf
                        /sbin/ldconfig && INFO 33 4 "Add $1 library file to ld.so.conf......"
     fi
     if [ $1 = mhash ];
          then
               echo "/usr/local/lib" >> /etc/ld.so.conf
               echo "/usr/local/lib64" >> /etc/ld.so.conf
                        /sbin/ldconfig && INFO 33 4 "Add $1 library file to ld.so.conf......"
     fi
     if [ $1 = gettext ];
          then
                        echo "/usr/local/env/gettext/lib" >> /etc/ld.so.conf
                        /sbin/ldconfig && INFO 33 4 "Add $1 library file to ld.so.conf......"
     fi
     if [ $1 = gd ];
          then
               sed -i '27 a void (*data);' /usr/local/env/gd/include/gd_io.h
               echo "/usr/local/env/gd/lib" >> /etc/ld.so.conf
                        /sbin/ldconfig && INFO 33 4 "Add $1 library file to ld.so.conf......"
     fi
     if [ $1 = freetype ];
          then
               echo "/usr/local/env/freetype/lib" >> /etc/ld.so.conf
                        /sbin/ldconfig && INFO 33 4 "Add $1 library file to ld.so.conf......"
     fi
     if [ $1 = jpegsrc.v6b.tar.gz ];
                then
                        echo "/usr/local/env/jpeg/lib" >> /etc/ld.so.conf
                        /sbin/ldconfig && INFO 33 4 "Add jpeg library file to ld.so.conf......"
     fi
}
#SERVICE函数定义程序启动,关闭,重启。
function SERVICE()
{
     if [ $1 = apache -a $2 = start ]; then
          $INSTALL_PATH/$1/bin/apachectl -k start && \
          INFO 33 "2.5" "Apache startup success......"
          exit
     elif [ $1 = apache -a $2 = stop ]; then
          $INSTALL_PATH/$1/bin/apachectl -k stop && \
          INFO 31 "2.5" "Apache has stopped......"
          exit
     elif [ $1 = apache -a $2 = restart ]; then
          $INSTALL_PATH/$1/bin/apachectl -k stop ; sleep 2
          INFO 31 "2.5" "Apache has stopped......"
          $INSTALL_PATH/$1/bin/apachectl -k start && \
          INFO 34 "2.5" "Apache has restarted......"
          exit
     elif [ $1 = mysql -a $2 = start ]; then
          /bin/bash $INSTALL_PATH/$1/bin/mysqld_safe --defaults-file=$INSTALL_PATH/$1/my.cnf 2>&1 > /dev/null &
          INFO 33 "2.5" "Mysql startup success......"
          echo -e "$(netstat -ntpl|grep "/:::3306")"
          exit
     elif [ $1 = mysql -a $2 = stop ]; then
          kill $(netstat -ntpl|awk '/:::3306/{print $NF}'|awk -F '/' '{print $1}') && \
          INFO 31 "2.5" "Mysql has stopped......"
          exit
     elif [ $1 = mysql -a $2 = restart ]; then
          kill $(netstat -ntpl|awk '/:::3306/{print $NF}'|awk -F '/' '{print $1}') && \
          INFO 31 "3" "Mysql has stopped......"
          /bin/bash $INSTALL_PATH/$1/bin/mysqld_safe --defaults-file=$INSTALL_PATH/$1/my.cnf 2>&1 > /dev/null &
          INFO 34 "2.5" "Mysql has restarted......"
          exit
     fi
}
#CONFIG_MYSQL函数用来定义mysql的配置。
function CONFIG_MYSQL()
{
     INFO 32 3 "Configure the mysql......"
        groups mysql || groupadd mysql && id mysql || useradd -g mysql mysql
        cd $INSTALL_PATH/mysql ; pwd
                ./scripts/mysql_install_db \
                        --user=mysql \
                    
  


 
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • Cenots 上面用Shell脚本一键安装LAMP环境

相关文章

  • 配置和工具提升Windows 2003系统安全
  • windows服务器下PHP环境配置图文教程
  • Windows IIS 7.5伪静态中文URL地址404错误问题
  • HTTP 401.5未经授权:ISAPI-CGI 应用程序授权失败解决办法
  • windows以管理员权限运行命令介绍
  • iis“Microsoft JET Database Engine(0x80004005)未指定错误”
  • Windows Server 2003 的启动问题
  • 安装DHCP服务
  • CentOS Bind DNS自动化部署
  • iis和apache 80端口冲突无法正常启动解决方法

文章分类

  • windows
  • 服务器硬件
  • 服务器运维
  • 云计算
  • 虚拟化
  • IIS教程
  • Linux
  • Apache
  • Ftp
  • DNS
  • Nginx

最近更新的内容

    • phpmyadmin解决导入2MB以上sql文件方法
    • 也谈学生机房PC桌面虚拟化
    • SVN 更新时出错:不能打开新文件 svn-base 系统找不到指定的文件
    • Corosync/Openais+Pacemaker+ISCSI+OCFS:构建高可用Web群集
    • 集群 之 LVS + Keepalived
    • 网站怎么做301重定向(apache/iis/htaccess)实现方法介绍
    • 软件安装之YUM
    • raid添加新的硬盘问题
    • 国内云存储领域后起之秀
    • 三、安装Nginx 0.8.46【LNMP安装 】

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有