自動化(YUM/編譯)安裝PHP(5.3/5.5/7.0/7.1)腳本
PHP(外文名:PHP Hypertext Preprocessor,中文名:“超文本預處理器”)是一種通用開源腳本語言。
它可以比CGI或者Perl更快速地執行動态網頁。為友善快安裝部署php,可以參考一下腳本。
1.YUM安裝PHP(5.3/5.5/7.0/7.1)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
<code>#!/bin/bash</code>
<code>#Date 2017/1/18</code>
<code>#mail [email protected]</code>
<code>[ $(</code><code>id</code> <code>-u) != </code><code>"0"</code> <code>] && </code><code>echo</code> <code>"Error: You must be root to run this script"</code> <code>&& </code><code>exit</code> <code>1</code>
<code>export</code> <code>PATH=</code><code>/usr/local/sbin</code><code>:</code><code>/usr/local/bin</code><code>:</code><code>/sbin</code><code>:</code><code>/bin</code><code>:</code><code>/usr/sbin</code><code>:</code><code>/usr/bin</code>
<code>which</code> <code>ntpdate</code>
<code>if</code> <code>[ $? -</code><code>eq</code> <code>0 ];</code><code>then</code>
<code> </code><code>ntpdate time1.aliyun.com</code>
<code>else</code>
<code> </code><code>yum </code><code>install</code> <code>ntpdate</code>
<code>fi</code>
<code>yum remove `yum list installed | </code><code>grep</code> <code>php` -y</code>
<code>clear</code>
<code>if</code> <code>[ -n </code><code>"`grep 'CentOS Linux release 7' /etc/redhat-release`"</code> <code>];</code><code>then</code>
<code> </code><code>CentOS_REL=el7</code>
<code> </code><code>rpm -ivh http:</code><code>//repo</code><code>.webtatic.com</code><code>/yum/el7/epel-release</code><code>.rpm</code>
<code> </code><code>ls</code> <code>/etc/yum</code><code>.repos.d</code><code>/webtatic</code><code>.repo</code>
<code> </code><code>if</code> <code>[ $? -</code><code>eq</code> <code>0 ];</code><code>then</code>
<code> </code><code>sed</code> <code>-i </code><code>"s/#baseurl=/baseurl=/g"</code> <code>/etc/yum</code><code>.repos.d</code><code>/webtatic</code><code>.repo</code>
<code> </code><code>sed</code> <code>-i </code><code>"s/mirrorlist=/#mirrorlist=/g"</code> <code>/etc/yum</code><code>.repos.d</code><code>/webtatic</code><code>.repo</code>
<code> </code><code>fi</code>
<code>elif</code> <code>[ -n </code><code>"`grep 'CentOS release 6' /etc/redhat-release`"</code> <code>];</code><code>then</code>
<code> </code><code>CentOS_REL=6</code>
<code> </code><code>rpm -ivh http:</code><code>//repo</code><code>.webtatic.com</code><code>/yum/el6/latest</code><code>.rpm</code>
<code> </code><code>if</code> <code>[ $? -</code><code>eq</code> <code>0 ];</code><code>then</code>
<code> </code><code>sed</code> <code>-i </code><code>"s/#baseurl=/baseurl=/g"</code> <code>/etc/yum</code><code>.repos.d</code><code>/webtatic</code><code>.repo</code>
<code> </code><code>sed</code> <code>-i </code><code>"s/mirrorlist=/#mirrorlist=/g"</code> <code>/etc/yum</code><code>.repos.d</code><code>/webtatic</code><code>.repo</code>
<code> </code><code>fi</code>
<code>elif</code> <code>[ -n </code><code>"`grep 'CentOS release 5' /etc/redhat-release`"</code> <code>];</code><code>then</code>
<code> </code><code>CentOS_REL=5</code>
<code> </code><code>rpm -ivh http:</code><code>//repo</code><code>.webtatic.com</code><code>/yum/el5/latest</code><code>.rpm</code>
<code> </code><code>echo</code> <code>-e </code><code>"\033[31mDoes not support this OS, Please contact the author! \033[0m"</code>
<code> </code><code>exit</code> <code>1</code>
<code>echo</code> <code>"##########################################"</code>
<code>echo</code> <code>"# #"</code>
<code>echo</code> <code>"# Auto 編譯安裝 PHP5.5/5.6/7.0/7.1. #"</code>
<code>echo</code> <code>"1 Install PHP-5.5"</code>
<code>echo</code> <code>"2 Install PHP-5.6"</code>
<code>echo</code> <code>"3 Install PHP-7.0"</code>
<code>echo</code> <code>"4 Install PHP-7.1"</code>
<code>echo</code> <code>"5 EXIT"</code>
<code>read</code> <code>-p </code><code>"Please input your choice:"</code> <code>I</code>
<code>if</code> <code>[ </code><code>"$I"</code> <code>== </code><code>"1"</code> <code>];</code><code>then</code>
<code> </code><code>VER=</code><code>"php55w"</code>
<code>elif</code> <code>[ </code><code>"$I"</code> <code>== </code><code>"2"</code> <code>];</code><code>then</code>
<code> </code><code>VER=</code><code>"php56w"</code>
<code>elif</code> <code>[ </code><code>"$I"</code> <code>== </code><code>"3"</code> <code>];</code><code>then</code>
<code> </code><code>VER=</code><code>"php70w"</code>
<code>elif</code> <code>[ </code><code>"$I"</code> <code>== </code><code>"4"</code> <code>];</code><code>then</code>
<code> </code><code>VER=</code><code>"php71w"</code>
<code>elif</code> <code>[ </code><code>"$I"</code> <code>== </code><code>"5"</code> <code>];</code><code>then</code>
<code> </code><code>echo</code> <code>"you choce channel!"</code>
<code> </code><code>exit</code> <code>1;</code>
<code> </code><code>echo</code> <code>"input Error! Place input{1|2|3|4|5}"</code>
<code> </code><code>exit</code> <code>0;</code>
<code>echo</code> <code>-e </code><code>"\033[32m You choice install $VER.Install\033[0m"</code>
<code>echo</code> <code>-e </code><code>"\033[32m Press any key to start install $VER... \033[0m"</code>
<code>read</code> <code>-n 1</code>
<code>ls</code> <code>/etc/yum</code><code>.repos.d</code><code>/webtatic</code><code>.repo</code>
<code> </code><code>yum -y </code><code>install</code> <code>`yum list|</code><code>grep</code> <code>php71w|</code><code>awk</code> <code>'{printf ("%s ",$1)}'</code><code>` --skip-broken</code>
<code>chkconfig php-fpm on</code>
<code>service php-fpm start </code><code>/tmp/php-install</code><code>.log 2>&1</code>
<code>STAT=`</code><code>echo</code> <code>$?`</code>
<code>PORT=`</code><code>netstat</code> <code>-lntup|</code><code>grep</code> <code>php-fpm|</code><code>wc</code> <code>-l`</code>
<code>if</code> <code>[ $STAT -</code><code>eq</code> <code>0 ] && [ $PORT -</code><code>eq</code> <code>1 ];</code><code>then</code>
<code> </code><code>echo</code> <code>-e </code><code>"\033[32m PHP is install success! \033[0m"</code>
<code> </code><code>echo</code> <code>-e </code><code>"\033[32m PHP install file.please check /tmp/php-install.log \033[0m"</code>
2.編譯安裝PHP(5.3/5.5/7.0/7.1)
86
87
88
89
90
<code>#Date 2017/1/10</code>
<code>echo</code> <code>"# Auto yum安裝 PHP5.5/5.6/7.0/7.1 #"</code>
<code>echo</code> <code>"1 Install PHP-5.5.38"</code>
<code>echo</code> <code>"2 Install PHP-5.6.29"</code>
<code>echo</code> <code>"3 Install PHP-7.0.14"</code>
<code>echo</code> <code>"4 Install PHP-7.1.0"</code>
<code> </code><code>URL=</code><code>"http://cn2.php.net/distributions/php-5.5.38.tar.gz"</code>
<code> </code><code>VER=</code><code>"php-5.5.38"</code>
<code> </code><code>URL=</code><code>"http://cn2.php.net/distributions/php-5.6.29.tar.gz"</code>
<code> </code><code>VER=</code><code>"php-5.6.29"</code>
<code> </code><code>URL=</code><code>"http://cn2.php.net/distributions/php-7.0.14.tar.gz"</code>
<code> </code><code>VER=</code><code>"php-7.0.14"</code>
<code> </code><code>URL=</code><code>"http://cn2.php.net/distributions/php-7.1.0.tar.gz"</code>
<code> </code><code>VER=</code><code>"php-7.1.0"</code>
<code>read</code> <code>-p </code><code>"Please input php install dirname:(example:/data/php)"</code> <code>DIR</code>
<code>if</code> <code>[ ! -d $DIR ];</code><code>then</code>
<code> </code><code>mkdir</code> <code>-p $DIR</code>
<code>if</code> <code>[ $? -</code><code>eq</code> <code>1 ];</code><code>then</code>
<code> </code><code>echo</code> <code>"$DIR fail! Please intput ture dirname."</code>
<code>echo</code> <code>-e </code><code>"\033[32m You choice install $VER.Install dirname:$DIR \033[0m"</code>
<code>which</code> <code>tar</code> <code>></code><code>/dev/null</code> <code>2>&1</code>
<code> </code><code>echo</code> <code>"tar is installed"</code><code>></code><code>/tmp/php-install</code><code>.log</code>
<code> </code><code>yum </code><code>install</code> <code>tar</code> <code>-y ></code><code>/dev/null</code> <code>2>&1</code>
<code>TDIR=</code><code>"/tools"</code>
<code>yum </code><code>install</code> <code>-y wget autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel </code><code>bzip2</code> <code>bzip2</code><code>-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5-devel openssl openssl-devel openldap openldap-devel nss_ldap libXpm* gcc gcc-c++ bison git ntpdate</code>
<code>ntpdate ntpdate time1.aliyun.com ></code><code>/dev/null</code> <code>2>&1</code>
<code>if</code> <code>[ ! -d $TDIR ];</code><code>then</code>
<code> </code><code>/bin/mkdir</code> <code>$TDIR && </code><code>cd</code> <code>$TDIR</code>
<code>/usr/bin/wget</code> <code>-c -O $TDIR/$VER.</code><code>tar</code><code>.gz $URL</code>
<code> </code><code>tar</code> <code>-zxvf $TDIR/$VER.</code><code>tar</code><code>.gz -C $TDIR</code>
<code> </code><code>yum </code><code>install</code> <code>tar</code> <code>-y ></code><code>/dev/null</code> <code>2>&1</code>
<code> </code><code>tar</code> <code>-zxvf $TDIR/$VER.</code><code>tar</code><code>.gz ></code><code>/dev/null</code> <code>2>&1</code>
<code>cd</code> <code>$TDIR/$VER</code>
<code> </code><code>.</code><code>/configure</code> <code>--prefix=$DIR --</code><code>exec</code><code>-prefix=$DIR --bindir=$DIR</code><code>/bin</code> <code>--sbindir=$DIR</code><code>/sbin</code> <code>--includedir=$DIR</code><code>/include</code> <code>--libdir=$DIR</code><code>/lib/php</code> <code>--mandir=$DIR</code><code>/php/man</code> <code>--with-config-</code><code>file</code><code>-path=$DIR</code><code>/etc</code> <code>--with-mysql-sock=</code><code>/tmp/mysql</code><code>.sock --with-mhash --with-openssl --with-mysql=shared,mysqlnd --with-mysqli=shared,mysqlnd --with-pdo-mysql=shared,mysqlnd --with-gd --with-iconv --with-zlib --</code><code>enable</code><code>-zip --</code><code>enable</code><code>-inline-optimization --</code><code>enable</code><code>-shared --</code><code>enable</code><code>-xml --</code><code>enable</code><code>-bcmath --</code><code>enable</code><code>-shmop --</code><code>enable</code><code>-sysvsem --</code><code>enable</code><code>-mbregex --</code><code>enable</code><code>-mbstring --</code><code>enable</code><code>-</code><code>ftp</code> <code>--</code><code>enable</code><code>-gd-native-ttf --</code><code>enable</code><code>-pcntl --</code><code>enable</code><code>-sockets --with-xmlrpc --</code><code>enable</code><code>-soap --without-pear --with-gettext --</code><code>enable</code><code>-session --with-curl --with-jpeg-</code><code>dir</code> <code>--with-freetype-</code><code>dir</code> <code>--</code><code>enable</code><code>-opcache --</code><code>enable</code><code>-fpm --</code><code>enable</code><code>-fastcgi --with-fpm-user=www --with-fpm-group=www --without-gdbm</code>
<code>make</code> <code>&& </code><code>make</code> <code>install</code> <code>>></code><code>/tmp/php-install</code><code>.log 2>&1</code>
<code> </code><code>/bin/cp</code> <code>$DIR</code><code>/etc/php-fpm</code><code>.conf.default $DIR</code><code>/etc/php-fpm</code><code>.conf && </code><code>cp</code> <code>$DIR</code><code>/etc/php-fpm</code><code>.d</code><code>/www</code><code>.conf.default $DIR</code><code>/etc/php-fpm</code><code>.d</code><code>/www</code><code>.conf && </code><code>cp</code> <code>-R $DIR</code><code>/sbin/php-fpm</code> <code>/etc/init</code><code>.d</code><code>/php-fpm</code> <code>&& </code><code>/bin/cp</code> <code>`</code><code>find</code> <code>/ -name php.ini-production` </code><code>/data/php/etc/php</code><code>.ini >></code><code>/tmp/php-install</code><code>.log 2>&1</code>
<code>id</code> <code>www</code>
<code>USER=`</code><code>echo</code> <code>$?`</code>
<code>if</code> <code>[ $USER -</code><code>eq</code> <code>1 ];</code><code>then</code>
<code> </code><code>useradd</code> <code>-s </code><code>/sbin/nologin</code> <code>www</code>
<code>echo</code> <code>"export PATH=$PATH:$DIR/bin"</code><code>>></code><code>/etc/profile</code> <code>&& </code><code>source</code> <code>/etc/profile</code>
<code>/etc/init</code><code>.d</code><code>/php-fpm</code> <code>>></code><code>/tmp/php-install</code><code>.log 2>&1</code>
<code> </code><code>echo</code> <code>-e </code><code>"\033[32m $VER is install success! \033[0m"</code>
<code> </code><code>echo</code> <code>-e </code><code>"\033[32m $VER install file.please check /tmp/php-install.log \033[0m"</code>
本文轉自 KaliArch 51CTO部落格,原文連結:http://blog.51cto.com/kaliarch/1899117,如需轉載請自行聯系原作者