天天看點

自動化(YUM/編譯)安裝PHP(5.3/5.5/7.0/7.1)腳本

自動化(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>] &amp;&amp; </code><code>echo</code> <code>"Error: You must be root to run this script"</code> <code>&amp;&amp; </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&gt;&amp;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 ] &amp;&amp; [ $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>&gt;</code><code>/dev/null</code> <code>2&gt;&amp;1</code>

<code>    </code><code>echo</code> <code>"tar is installed"</code><code>&gt;</code><code>/tmp/php-install</code><code>.log</code>

<code>    </code><code>yum </code><code>install</code> <code>tar</code> <code>-y &gt;</code><code>/dev/null</code> <code>2&gt;&amp;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 &gt;</code><code>/dev/null</code> <code>2&gt;&amp;1</code>

<code>if</code> <code>[ ! -d $TDIR ];</code><code>then</code>

<code>        </code><code>/bin/mkdir</code> <code>$TDIR &amp;&amp; </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 &gt;</code><code>/dev/null</code> <code>2&gt;&amp;1</code>

<code>        </code><code>tar</code> <code>-zxvf $TDIR/$VER.</code><code>tar</code><code>.gz &gt;</code><code>/dev/null</code> <code>2&gt;&amp;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>&amp;&amp; </code><code>make</code> <code>install</code> <code>&gt;&gt;</code><code>/tmp/php-install</code><code>.log 2&gt;&amp;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 &amp;&amp; </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 &amp;&amp; </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>&amp;&amp; </code><code>/bin/cp</code> <code>`</code><code>find</code>  <code>/  -name php.ini-production` </code><code>/data/php/etc/php</code><code>.ini &gt;&gt;</code><code>/tmp/php-install</code><code>.log 2&gt;&amp;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>&gt;&gt;</code><code>/etc/profile</code>  <code>&amp;&amp; </code><code>source</code> <code>/etc/profile</code>

<code>/etc/init</code><code>.d</code><code>/php-fpm</code> <code>&gt;&gt;</code><code>/tmp/php-install</code><code>.log 2&gt;&amp;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,如需轉載請自行聯系原作者