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
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
<code>#!/bin/bash</code>
<code>#date:2014-8-31</code>
<code>#blog:lizhenliang.blog.51cto.com</code>
<code>########## function ##########</code>
<code>depend_pkg ()</code>
<code>{</code>
<code> </code><code>yum </code><code>install</code> <code>gcc gcc-c++ </code><code>make</code> <code>cmake ncurses-devel libxml2-devel \</code>
<code> </code><code>perl-devel libcurl-devel libgcrypt libgcrypt-devel libxslt \</code>
<code> </code><code>libxslt-devel pcre-devel openssl-devel wget -y</code>
<code>}</code>
<code>cat</code> <code><<end</code>
<code> </code><code>1.[</code><code>install</code> <code>apache2.4]</code>
<code> </code><code>2.[</code><code>install</code> <code>mysql5.5]</code>
<code> </code><code>3.[</code><code>install</code> <code>php5.4]</code>
<code>end</code>
<code>read</code> <code>-p </code><code>"please input number : "</code> <code>num</code>
<code>case</code> <code>$num </code><code>in</code>
<code>1)</code>
<code>########## install depend pkg ##########</code>
<code>depend_pkg;</code>
<code>workdir=</code><code>/usr/local/src</code>
<code>cd</code> <code>$workdir</code>
<code>[ -f </code><code>"apr-1.5.1.tar.gz"</code> <code>] || wget http:</code><code>//mirror</code><code>.bit.edu.cn</code><code>/apache/apr/apr-1</code><code>.5.1.</code><code>tar</code><code>.gz</code>
<code>[ -f </code><code>"apr-util-1.5.3.tar.gz"</code> <code>] || wget http:</code><code>//mirror</code><code>.bit.edu.cn</code><code>/apache/apr/apr-util-1</code><code>.5.3.</code><code>tar</code><code>.gz</code>
<code>[ -f </code><code>"httpd-2.4.10.tar.gz"</code> <code>] || wget http:</code><code>//mirror</code><code>.bit.edu.cn</code><code>/apache/httpd/httpd-2</code><code>.4.10.</code><code>tar</code><code>.gz</code>
<code>ls</code> <code>| </code><code>xargs</code> <code>-i </code><code>file</code> <code>tar</code> <code>zxvf </code><code>file</code> <code>-c $workdir</code>
<code>cd</code> <code>apr-1.5.1</code>
<code>.</code><code>/configure</code> <code>--prefix=</code><code>/usr/local/apr</code>
<code>make</code> <code>&& </code><code>make</code> <code>install</code>
<code>if</code> <code>[ $? -</code><code>eq</code> <code>0 ];</code><code>then</code>
<code> </code><code>cd</code> <code>$workdir</code>
<code> </code><code>cd</code> <code>apr-util-1.5.3</code>
<code> </code><code>.</code><code>/configure</code> <code>--prefix=</code><code>/usr/local/apr-util</code> <code>--with-apr=</code><code>/usr/local/apr</code>
<code> </code><code>make</code> <code>&& </code><code>make</code> <code>install</code>
<code>else</code>
<code> </code><code>echo</code> <code>"------ apr make failed. ------"</code>
<code> </code><code>exit</code> <code>1</code>
<code>fi</code>
<code>########## install apache ##########</code>
<code>httpdir=</code><code>/usr/local/apache2</code><code>.4</code>
<code> </code><code>cd</code> <code>httpd-2.4.10</code>
<code> </code><code>.</code><code>/configure</code> <code>-prefix=$httpdir -</code><code>enable</code><code>-so -</code><code>enable</code><code>-rewrite -</code><code>enable</code><code>-modules=all \</code>
<code>--with-apr=</code><code>/usr/local/apr</code> <code>--with-apr-util=</code><code>/usr/local/apr-util</code>
<code> </code><code>echo</code> <code>"------ apr-util make failed. ------"</code>
<code> </code><code>conf=$httpdir</code><code>/conf/httpd</code><code>.conf</code>
<code> </code><code>cp</code> <code>$httpdir</code><code>/bin/apachectl</code> <code>/etc/init</code><code>.d</code><code>/httpd</code>
<code> </code><code>chmod</code> <code>+x </code><code>/etc/init</code><code>.d</code><code>/httpd</code>
<code> </code><code>sed</code> <code>-i </code><code>"s/#servername www.example.com:80/servername ${ip}:80/g"</code> <code>$conf</code>
<code> </code><code>sed</code> <code>-i </code><code>'s/directoryindex index.html/directoryindex index.php index.html/g'</code> <code>$conf</code>
<code> </code><code>sed</code> <code>-i </code><code>"391 s/^/addtype application\/x-httpd-php .php/"</code> <code>$conf</code>
<code> </code><code>/etc/init</code><code>.d</code><code>/httpd</code> <code>start</code>
<code> </code><code>ip=`</code><code>ifconfig</code> <code>eth0 |</code><code>grep</code> <code>"inet addr"</code> <code>|</code><code>cut</code> <code>-d: -f2 |</code><code>awk</code> <code>'{print $1}'</code><code>`</code>
<code> </code><code>urlcode=`curl -o </code><code>/dev/null</code> <code>-s -w </code><code>"%{http_code}"</code> <code>$ip</code><code>/index</code><code>.html` </code>
<code> </code><code>[ $urlcode -</code><code>eq</code> <code>200 ] && </code><code>echo</code> <code>"apache install success."</code> <code>|| </code><code>echo</code> <code>"apache install failed."</code>
<code> </code><code>echo</code> <code>"------ apache make failed. ------"</code>
<code>;;</code>
<code>2)</code>
<code>########## install mysql ##########</code>
<code>/usr/sbin/groupadd</code> <code>mysql</code>
<code>/usr/sbin/useradd</code> <code>-g mysql -s </code><code>/sbin/nologin</code> <code>mysql</code>
<code>mysqldir=</code><code>/usr/local/mysql5</code><code>.5</code>
<code>[ -f </code><code>"mysql-5.5.39.tar.gz"</code> <code>] || wget http:</code><code>//cdn</code><code>.mysql.com</code><code>/downloads/mysql-5</code><code>.5</code><code>/mysql-5</code><code>.5.39.</code><code>tar</code><code>.gz</code>
<code>tar</code> <code>zxvf mysql-5.5.39.</code><code>tar</code><code>.gz</code>
<code>cd</code> <code>mysql-5.5.39</code>
<code>cmake -dcmake_install_prefix=$mysqldir \</code>
<code>-dsysconfdir=$mysqldir</code><code>/etc</code> <code>\</code>
<code>-dmysql_datadir=$mysqldir</code><code>/data</code> <code>\</code>
<code>-ddefault_charset=utf8 \</code>
<code>-ddefault_collation=utf8_general_ci</code>
<code> </code><code>$mysqldir</code><code>/scripts/mysql_install_db</code> <code>\</code>
<code> </code><code>--basedir=$mysqldir --datadir=$mysqldir</code><code>/data/</code> <code>--user=mysql 1></code><code>/dev/null</code>
<code> </code><code>mkdir</code> <code>$mysqldir</code><code>/etc</code>
<code> </code><code>cp</code> <code>support-files</code><code>/my-medium</code><code>.cnf $mysqldir</code><code>/etc/my</code><code>.cnf</code>
<code> </code><code>cp</code> <code>support-files</code><code>/mysql</code><code>.server </code><code>/etc/init</code><code>.d</code><code>/mysqld</code>
<code> </code><code>rm</code> <code>-rf </code><code>/etc/my</code><code>.cnf</code>
<code> </code><code>#echo "path=$path:$mysqldir/bin" >> /etc/profile </code>
<code> </code><code>#. /etc/profile</code>
<code> </code><code>chmod</code> <code>+x </code><code>/etc/init</code><code>.d</code><code>/mysqld</code>
<code> </code><code>chown</code> <code>-r root.mysql $mysqldir</code>
<code> </code><code>chown</code> <code>-r mysql.mysql $mysqldir</code><code>/data/</code>
<code> </code><code>$mysqldir</code><code>/bin/mysqld_safe</code> <code>--user=mysql&</code>
<code> </code><code>$mysqldir</code><code>/bin/mysqladmin</code> <code>-u root password </code><code>'123.com'</code>
<code> </code><code>$mysqldir</code><code>/bin/mysql</code> <code>-uroot -p</code><code>'123.com'</code> <code>-e </code><code>"show databases;"</code>
<code> </code><code>[ $? -</code><code>eq</code> <code>0 ] && </code><code>echo</code> <code>"mysql install success."</code> <code>|| </code><code>echo</code> <code>"mysql install failed."</code>
<code> </code><code>echo</code> <code>"------mysql cmake failed.------"</code>
<code> </code><code>exit</code> <code>1 </code>
<code>3)</code>
<code>########## install gd ##########</code>
<code>yum </code><code>install</code> <code>gd freetype freetype-devel libpng libpng-devel zlib zlib-devel libjpeg* -y</code>
<code>########## install php ##########</code>
<code>phpdir=</code><code>/usr/local/php5</code><code>.4</code>
<code>phpconf=$phpdir</code><code>/etc/php</code><code>.ini</code>
<code>[ -f </code><code>"php-5.4.31.tar.gz"</code> <code>] || wget http:</code><code>//cn2</code><code>.php.net</code><code>/distributions/php-5</code><code>.4.31.</code><code>tar</code><code>.gz</code>
<code>tar</code> <code>zxvf php-5.4.31.</code><code>tar</code><code>.gz </code>
<code>cd</code> <code>php-5.4.31</code>
<code>.</code><code>/configure</code> <code>-prefix=$phpdir \</code>
<code>--with-config-</code><code>file</code><code>-path=$phpdir</code><code>/etc</code> <code>\</code>
<code>--with-apxs2=</code><code>/usr/local/apache2</code><code>.4</code><code>/bin/apxs</code> <code>\</code>
<code>--with-mysql=</code><code>/usr/local/mysql5</code><code>.5 \</code>
<code>--with-mysqli=</code><code>/usr/local/mysql5</code><code>.5</code><code>/bin/mysql_config</code> <code>\</code>
<code>--</code><code>enable</code><code>-soap --</code><code>enable</code><code>-bcmath --</code><code>enable</code><code>-zip --</code><code>enable</code><code>-</code><code>ftp</code> <code>\</code>
<code>--</code><code>enable</code><code>-mbstring --with-gd --with-libxml-</code><code>dir</code> <code>--with-jpeg-</code><code>dir</code> <code>\</code>
<code>--with-png-</code><code>dir</code> <code>--with-freetype-</code><code>dir</code> <code>--with-zlib \</code>
<code>--with-libxml-</code><code>dir</code><code>=</code><code>/usr</code> <code>--with-curl --with-xsl --with-openssl</code>
<code> </code><code>cp</code> <code>php.ini-production $phpconf</code>
<code> </code><code>echo</code> <code>"data.timezone = asia\shanghai"</code> <code>>> $phpconf</code>
<code> </code><code>sed</code> <code>-i </code><code>'s/upload_max_filesize = 2m/ upload_max_filesize = 50m/g'</code> <code>$phpconf</code>
<code> </code><code>sed</code> <code>-i </code><code>'s/display_errors = off/display_errors = on/g'</code> <code>$phpconf</code>
<code> </code><code>echo</code> <code>"<?php phpinfo();?>"</code> <code>> </code><code>/usr/local/apache2</code><code>.4</code><code>/htdocs/index</code><code>.php</code>
<code> </code><code>/etc/init</code><code>.d</code><code>/httpd</code> <code>restart </code>
<code> </code><code>/etc/init</code><code>.d</code><code>/mysqld</code> <code>restart &></code><code>/dev/null</code>
<code> </code><code>urlcode=`curl -o </code><code>/dev/null</code> <code>-s -w </code><code>"%{http_code}"</code> <code>$ip</code><code>/index</code><code>.php`</code>
<code> </code><code>[ $urlcode -</code><code>eq</code> <code>200 ] && </code><code>echo</code> <code>"php install success."</code> <code>|| </code><code>echo</code> <code>"php install failed."</code>
<code> </code><code>echo</code> <code>"/usr/local/apache/bin/apachectl start"</code> <code>>> </code><code>/etc/rc</code><code>.</code><code>local</code>
<code> </code><code>chkconfig mysqld on</code>
<code> </code><code>echo</code> <code>"------ php make failed. ------"</code>
<code>*)</code>
<code> </code><code>echo</code> <code>"please input number 1 2 3."</code>
<code>esac</code>
使用方法:
shell脚本能力薄弱,有错误之处,还望指正。谢谢!