我们的业务使用了nginx、mysql、php、和tomcat,写了一个自动化安装这些软件的脚本,虽然网上类似的自动安装脚本很多,但这个是自己写的,特此mark一下,希望能给别人一些参考,同时也灰常欢迎看到的朋友们提些改进意见。话不多说,直接上脚本。
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
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
<code>#!/bin/sh</code>
<code> </code><code>alias</code> <code>echo</code><code>=</code><code>'echo -e'</code>
<code> </code><code>###判断系统,此脚本只适用于64位系统</code>
<code> </code><code>machine=`</code><code>uname</code> <code>-m`</code>
<code> </code><code>if</code> <code>[ $machine != x86_64 ] ;</code><code>then</code>
<code> </code><code>echo</code> <code>"\e[1;31m \nyour system is 32bit,but this script is only run on 64bit !\n \e[0m"</code>
<code> </code><code>exit</code> <code>-1</code>
<code> </code><code>fi</code>
<code> </code><code>###创建保存下载文件的目录</code>
<code> </code><code>mkdir</code> <code>/usr/local/src/auto_install</code> <code>&> </code><code>/dev/null</code>
<code> </code><code>source_dir=</code><code>/usr/local/src/auto_install</code>
<code> </code><code>###定义一个交互式的选择提示</code>
<code>function</code> <code>interact {</code>
<code> </code><code>echo</code> <code>"Please input \"yes\" or \"no\""</code>
<code> </code><code>read</code> <code>choice</code>
<code> </code><code>case</code> <code>"$choice"</code> <code>in</code>
<code> </code><code>no)</code>
<code> </code><code>exit</code> <code>0;;</code>
<code> </code><code>yes</code><code>)</code>
<code> </code><code>echo</code><code>;;</code>
<code> </code><code>*)</code>
<code> </code><code>echo</code> <code>"\e[1;31mInput Errot! \e[0m"</code>
<code> </code><code>exit</code> <code>-1;;</code>
<code> </code><code>esac</code>
<code>}</code>
<code> </code><code>### 定义一个函数检查上一条命令的执行状态</code>
<code>function</code> <code>check {</code>
<code> </code><code>if</code> <code>[ $? -</code><code>ne</code> <code>0 ];</code><code>then</code>
<code> </code><code>echo</code> <code>"\e[1;31m\n the last commond exec failed,please check it !\e[0m \n"</code>
<code> </code><code>sleep</code> <code>1</code>
<code> </code><code>exit</code> <code>-1</code>
<code> </code><code>fi</code>
<code>### 定义下载各软件的函数(此处我隐藏了我们的下载地址,需各位自行设置下载地址)</code>
<code>function</code> <code>download_install_epel {</code>
<code> </code><code>cd</code> <code>$source_dir</code>
<code> </code><code>rm</code> <code>-f epel* &> </code><code>/dev/null</code>
<code> </code><code>echo</code> <code>"\e[1;32m ---yum install epel repo--- \e[0m \n"</code>
<code> </code><code>sys_version=`</code><code>uname</code> <code>-r|</code><code>cut</code> <code>-d </code><code>'.'</code> <code>-f 4`</code>
<code> </code><code>if</code> <code>[ $sys_version = el7 ];</code><code>then</code>
<code> </code><code>rpm -qa|</code><code>grep</code> <code>-i epel > </code><code>/dev/null</code>
<code> </code><code>if</code> <code>[ $? -</code><code>ne</code> <code>0 ];</code><code>then</code>
<code> </code><code>wget -nv http:</code><code>//www</code><code>.example.com</code><code>/epel-release-7-2</code><code>.noarch.rpm</code>
<code> </code><code>rpm -ivh $source_dir</code><code>/epel-release-7-1</code><code>.noarch.rpm</code>
<code> </code><code>check;</code>
<code> </code><code>fi</code>
<code> </code><code>elif</code> <code>[ $sys_version = el6 ];</code><code>then</code>
<code> </code><code>wget -nv http:</code><code>//www</code><code>.example.com</code><code>/epel-release-6-8</code><code>.noarch.rpm</code>
<code> </code><code>rpm -ivh $source_dir</code><code>/epel-release-6-8</code><code>.noarch.rpm</code>
<code> </code><code>fi</code>
<code>function</code> <code>download_nginx {</code>
<code> </code><code>cd</code> <code>$source_dir</code>
<code> </code><code>echo</code> <code>"\e[1;32m\n ---download nginx-1.4.7---\e[0m \n"</code>
<code> </code><code>ls</code> <code>nginx-1.4.7.</code><code>tar</code><code>.gz &> </code><code>/dev/null</code>
<code> </code><code>if</code> <code>[ $? -</code><code>ne</code> <code>0 ];</code><code>then</code>
<code> </code><code>wget -nv http:</code><code>//www</code><code>.example.com</code><code>/nginx-1</code><code>.4.7.</code><code>tar</code><code>.gz</code>
<code>function</code> <code>download_mysql {</code>
<code> </code><code>echo</code> <code>"\e[1;32m\n ---download MySQL-5.5.39---\e[0m \n"</code>
<code> </code><code>ls</code> <code>mysql-5.5.39-linux2.6-x86_64.</code><code>tar</code><code>.gz &> </code><code>/dev/null</code>
<code> </code><code>wget -nv http:</code><code>//www</code><code>.example.com</code><code>/mysql-5</code><code>.5.39-linux2.6-x86_64.</code><code>tar</code><code>.gz</code>
<code>function</code> <code>download_php {</code>
<code> </code><code>echo</code> <code>"\e[1;32m\n ---download php-5.3.28---\e[0m \n"</code>
<code> </code><code>ls</code> <code>php-5.3.28.</code><code>tar</code><code>.gz &> </code><code>/dev/null</code>
<code> </code><code>wget -nv http:</code><code>//www</code><code>.example.com</code><code>/php-5</code><code>.3.28.</code><code>tar</code><code>.gz</code>
<code> </code><code>check;</code>
<code>function</code> <code>download_jre {</code>
<code> </code><code>echo</code> <code>"\e[1;32m ---download jre-6u33-linux-x64.bin---\e[0m"</code>
<code> </code><code>ls</code> <code>jre-6u33-linux-x64.bin &> </code><code>/dev/null</code>
<code> </code><code>wget -nv http:</code><code>//www</code><code>.example.com</code><code>/jre-6u33-linux-x64</code><code>.bin</code>
<code> </code><code>check;</code>
<code> </code><code>###定义依赖包安装函数</code>
<code>function</code> <code>dependence_install {</code>
<code> </code><code>download_install_epel;</code>
<code> </code><code>echo</code> <code>"\e[1;32m ---yum install the Dependencies software--- \e[0m \n"</code>
<code> </code><code>pgrep yum|</code><code>xargs</code> <code>kill</code> <code>-9 > </code><code>/dev/null</code>
<code> </code><code>rm</code> <code>-f </code><code>/var/run/yum</code><code>.pid > </code><code>/dev/null</code>
<code> </code><code>echo</code> <code>"yum </code><code>install</code> <code>gcc zlib cmake libxml2 libxml2-devel </code><code>bzip2</code> <code>bzip2</code><code>-devel curl curl-devel libjpeg libjpeg-devel libpng libpng-devel freetype-devel pspell-devel libmcrypt libm</code>
<code>crypt-devel freetype pcre-devel openssl openssl-devel libaio*"</code>
<code> </code><code>yum -y </code><code>install</code> <code>gcc zlib cmake libxml2 libxml2-devel </code><code>bzip2</code> <code>bzip2</code><code>-devel curl curl-devel libjpeg libjpeg-devel libpng libpng-devel freetype-devel pspell-devel libmcrypt libmcry</code>
<code>pt-devel freetype pcre-devel openssl openssl-devel libaio* ></code><code>/dev/null</code> <code>2>&1</code>
<code> </code><code>check;</code>
<code> </code><code>### 定义mysql安装函数###</code>
<code>function</code> <code>mysql_install {</code>
<code> </code>
<code> </code><code>###判断本机是否已在运行mysql,或者开机启动项有没有mysql###</code>
<code> </code><code>###判断机器上是否以运行mysql实例</code>
<code> </code><code>echo</code> <code>"\e[1;32m \n ---check if there is already installed mysql instence---\e[0m\n"</code>
<code> </code><code>ps</code> <code>-ef|</code><code>grep</code> <code>-w mysqld|</code><code>grep</code> <code>-</code><code>v</code> <code>"grep"</code> <code>&> </code><code>/dev/null</code>
<code> </code><code>if</code> <code>[ $? -</code><code>eq</code> <code>0 ];</code><code>then</code>
<code> </code><code>mysqlbasedir=`</code><code>ps</code> <code>-ef|</code><code>grep</code> <code>-w </code><code>"mysqld"</code><code>|</code><code>grep</code> <code>-</code><code>v</code> <code>"grep"</code><code>|</code><code>awk</code> <code>'{print $9}'</code><code>|</code><code>tr</code> <code>-d </code><code>'\-\-'</code><code>`</code>
<code> </code><code>mysqldatadir=`</code><code>ps</code> <code>-ef|</code><code>grep</code> <code>-w </code><code>"mysqld"</code><code>|</code><code>grep</code> <code>-</code><code>v</code> <code>"grep"</code><code>|</code><code>awk</code> <code>'{print $10}'</code><code>|</code><code>tr</code> <code>-d </code><code>'\-\-'</code><code>`</code>
<code> </code><code>echo</code> <code>"\e[1;32m your system has run a mysql instance already \n mysqlbasedir is: "</code><code>$mysqlbasedir</code><code>"\n mysqldatadir is: "</code><code>$mysqldatadir</code><code>"\n do you still want to install a new mysql-server? \e[0m\n"</code>
<code> </code><code>interact;</code>
<code> </code><code>###判断系统是否已经有rpm方式安装的mysql</code>
<code> </code><code>echo</code> <code>"MySQL-server-5.5.39-2.el6.x86_64.rpm"</code><code>|</code><code>while</code> <code>read</code> <code>line</code>
<code> </code><code>do</code>
<code> </code><code>prefix=`</code><code>echo</code> <code>"$line"</code><code>|</code><code>awk</code> <code>-F </code><code>"-"</code> <code>'{print $1"-"$2}'</code><code>` </code><code>##to get like "MySQL-server"</code>
<code> </code><code>rpm -qa|</code><code>grep</code> <code>-i </code><code>"$prefix"</code> <code>&> </code><code>/tmp/check_mysql</code><code>.log</code>
<code> </code><code>if</code> <code>[ $? -</code><code>eq</code> <code>0 ];</code><code>then</code>
<code> </code><code>already_install=`</code><code>cat</code> <code>/tmp/check_mysql</code><code>.log|</code><code>awk</code> <code>-F </code><code>"-"</code> <code>'{print $1"-"$2"-"$3}'</code><code>` </code><code>##to get the already installed mysql version</code>
<code> </code><code>echo</code> <code>"\e[1;31m ---the $already_install is already installed by rpm!--- \n ---Do you really want to install a new mysql?--- \e[0m\n"</code>
<code> </code><code>interact;</code>
<code> </code><code>fi</code>
<code> </code><code>done</code>
<code> </code><code>###判断chkconfig里面是否有mysql启动脚本并且为开机启动</code>
<code> </code><code>chkconfig |</code><code>grep</code> <code>mysql|</code><code>awk</code> <code>'{print $5" "$7}'</code><code>|</code><code>grep</code> <code>-e </code><code>"启用"</code> <code>-e </code><code>"on"</code> <code>&> </code><code>/dev/null</code>
<code> </code><code>echo</code> <code>" there is a bootstart mysql script in the chkconfig,please check"</code>
<code> </code><code>exit</code> <code>0</code>
<code> </code>
<code> </code><code>###判断/etc/rc.local文件里是否有mysql启动命令</code>
<code> </code><code>cat</code> <code>/etc/rc</code><code>.</code><code>local</code><code>|</code><code>grep</code> <code>"mysqld"</code> <code>&> </code><code>/dev/null</code>
<code> </code><code>echo</code> <code>" there is a bootstart mysql commond in the /etc/rc.local,please check it"</code>
<code> </code><code>fi</code>
<code> </code><code>######判断结束######</code>
<code> </code><code>###检查是否有系统自带的mysql-lib-5.1,有则删除</code>
<code> </code><code>rpm -qa|</code><code>grep</code> <code>-i -e </code><code>"mysql.*5\.1.*"</code><code>|</code><code>xargs</code> <code>rpm -e --nodeps 2> </code><code>/dev/null</code>
<code> </code><code>###交互式选择mysql安装路径</code>
<code> </code><code>echo</code> <code>"\e[1;31m where do you want to install mysql(default is /usr/local/mysql)\e[0m"</code>
<code> </code><code>read</code> <code>mybasedir</code>
<code> </code><code>if</code> <code>[ </code><code>"$mybasedir"</code> <code>= </code><code>""</code> <code>];</code><code>then</code>
<code> </code><code>mybasedir=</code><code>/usr/local/mysql</code>
<code> </code><code>###选择data目录</code>
<code> </code><code>echo</code> <code>"\e[1;31m where do you want to storage mysql data(default is /usr/local/mysql/data)\e[0m"</code>
<code> </code><code>read</code> <code>mydatadir</code>
<code> </code><code>if</code> <code>[ </code><code>"$mydatadir"</code> <code>= </code><code>""</code> <code>];</code><code>then</code>
<code> </code><code>mydatadir=</code><code>/usr/local/mysql/data</code>
<code> </code><code>fi</code>
<code> </code><code>###开始安装mysql</code>
<code> </code><code>echo</code> <code>"\e[1;32m ---now start to install mysql---\e[0m\n"</code>
<code> </code><code>#dependence_install;</code>
<code> </code><code>echo</code> <code>"\e[1;32m ---add user mysql---\e[0m"</code>
<code> </code><code>useradd</code> <code>mysql -s </code><code>/sbin/nologin</code>
<code> </code><code>echo</code> <code>"\e[1;32m\n ---unpack mysql-5.5.39-linux2.6-x86_64.tar.gz---\e[0m"</code>
<code> </code><code>tar</code> <code>zxf mysql-5.5.39-linux2.6-x86_64.</code><code>tar</code><code>.gz</code>
<code> </code><code>rm</code> <code>-rf $mybasedir</code>
<code> </code><code>mv</code> <code>mysql-5.5.39-linux2.6-x86_64 $mybasedir</code>
<code> </code><code>###判断/etc下是否有my.cnf,若有,重命名为my.cnf.bak</code>
<code> </code><code>ls</code> <code>/etc/my</code><code>.cnf &> </code><code>/dev/null</code>
<code> </code><code>if</code> <code>[ $? = 0 ];</code><code>then</code>
<code> </code><code>\</code><code>mv</code> <code>/etc/my</code><code>.cnf </code><code>/etc/my</code><code>.cnf.bak</code>
<code> </code><code>echo</code> <code>"\e[1;32m\n ---detected /etc/my.cnf is already exit,rename it to /etc/my.cnf.bak--- \e[0m \n"</code>
<code> </code><code>cp</code> <code>$mybasedir</code><code>/support-files/my-huge</code><code>.cnf </code><code>/etc/my</code><code>.cnf</code>
<code> </code><code>###拷贝开机启动脚本到/etc/init.d/</code>
<code> </code><code>ls</code> <code>/etc/init</code><code>.d</code><code>/mysql</code> <code>&> </code><code>/dev/null</code>
<code> </code><code>\</code><code>mv</code> <code>/etc/init</code><code>.d</code><code>/mysql</code> <code>/etc/init</code><code>.d</code><code>/mysql</code><code>.bak</code>
<code> </code><code>echo</code> <code>"\e[1;32m ---detected /etc/init.d/mysql is already exit,rename it to /etc/init.d/mysql.bak---\e[0m"</code>
<code> </code><code>cp</code> <code>$mybasedir</code><code>/support-files/mysql</code><code>.server </code><code>/etc/init</code><code>.d</code><code>/mysql</code>
<code> </code><code>###修改/etc/init.d/mysql脚本里面basedir和datadir</code>
<code> </code><code>sed</code> <code>-i -e </code><code>"/^basedir*=$/i\basedir=$mybasedir"</code> <code>-e </code><code>"/^datadir*=$/i\datadir=$mydatadir"</code> <code>/etc/init</code><code>.d</code><code>/mysql</code>
<code> </code><code>sed</code> <code>-i -e </code><code>'/^basedir*=$/d'</code> <code>-e </code><code>'/^datadir*=$/d'</code> <code>/etc/init</code><code>.d</code><code>/mysql</code>
<code> </code><code>###初始化数据库</code>
<code> </code><code>echo</code> <code>"\e[1;32m\n ---initialize mysql database---\e[0m"</code>
<code> </code><code>chown</code> <code>-R mysql $mydatadir $mybasedir ></code><code>/dev/null</code> <code>2>&1</code>
<code> </code><code>$mybasedir</code><code>/scripts/mysql_install_db</code> <code>--defaults-</code><code>file</code><code>=</code><code>/etc/my</code><code>.cnf --user=mysql --basedir=$mybasedir --datadir=$mydatadir</code>
<code> </code><code>###将basedir/bin/添加到PATH</code>
<code> </code><code>echo</code> <code>"PATH=$PATH:$mybasedir/bin"</code> <code>>> </code><code>/etc/profile</code>
<code> </code><code>export</code> <code>PATH=$PATH:$mybasedir</code><code>/bin</code>
<code> </code><code>echo</code> <code>"\e[1;32m install mysql success,you can run \"service mysql start\" to start the mysql \n do not forget to set a password for mysql \e[0m"</code>
<code> </code><code>###至此mysql安装完毕</code>
<code> </code><code>### 定义nginx安装函数</code>
<code>function</code> <code>nginx_install {</code>
<code> </code><code>echo</code>
<code> </code><code>echo</code> <code>"\e[1;32m ---start installing nginx,it's basedir is /usr/local/nginx--- \e[0m \n"</code>
<code> </code><code>ls</code> <code>-l |</code><code>grep</code> <code>"^d"</code><code>|</code><code>grep</code> <code>nginx|</code><code>xargs</code> <code>rm</code> <code>-rf &> </code><code>/dev/null</code>
<code> </code><code>tar</code> <code>zxf nginx-1.4.7.</code><code>tar</code><code>.gz</code>
<code> </code><code>cd</code> <code>nginx-1.4.7</code>
<code>echo</code> <code>"\e[1;32m ---configure: configure information in /tmp/configure_nginx.log--- \e[0m \n"</code>
<code> </code><code>.</code><code>/configure</code> <code>--with-http_stub_status_module --prefix=</code><code>/usr/local/nginx</code> <code>&> </code><code>/tmp/configure_nginx</code><code>.log</code>
<code>echo</code> <code>"\e[1;32m ---make: make information in /tmp/make_nginx.log--- \e[0m \n"</code>
<code> </code><code>make</code> <code>&> </code><code>/tmp/configure_nginx</code><code>.log</code>
<code>echo</code> <code>"\e[1;32m ---make install: install into /usr/local/nginx--- \e[0m \n"</code>
<code> </code><code>make</code> <code>install</code> <code>&> </code><code>/tmp/make_install</code><code>.log</code>
<code> </code><code>echo</code> <code>"\e[1;32m nginx is installed successfully \e[0m \n"</code>
<code> </code><code>### 定义php安装函数</code>
<code>function</code> <code>php_install {</code>
<code> </code><code>dependence_install;</code>
<code> </code><code>ls</code> <code>-l |</code><code>grep</code> <code>"^d"</code><code>|</code><code>grep</code> <code>php|</code><code>xargs</code> <code>rm</code> <code>-rf &> </code><code>/dev/null</code>
<code> </code><code>tar</code> <code>zxvf php-5.3.28.</code><code>tar</code><code>.gz &> </code><code>/dev/null</code>
<code> </code><code>cd</code> <code>php-5.3.28</code>
<code> </code><code>echo</code> <code>"\e[1;32m ---configure php: information in /tmp/php_configure.log--- \e[0m \n"</code>
<code> </code><code>echo</code> <code>"./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-mysql --with-mysqli --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --disable-rpath --enable-discard-path --enable-safe-mode --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curlwrappers --enable-mbregex --enable-fastcgi --enable-fpm --enable-force-cgi-redirect --enable-mbstring --with-mcrypt --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-iconv-dir=/usr/local --with-zlib --enable-zip --with-curl"</code>
<code> </code><code>.</code><code>/configure</code> <code>--prefix=</code><code>/usr/local/php</code> <code>--with-config-</code><code>file</code><code>-path=</code><code>/usr/local/php/etc</code> <code>--with-mysql --with-mysqli --with-freetype-</code><code>dir</code> <code>--with-jpeg-</code><code>dir</code> <code>--with-png-</code><code>dir</code> <code>--with-zlib --with-libxml-</code><code>dir</code><code>=</code><code>/usr</code> <code>--</code><code>enable</code><code>-xml --disable-rpath --</code><code>enable</code><code>-discard-path --</code><code>enable</code><code>-safe-mode --</code><code>enable</code><code>-bcmath --</code><code>enable</code><code>-shmop --</code><code>enable</code><code>-sysvsem --</code><code>enable</code><code>-inline-optimization --with-curlwrappers --</code><code>enable</code><code>-mbregex --</code><code>enable</code><code>-fastcgi --</code><code>enable</code><code>-fpm --</code><code>enable</code><code>-force-cgi-redirect --</code><code>enable</code><code>-mbstring --with-mcrypt --with-gd --</code><code>enable</code><code>-gd-native-ttf --with-openssl --with-mhash --</code><code>enable</code><code>-pcntl --</code><code>enable</code><code>-sockets --with-iconv-</code><code>dir</code><code>=</code><code>/usr/local</code> <code>--with-zlib --</code><code>enable</code><code>-zip --with-curl &> </code><code>/tmp/php_configure</code><code>.log</code>
<code> </code><code>###make</code>
<code> </code><code>echo</code> <code>"\e[1;32m ---make php: information in /tmp/php_make.log--- \e[0m \n"</code>
<code> </code><code>make</code> <code>&> </code><code>/tmp/php_make</code><code>.log</code>
<code> </code><code>###make install</code>
<code> </code><code>echo</code> <code>"\e[1;32m ---make install php: install into /usr/local/php--- \n ---php cofigure file in the /usr/local/php/etc--- \e[0m \n"</code>
<code> </code><code>make</code> <code>install</code> <code>> </code><code>/tmp/make_install_php</code><code>.log</code>
<code> </code><code>echo</code> <code>"\e[1;32m ---prepare php configure files--- \e[0m \n"</code>
<code> </code><code>echo</code> <code>"cp $source_dir/php-5.3.28/php.ini-production /usr/local/php/etc/php.ini"</code>
<code> </code><code>cp</code> <code>php.ini-production </code><code>/usr/local/php/etc/php</code><code>.ini</code>
<code> </code><code>echo</code> <code>"cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf"</code>
<code> </code><code>cp</code> <code>/usr/local/php/etc/php-fpm</code><code>.conf.default </code><code>/usr/local/php/etc/php-fpm</code><code>.conf</code>
<code> </code><code>echo</code> <code>"\e[1;32m\n php is installed successfully!\n now,please start php and modification the php.ini \e[0m"</code>
<code> </code><code>###安装jre</code>
<code>function</code> <code>jre_install {</code>
<code> </code><code>###删除系统自带的java</code>
<code> </code><code>rpm -qa|</code><code>grep</code> <code>java|</code><code>xargs</code> <code>rpm -e --nodeps</code>
<code> </code><code>rm</code> <code>-rf jre1.6.0_33 &> </code><code>/dev/null</code>
<code> </code><code>chmod</code> <code>+x jre-6u33-linux-x64.bin &> </code><code>/dev/null</code>
<code> </code><code>.</code><code>/jre-6u33-linux-x64</code><code>.bin ></code><code>/dev/null</code> <code>2>&1</code>
<code> </code><code>ls</code> <code>-d </code><code>/usr/java</code>
<code> </code><code>mkdir</code> <code>/usr/java</code> <code>&> </code><code>/dev/null</code>
<code> </code><code>else</code>
<code> </code><code>echo</code> <code>echo</code> <code>"\e[1;31m /usr/java has already exits,move to /usr/java_bak !\e[0m"</code>
<code> </code><code>mkdir</code> <code>/usr/java_bak</code> <code>&> </code><code>/dev/null</code>
<code> </code><code>mv</code> <code>/usr/java/</code><code>* </code><code>/usr/java_bak/</code>
<code> </code><code>mv</code> <code>jre1.6.0_33 </code><code>/usr/java/</code>
<code> </code><code>echo</code> <code>"\e[1;32m\n ---add java path to /etc/profile---\e[0m"</code>
<code> </code><code>echo</code> <code>>></code><code>/etc/profile</code>
<code> </code><code>echo</code> <code>'JAVA_HOME=/usr/java/jre1.6.0_33'</code><code>>></code><code>/etc/profile</code>
<code> </code><code>echo</code> <code>'CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/jre/lib/rt.jar'</code><code>>></code><code>/etc/profile</code>
<code> </code><code>echo</code> <code>'PATH=$JAVA_HOME/bin:$PATH:$HOME/bin:$JAVA_HOME/jre/bin'</code><code>>></code><code>/etc/profile</code>
<code> </code><code>echo</code> <code>'export PATH JAVA_HOME'</code><code>>></code><code>/etc/profile</code>
<code> </code><code>source</code> <code>/etc/profile</code>
<code> </code><code>echo</code> <code>"\e[1;32m\n JRE is installed success !\e[0m"</code>
<code> </code><code>echo</code> <code>"\e[1;32m\n ---install cronolog---\e[0m"</code>
<code> </code><code>wget -nv http:</code><code>//www</code><code>.example.com</code><code>/cronolog-1</code><code>.6.2.</code><code>tar</code><code>.gz</code>
<code> </code><code>tar</code> <code>zxf cronolog-1.6.2.</code><code>tar</code><code>.gz</code>
<code> </code><code>cd</code> <code>cronolog-1.6.2</code>
<code> </code><code>.</code><code>/configure</code> <code>&> </code><code>/tmp/cronolog_configure</code><code>.log && </code><code>make</code> <code>> </code><code>/dev/null</code> <code>&& </code><code>make</code> <code>install</code> <code>> </code><code>/dev/null</code>
<code> </code><code>echo</code> <code>"\e[1;32m cronolog is installed success\e[0m\n"</code>
<code> </code><code>###下面开始选择那些软件需要安装</code>
<code>echo</code> <code>"\e[1;31m\n ---选择哪些软件需要安装--- \e[0m \n"</code>
<code>echo</code> <code>"\e[1;32m \"Nginx\" INPUT \"1\" \e[0m \n"</code>
<code>echo</code> <code>"\e[1;32m \"Mysql\" INPUT \"2\" \e[0m \n"</code>
<code>echo</code> <code>"\e[1;32m \"Php\" INPUT \"3\" \e[0m \n"</code>
<code>echo</code> <code>"\e[1;32m \"JRE\" INPUT \"4\" \e[0m \n"</code>
<code>#echo "\e[1;32m \"Tomcat\" INPUT \"5\" \e[0m \n"</code>
<code>read</code> <code>-p </code><code>"please choice which software do you want to install ?"</code> <code>input</code>
<code> </code><code>if</code> <code>[ $input = 1 ];</code><code>then</code>
<code> </code><code>download_nginx;</code>
<code> </code><code>dependence_install;</code>
<code> </code><code>nginx_install;</code>
<code> </code><code>elif</code> <code>[ $input = 2 ];</code><code>then</code>
<code> </code><code>download_mysql;</code>
<code> </code><code>mysql_install;</code>
<code> </code><code>elif</code> <code>[ $input = 3 ];</code><code>then</code>
<code> </code><code>echo</code> <code>"\e[1;32m\n php needs mysqlclient \e[0m"</code>
<code> </code><code>echo</code> <code>"\e[1;32m so if you had already install a mysqlclient\n please make a softlink for all \"libmysqlclient.so.*\" file to both /var/lib64 and /var/lib \e[0m\n"</code>
<code> </code><code>echo</code> <code>"\e[1;31m Please input your choice\n\e[0m \e[1;32m1: go on by default\(install mysql-client-5.5.39\)\n 2: I will check my \"libmysqlclient.so.*\" file and redo this script later\n 3: I had make the softlinks and I want to going on \e[0m"</code>
<code> </code><code>read</code> <code>choice</code>
<code> </code><code>case</code> <code>"$choice"</code> <code>in</code>
<code> </code><code>1)</code>
<code> </code><code>cd</code> <code>$sourcedir</code>
<code> </code><code>echo</code> <code>"\e[1;32m ---download mysql-client rpm files---\e[0m"</code>
<code> </code><code>wget -nv http:</code><code>//www</code><code>.example.com</code><code>/MySQL-client-5</code><code>.5.39-2.el6.x86_64.rpm</code>
<code> </code><code>wget -nv http:</code><code>//www</code><code>.example.com</code><code>/MySQL-devel-5</code><code>.5.39-2.el6.x86_64.rpm</code>
<code> </code><code>wget -nv http:</code><code>//www</code><code>.example.com</code><code>/MySQL-shared-5</code><code>.5.39-2.el6.x86_64.rpm</code>
<code> </code><code>echo</code> <code>"\e[1;32m\n ---install mysql-client in the way of rpm---\e[0m"</code>
<code> </code><code>sleep</code> <code>1</code>
<code> </code><code>rpm -ivh MySQL-client-5.5.39-2.el6.x86_64.rpm MySQL-devel-5.5.39-2.el6.x86_64.rpm MySQL-shared-5.5.39-2.el6.x86_64.rpm</code>
<code> </code><code>download_php;</code>
<code> </code><code>###make soft link from /usr/lib64/libmysqlclient* to /usr/lib/</code>
<code> </code><code>ls</code> <code>-l </code><code>/usr/lib64/libmysqlclient</code><code>*|</code><code>grep</code> <code>-</code><code>v</code> <code>"^l"</code><code>|</code><code>awk</code> <code>'{print $NF}'</code><code>|</code><code>while</code> <code>read</code> <code>line</code>
<code> </code><code>do</code>
<code> </code><code>usrlib_fulldir=`</code><code>ls</code> <code>-l </code><code>/usr/lib64/libmysqlclient</code><code>*|</code><code>grep</code> <code>-</code><code>v</code> <code>"^l"</code><code>|</code><code>awk</code> <code>'{print $NF}'</code><code>|</code><code>sed</code> <code>'s/lib64/lib/'</code><code>`</code>
<code> </code><code>ln</code> <code>-s $line $usrlib_fulldir</code>
<code> </code><code>done</code>
<code> </code>
<code> </code><code>php_install;</code>
<code> </code><code>;;</code>
<code> </code><code>2)</code>
<code> </code><code>exit</code> <code>0;;</code>
<code> </code><code>3)</code>
<code> </code><code>*)</code>
<code> </code><code>echo</code> <code>"Input Errot!"</code> <code>&& </code><code>exit</code> <code>-1;;</code>
<code> </code><code>esac</code>
<code> </code><code>elif</code> <code>[ $input = 4 ];</code><code>then</code>
<code> </code><code>download_jre;</code>
<code> </code><code>jre_install;</code>
<code> </code><code>else</code>
<code> </code><code>echo</code> <code>"\e[1;31m your input is worng!\e[0m"</code>
<code> </code><code>sleep</code> <code>1</code>
<code> </code><code>fi</code>
本文转自kai404 51CTO博客,原文链接:http://blog.51cto.com/kaifly/1558760,如需转载请自行联系原作者