SHELL实现CentOS6,Ubuntu16下自动下载,编译安装LAMP
来源:互联网 发布:php购物网站源码mysql 编辑:程序博客网 时间:2024/05/22 02:00
shell暂时没时间去写了, 等有时间慢慢来~ 未完待续。。。
目前第一版:
本人在Centos6上运行成功。
使用方法:先用root账号运行install脚本,然后用普通账号运行init(root账户也可以,不过我没试过).
init 参数说明:
–install-path 安装目录,当前执行的用户必须有这个目录的权限!!!并且不可使用相对目录!
比如:
./init --install-path=/home/sxin/soft 这个是对的./init --install-path=~/soft 这个是错的
目前存在的问题:
mysql编译安装完执行生成data目录的随机密码暂时获取不到,以及mysql配置文件的内容没有修改.
install
#!/bin/bashlinuxver=`head -n 1 /etc/issue`linuxver=`echo $linuxver | tr 'a-z' 'A-Z'`[[ $linuxver =~ "CENTOS" ]] && yum install -y gcc gcc-c++ cmake git ncurses-devel libxml2 libxml2-devel.x86_64 [[ $linuxver =~ "UBUNTU" ]] && apt-get install -y gcc g++ libxml2-dev libpcre3 libpcre3-dev libzlcore-dev cmake git libncurses5 libncurses5-dev
init
#!/bin/bashlogname='log'`true > $logname`echo `date "+%Y-%m-%d %H:%M:%S" `' start' > $lognameisdownphp=trueisdownhttpd=trueisdownmysql=trueisdownnginx=truedownpath=~/downloadsphpcodepath=$downpath/php7httpdcodepath=$downpath/httpd24/mysqlcodepath=$downpath/mysql57/nginxcodepath=$downpath/nginx/toolscodepath=$downpath/toolsinstallpath=~/installfor para in $@do [[ "${para}" =~ --php-code-path= ]] && isdownphp=false && phpcodepath=${para#--php-code-path=} [[ "${para}" =~ --httpd-code-path= ]] && isdownhttpd=false && httpdcodepath=${para#--httpd-code-path=} [[ "${para}" =~ --mysql-code-path= ]] && isdownmysql=false && mysqlcodepath=${para#--mysql-code-path=} [[ "${para}" =~ --nginx-code-path= ]] && isdownnginx=false && nginxcodepath=${para#--nginx-code-path=} [[ "${para}" =~ --install-path= ]] && installpath=${para#--install-path=}doneuser='sxin'echo `date "+%Y-%m-%d %H:%M:%S" `' init path' >> $logname#init pathif [ ! -d "$installpath" ]; then mkdir -p "$installpath"fiif [ ! -d "$downpath" ]; then mkdir -p "$downpath"fiif [ ! -d "$phpcodepath" ]; then mkdir -p "$phpcodepath"fiif [ ! -d "$httpdcodepath" ]; then mkdir -p "$httpdcodepath"fiif [ ! -d "$mysqlcodepath" ]; then mkdir -p "$mysqlcodepath"fiif [ ! -d "$nginxcodepath" ]; then mkdir -p "$nginxcodepath"fiif [ ! -d "$toolscodepath" ]; then mkdir -p "$toolscodepath"fiecho `date "+%Y-%m-%d %H:%M:%S" `' create path' >> $logname#下载软件源码$isdownphp && echo `date "+%Y-%m-%d %H:%M:%S" `' start download php code' >> $logname && wget -P $downpath/php7 "http://cn2.php.net/distributions/php-7.0.8.tar.gz" && echo `date "+%Y-%m-%d %H:%M:%S" `' download php code ok' >> $logname$isdownnginx && echo `date "+%Y-%m-%d %H:%M:%S" `' start download nginx code' >> $logname && wget -P $downpath/nginx "http://nginx.org/download/nginx-1.11.1.tar.gz" && echo `date "+%Y-%m-%d %H:%M:%S" `' download nginx code ok' >> $logname$isdownhttpd && echo `date "+%Y-%m-%d %H:%M:%S" `' start download httpd code' >> $logname && wget -P $downpath/httpd24 "http://mirrors.hust.edu.cn/apache//httpd/httpd-2.4.20.tar.gz" && echo `date "+%Y-%m-%d %H:%M:%S" `' download httpd code ok' >> $logname$isdownmysql && echo `date "+%Y-%m-%d %H:%M:%S" `' start download mysql code' && wget -P $downpath/mysql57 "http://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.13.tar.gz" && echo `date "+%Y-%m-%d %H:%M:%S" `' download mysql code ok' >> $logname && echo `date "+%Y-%m-%d %H:%M:%S" `' start download mysql-boost code' && wget -P $downpath/mysql57 "http://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-boost-5.7.13.tar.gz"&& echo `date "+%Y-%m-%d %H:%M:%S" `' download mysql-boost code ok' >> $logname wget -P $toolscodepath "http://apache.fayea.com//apr/apr-1.5.2.tar.gz" "http://apache.fayea.com//apr/apr-util-1.5.4.tar.gz" "http://zlib.net/zlib-1.2.8.tar.gz" "ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.39.tar.gz"echo `date "+%Y-%m-%d %H:%M:%S" `' download apr apr-util zlib pcre code' >> $logname#extracttar -zxvf $toolscodepath/apr-1.5.2.tar.gz -C $toolscodepathecho `date "+%Y-%m-%d %H:%M:%S" `' extract apr success' >> $lognametar -zxvf $toolscodepath/apr-util-1.5.4.tar.gz -C $toolscodepathecho `date "+%Y-%m-%d %H:%M:%S" `' extract apr-util success' >> $lognametar -zxvf $toolscodepath/pcre-8.39.tar.gz -C $toolscodepathecho `date "+%Y-%m-%d %H:%M:%S" `' extract pcre success' >> $lognametar -zxvf $toolscodepath/zlib-1.2.8.tar.gz -C $toolscodepathecho `date "+%Y-%m-%d %H:%M:%S" `' extract zlib success' >> $logname$isdownnginx && tar -zxvf $nginxcodepath/nginx-1.11.1.tar.gz -C $nginxcodepath && echo `date "+%Y-%m-%d %H:%M:%S" `' extract nginx success' >> $logname$isdownphp && tar -zxvf $phpcodepath/php-7.0.8.tar.gz -C $phpcodepath && echo `date "+%Y-%m-%d %H:%M:%S" `' extract php success' >> $logname$isdownmysql && tar -zxvf $mysqlcodepath/mysql-5.7.13.tar.gz -C $mysqlcodepath && echo `date "+%Y-%m-%d %H:%M:%S" `' extract mysql success' >> $logname$isdownmysql && tar -zxvf $mysqlcodepath/mysql-boost-5.7.13.tar.gz -C $mysqlcodepath && echo `date "+%Y-%m-%d %H:%M:%S" `' extract mysql-boost success' >> $logname$isdownhttpd && tar -zxvf $httpdcodepath/httpd-2.4.20.tar.gz -C $httpdcodepath && echo `date "+%Y-%m-%d %H:%M:%S" `' extract httpd success' >> $logname#compile#aprecho `date "+%Y-%m-%d %H:%M:%S" `' start compile apr ' >> $lognamecd $toolscodepath/apr-1.5.2 && ./configure --prefix=$installpath/tools/apr && make && make installecho `date "+%Y-%m-%d %H:%M:%S" `' compile install apr success' >> $logname#apr-utilecho `date "+%Y-%m-%d %H:%M:%S" `' start compile apr-util ' >> $lognamecd $toolscodepath/apr-util-1.5.4 && ./configure --prefix=$installpath/tools/apr-util --with-apr=$installpath/tools/apr && make && make installecho `date "+%Y-%m-%d %H:%M:%S" `' apr-util success' >> $logname#pcreecho `date "+%Y-%m-%d %H:%M:%S" `' start compile pcre' >> $lognamecd $toolscodepath/pcre-8.39 && ./configure --prefix=$installpath/tools/pcre && make && make installecho `date "+%Y-%m-%d %H:%M:%S" `' pcre success' >> $logname#zlibecho `date "+%Y-%m-%d %H:%M:%S" `' start compile zlib' >> $lognamecd $toolscodepath/zlib-1.2.8 && ./configure --prefix=$installpath/tools/zlib && make && make installecho `date "+%Y-%m-%d %H:%M:%S" `' zlib success' >> $logname#nginxecho `date "+%Y-%m-%d %H:%M:%S" `' start compile nginx' >> $lognamecd $nginxcodepath/nginx-1.11.1 && ./configure --prefix=$installpath/nginx --with-pcre=$downpath/tools/pcre-8.39 --with-zlib=$downpath/tools/zlib-1.2.8 && make && make installecho `date "+%Y-%m-%d %H:%M:%S" `' nginx success' >> $logname#httpdecho `date "+%Y-%m-%d %H:%M:%S" `' start compile httpd' >> $lognamecd $httpdcodepath/httpd-2.4.20 && ./configure --prefix=$installpath/httpd24 --with-apr=$installpath/tools/apr --with-apr-util=$installpath/tools/apr-util/ --with-pcre=$installpath/tools/pcre/ && make && make installecho `date "+%Y-%m-%d %H:%M:%S" `' httpd success' >> $logname#mysqlecho `date "+%Y-%m-%d %H:%M:%S" `' start compile mysql' >> $lognamencuresespath=`find /usr -name libncurses.so`cd $mysqlcodepath/mysql-5.7.13 && cmake . -DCMAKE_INSTALL_PREFIX=$installpath/mysql57 -DSYSCONFDIR=/etc/mysql -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DMYSQL_DATADIR=$installpath/mysql/data -DWITH_BOOST=boost -DCURSES_LIBRARY=$ncuresespath -DCURSES_INCLUDE_PATH=/usr/include && make && make installecho `date "+%Y-%m-%d %H:%M:%S" `' mysql success' >> $logname#$installpath/mysql57/bin/mysqld --initialize --user=$user --basedir=$installpath/mysql --datadir=$installpath/mysql/dataecho `date "+%Y-%m-%d %H:%M:%S" `' init mysql data success' >> $logname#php`sed -i "/PDO_MYSQL configure failed, MySQL 4.1 needed/"d $phpcodepath/php-7.0.8/configure`echo `date "+%Y-%m-%d %H:%M:%S" `' start compile php' >> $lognamecd $phpcodepath/php-7.0.8 && ./configure --prefix=$installpath/php7 --with-config-file-path=$installpath/php7/conf --with-apxs2=$installpath/httpd24/bin/apxs --with-pdo-mysql=$installpath/mysql57 --with-mysqli --with-zlib-dir=$installpath/tools/zlib && make && make installmkdir $installpath/php7/confcp $phpcodepath/php-7.0.8/php.ini-development $installpath/php7/conf/php.iniecho `date "+%Y-%m-%d %H:%M:%S" `' php success' >> $logname
还没写完。。。
0 0
- SHELL实现CentOS6,Ubuntu16下自动下载,编译安装LAMP
- centos6.5下编译安装lamp
- CentOS6下安装LAMP
- centos6源码编译安装lamp
- CentOS6.9编译安装LAMP
- centos6.5下lamp环境的搭建(源码编译安装)
- CentOS6编译安装LAMP:编译安装 PHP5
- CentOS6.7下使用非root用户(普通用户)编译安装与配置mysql数据库并使用shell脚本定时任务方式实现mysql数据库服务随机自动启动
- win7下安装Ubuntu16.04及android源码下载,编译
- shell脚本实现自动编译安装
- Ubuntu下自动安装LAMP
- Centos6.9实现基于源码编译安装LAMP(FPM模块方式)的wordpress应用
- 基于编译安装实现LAMP
- ubuntu16.04 LAMP安装
- LAMP一键安装包-CentOS 5/6下自动编译安装Apache,MySQL,PHP
- LAMP一键安装包-CentOS 5/6下自动编译安装Apache,MySQL,PHP
- (转)CentOS6环境下编译部署LAMP平台
- centos6.5 编译安装lamp以及相关错误的解决
- SDAU练习四 1003
- IDEA下创建Maven,Servlet,JSP,MYSQL项目
- android google GMS服务包安装
- TCP/IP学习(1)
- 关于SAP系统 数据库底层表设计约束情况
- SHELL实现CentOS6,Ubuntu16下自动下载,编译安装LAMP
- leetcode 求字符串数组的最大公共前缀
- Java UDP编程实例
- 写在开篇的话
- Java 开源博客 Solo 1.4.0 发布 - 简化
- git是什么?
- 嵌入式lab2——Arm编程
- pl/sql 变量赋值
- 如何调试Android SO中的init函数