A goal is a dream with a deadline. Much effort, much prosperity.

环境:CentOS release 6.5  2.6.32-431.el6.x86_64

 #!/bin/bash
 #--
 #下为软件版本号、安装路径、数据存放路径、密码、URL等,如有不同、则自行修改变量即可
 #释:ylb为依赖包1/
 #释:path为路径1/
 #释:mysqlcatalog为MySQL的安装路径
 #释:mysqldata为MySQL的数据存放位置
 #释:environment为PHP的环境1为开发版样例文件2为生产版样例文件
 http='httpd-2.2.31'
 mysql='mysql-5.7.2-m12'
 php='php-5.3.28'
 libmcrypt='libmcrypt-2.5.8'
 mhash='mhash-0.9.9.9'
 mcrypt='mcrypt-2.6.8'
 cmake='cmake-2.8.12'
 ZendGuardLoader='ZendGuardLoader-php-5.3-linux-glibc23-x86_64'
 ylb1='zlib-devel libxml2-devel ncurses-devel'
 ylb2='php php-cli php-ldap php-common php-mysql httpd mysql-server'
 path1='/usr/src'
 path2='/usr/local'
 mysqlcatalog='/usr/local/mysql/'
 mysqldata='/usr/local/mysql/data'
 mysqlrootpasswd='
 environment1='php.ini-development'
 environment2='php.ini-production'
 epel='https://mirrors.aliyun.com/epel/epel-release-latest-6.noarch.rpm'
 repo='http://mirrors.aliyun.com/repo/Centos-6.repo'

 aliyum() {
  -i  -t  www.baidu.com
  ]
 then
     mv /etc/yum.repos.d/* /tmp
     wget $epel
     yum -y localinstall epel*.rpm
     wget -O /etc/yum.repos.d/CentOS-Base.repo $repo
     yum clean all
     yum makecache
 else
     echo "Network is not connected"
 fi
 }
 #Install depend
 rpm -q $ylb2 | awk '{print $1}' > b.txt
 sed -i '/^package/d' b.txt
 for i in $(cat b.txt)
 do
     rpm -e $i --nodeps > /dev/null
 done

 yum -y install $ylb1 > /dev/null
 if [ ! $? -eq 0 ]
 then
     aliyum
     yum -y install $ylb1 > /dev/null
 fi
 #Install httpd
 tar xf $http.tar.gz -C $path1
 cd $path1/$http
 ./configure --prefix=$path2/httpd --enable-so --enable-rewrite --enable-charset-lite --enable-cgi && make && make install
 echo $? >> /root/debug.txt
 echo "install apache time" >> /root/debug.txt
 cd ~
 ln -s $path2/httpd/bin/* /usr/local/bin/
 cp $path2/httpd/bin/apachectl /etc/init.d/httpd
 sed -i '1a# chkconfig:35 20 80\n# description:web' /etc/init.d/httpd
 chkconfig --add httpd
 chkconfig httpd on
 chkconfig --list httpd
 sed -i '98aServerName www.wjl.com:80' $path2/httpd/conf/httpd.conf
 service httpd start
 netstat -anpt | grep :80 >> /root/debug.txt
 #Install MySql
 tar xf $cmake.tar.gz -C $path1
 cd $path1/$cmake
 ./configure && gmake && gmake install
 groupadd mysql
 useradd -M -s /sbin/nologin -g mysql mysql
 cd ~
 tar xf $mysql.tar.gz -C $path1
 cd $path1/$mysql
 cmake -DCMAKE_INSTALL_PREFIX=$path2/mysql -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all -DSYSCONFDIR=/etc && make && make install
 echo $? >> /root/debug.txt
 echo "install mysql time" >> /root/debug.txt
 cp support-files/my-default.cnf /etc/my.cnf
 cp support-files/mysql.server /etc/init.d/mysqld
 chmod +x /etc/init.d/mysqld
 chkconfig --add mysqld
 chkconfig --list mysqld
 echo "PATH=$PATH:$path2/mysql/bin" >> /etc/profile
 source /etc/profile
 chown -R mysql:mysql $path2/mysql/
 $path2/mysql/scripts/mysql_install_db --basedir=$mysqlcatalog --datadir=$mysqldata --user=mysql
 service mysqld start
 netstat -anpt | grep :3306 >> /root/debug.txt
 cd ~
 mysqladmin -u root password $mysqlrootpasswd
 #Install PHP
 tar xf $libmcrypt.tar.gz -C $path1
 cd $path1/$libmcrypt
 ./configure
 make && make install
 ln -s $path2/lib/libmcrypt.* /usr/lib/
 cd ~
 tar xf $mhash.tar.gz -C $path1
 cd $path1/$mhash
 ./configure
 make && make install
 ln -s $path2/lib/libmhash* /usr/lib/
 cd ~
 tar xf $mcrypt.tar.gz -C $path1
 cd $path1/$mcrypt
 export LD_LIBRARY_PATH=$path2/lib:$ LD_LIBRARY_PATH
 ./configure
 make && make install
 cd ~
 tar xf $php.tar.gz -C $path1
 cd $path1/$php
 ./configure --prefix=$path2/php5 --with-mcrypt --with-apxs2=$path2/httpd/bin/apxs --with-mysql=$path2/mysql --with-config-file-path=$path2/php5 --enable-mbstring && make && make install
 if [ ! $? -eq 0 ]
 then
     yum -y install libtool*
     ./configure --prefix=$path2/php5 --with-mcrypt --with-apxs2=$path2/httpd/bin/apxs --with-mysql=$path2/mysql --with-config-file-path=$path2/php5 --enable-mbstring && make && make install
 fi
 echo $? >> /root/debug.txt
 echo "install php time" >> /root/debug.txt
 cp $path1/$php/$environment1 $path2/php5/php.ini
 grep -v "^;" /usr/local/php5/php.ini  | grep -v "^$"
 sed -i "/default_charset/s#.*\(default_charset\).*#\1 = "utf-8"#g" $path2/php5/php.ini
 sed -i "/file_uploads/s#\(file_uploads\).*#\1 = On#g" $path2/php5/php.ini
 sed -i "/upload_max_filesize/s#.*\(upload_max_filesize\).*#\1 = 2M#g" $path2/php5/php.ini
 sed -i "/max_file_uploads/s#\(max_file_uploads\).*#\1 = 20#g" $path2/php5/php.ini
 sed -i "/post_max_size/s#.*\(post_max_size\).*#\1 = 8M#g" $path2/php5/php.ini
 sed -i "/short_open_tag/s#.*\(short_open_tag\).*#\1 = On#g" $path2/php5/php.ini
 cd ~
 tar xf $ZendGuardLoader.tar.gz -C $path1
 cd $path1/$ZendGuardLoader/php-5.3.x/
 cp ZendGuardLoader.so $path2/php5/lib/php/
 sed -i "1azend_extension=${path2}/php5/lib/php/ZendGuardLoader.so\nzend_loader.enable=1" $path2/php5/php.ini
 sed -i "/LoadModule php5_module/s#.*\(LoadModule php5_module\).*#\1 modules\/libphp5.so#g" $path2/httpd/conf/httpd.conf
 sed -i "55a AddType application\/x-httpd-php \.php \.phtml" $path2/httpd/conf/httpd.conf
 sed -i "/DirectoryIndex/s#.*\(DirectoryIndex\).*#\1 index.php index.html index.htm#g" $path2/httpd/conf/httpd.conf
 cat << END >> $path2/httpd/htdocs/test1.php
 <?php
 phpinfo ();
 ?>
 END
 cat << END >> $path2/httpd/htdocs/test2.php
 <?php
 \$link=mysql_connect('localhost','root','$mysqlrootpasswd')
 ;
 if(\$link) echo "Connect Successfully!";
 else echo "Connect Faild!";
 mysql_close();
 ?>
 END
 echo "已执行完毕、成功与否请查看/root/debug.txt内容,非0为安装失败"
 echo "1、检查软件版本号是否相同"
 echo "2、查看为非0的下的提示报错位置进行修改"
 echo "测试PHP是否正常工作:http://localhost/test1"
 echo "测试PHP能否连接MySQL:http://localhost/test2"

LAMP脚本的更多相关文章

  1. 一键部署lamp 脚本

    一键部署lamp 脚本 如下: #!/bin/bash systemctl stop firewalld systemctl disable firewalld setenforce 0 #----- ...

  2. CentOS自动化安装LAMP脚本

    #!/bin/bash #-- #blog:lizhenliang.blog.51cto.com ########## function ########## depend_pkg () { yum ...

  3. 一键部署lamp脚本

    #!/bin/bash systemctl stop firewalld systemctl disable firewalld setenforce 0 #-------Apache------ # ...

  4. 转:CentOS/Debian/Ubuntu一键安装LAMP(Apache/MySQL/PHP)环境

    CentOS/Debian/Ubuntu一键安装LAMP(Apache/MySQL/PHP) 今天遇到一个网友提到需要在Linux VPS服务器中安装LAMP(Apache/MySQL/PHP)网站环 ...

  5. LAMP一键安装包-CentOS 5/6下自动编译安装Apache,MySQL,PHP

    http://www.centos.bz/lamp/ 此安装包已经不再维护,请使用新版http://www.centos.bz/ezhttp/. 适用环境: 系统支持:CentOS-5 (32bit/ ...

  6. Vultr VPS建站攻略 – 一键安装宝塔面板架设LNMP/LAMP Web环境

    我们选择VULTR VPS建站的还是比较多的,其主要原因在于商家的稳定,毕竟我们用来建站选择服务器价格考虑的不是主要的(当然VULTR价格也是比较便宜),最为主要的是因为VULTR商家比较稳定,而且多 ...

  7. Apache下安装配置mod_pagespeed模块,轻松完成网站提速

    mod_pagespeed是一个开源的Apache module,它由谷歌开发,通过优化你的网页来减少响应延迟和带宽占用.作用参考ngx_pagespeed功能:http://blog.linuxey ...

  8. liunx 系统 一键安装

    本文转自:http://hi.baidu.com/iamcyh/item/e777eb81ba90ed5a26ebd9b0 linux VPS环境(MySQL/Apache/PHP/Nginx)一键安 ...

  9. shell学习及脚步编写

    目录: shell基础变量逻辑运算符 scp基础用法脚本 while+for+case基础用法脚本 内核优化脚本 自动修改本机ip脚本 for+case 查询日志脚本 一键yum安装lamp脚本 源码 ...

随机推荐

  1. Microsoft Visual C++ 2005 Redistributable---win下安装软件“嘭”的一声报错!

    今天下了个MindManager,正准备安装结果出现了如题的错误提示!!! 于是百度/google一下,在权威的微软官网下找到了答案,他妈的,看了之后表示很无奈 If the non unicode ...

  2. Android 调用堆栈跟踪

    Android开发中,我们也会经常遇到段错误,也就是SIGSEGV(11),这个时候libc的backtrace会打印出对应的堆栈信 息,而你看到的仅仅是一对数字,好像无从查起. 如下面这一从串断错误 ...

  3. Office Developer Tools for Visual Studio 2012现在可用了

    [原文发表地址]   Now Available: Office Developer Tools for Visual Studio 2012 正如我以前写过的,我们正在为构建下一代Office和 S ...

  4. JStorm开发经验+运维经验总结

    1.开发经验总结  ——12 Sep 2014 · 8 revisions 在jstorm中, spout中nextTuple和ack/fail运行在不同的线程中, 从而鼓励用户在nextTuple里 ...

  5. resolution will not be reattempted until the update interval of vas has elap

    转自:http://kia126.iteye.com/blog/1785120 maven在执行过程中抛错: 引用 ... was cached in the local repository, re ...

  6. ASP.Net请求处理机制初步探索之旅 - Part 2 核心(转)

    开篇:上一篇我们了解了一个请求从客户端发出到服务端接收并转到ASP.Net处理入口的过程,这篇我们开始探索ASP.Net的核心处理部分,借助强大的反编译工具,我们会看到几个熟悉又陌生的名词(类):Ht ...

  7. delphi 事件记录

    delphi常用事件 序号 事件 描述 1. OnActive 焦点称到窗体或控件时发生 2. OnClick 鼠标单击事件 3. OnDbClick 鼠标双击事件 4. OnClose和OnClos ...

  8. 阻塞IO、非阻塞IO、同步IO、异步IO等

    https://www.cnblogs.com/zingp/p/6863170.html 阅读目录 1 基础知识回顾 2 I/O模式 3 事件驱动编程模型 4 select/poll/epoll的区别 ...

  9. js身份证号有效性验证

    1.简述 最近做的系统有用到实名验证的,起初对于用户身份证号只是简单地使用正则表达式进行验证, 很多无效的身份证号就成了漏网之鱼. 导致后台存表里很多无效的身份证号,随便输入用户名和身份证号就可以实名 ...

  10. vue事件修饰器

    事件修饰器 Vue.js 为 v-on 提供了 事件修饰符.通过由点(.)表示的指令后缀来调用修饰符.· .stop .prevent .capture .self <div id=" ...