1 #!/bin/bash
2
3 ######## install jdk
4
5 install_jdk () {
6 rpm -e ‘rpm -qa |grep jdk’
7
8 wget \
9 --no-check-certificate \
10 --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" \
11 http://download.oracle.com/otn-pub/java/jdk/8u102-b14/jdk-8u102-linux-x64.tar.gz
12
13 tar zxf jdk-8u102-linux-x64.tar.gz -C /usr/local/src/
14
15 ln -s /usr/local/src/jdk1.8.0_102 /usr/local/jdk
16
17 sed -i '$a \
18 JAVA_HOME=/usr/local/jdk \
19 CLASSPATH=$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar \
20 PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH \
21 export JAVA_HOME \
22 export PATH \
23 export CLASSPATH' /etc/profile
24
25 source /etc/profile
26
27 java -version && echo 'JDK 安装成功 '|| echo 'JDK 安装失败 '
28
29 }
30
31 ######## install tomcat
32
33 install_tomcat () {
34 wget http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-7/v7.0.76/bin/apache-tomcat-7.0.76.tar.gz
35
36 tar zxf apache-tomcat-7.0.76.tar.gz -C /usr/local/
37
38 ln -s /usr/local/apache-tomcat-7.0.76 /usr/local/tomcat
39 }
40
41 ######## install jsvc
42
43 install_jsvc () {
44
45 cd /usr/local/tomcat/bin/
46 tar xf commons-daemon-native.tar.gz
47 cd `find . -type d -name 'commons-daemon*'`
48 cd unix
49 ./configure --with-java=/usr/local/jdk
50 make
51 cp jsvc /usr/local/tomcat/bin/
52 echo "JAVA_HOME=/usr/local/jdk
53 TOMCAT_USER=tomcat
54 JSVC_OPTS='-jvm server'
55 JAVA_OPTS=
56 " >/usr/local/tomcat/bin/setenv.sh
57 useradd -s /sbin/nologin -M tomcat
58 chown -R tomcat /usr/local/tomcat
59 ln -s /usr/local/tomcat/bin/daemon.sh /etc/init.d/tomcat
60 sed -i '1a \
61 # chkconfig: - 86 14\
62 # description: Tomcat7 daemon\
63 # processname: tomcat
64 ' /usr/local/tomcat/bin/daemon.sh
65
66 chkconfig --add tomcat
67 service tomcat start
68 }
69
70 install_jdk
71 install_tomcat
72 install_jsvc
1 [root@4sztj ~]# sh -x in.sh |tee a.log
2 + install_jdk
3 + rpm -e $'\342\200\230rpm' -qa
4 + grep $'jdk\342\200\231'
5 + wget --no-check-certificate --no-cookies --header 'Cookie: oraclelicense=accept-securebackup-cookie' http://download.oracle.com/otn-pub/java/jdk/8u102-b14/jdk-8u102-linux-x64.tar.gz
6 --2017-03-21 00:40:53-- http://download.oracle.com/otn-pub/java/jdk/8u102-b14/jdk-8u102-linux-x64.tar.gz
7 Resolving download.oracle.com... 80.239.178.64, 80.239.178.88
8 Connecting to download.oracle.com|80.239.178.64|:80... connected.
9 HTTP request sent, awaiting response... 302 Moved Temporarily
10 Location: https://edelivery.oracle.com/otn-pub/java/jdk/8u102-b14/jdk-8u102-linux-x64.tar.gz [following]
11 --2017-03-21 00:40:53-- https://edelivery.oracle.com/otn-pub/java/jdk/8u102-b14/jdk-8u102-linux-x64.tar.gz
12 Resolving edelivery.oracle.com... 104.77.43.178, 2600:1417:9:28c::2d3e, 2600:1417:9:287::2d3e
13 Connecting to edelivery.oracle.com|104.77.43.178|:443... connected.
14 HTTP request sent, awaiting response... 302 Moved Temporarily
15 Location: http://download.oracle.com/otn-pub/java/jdk/8u102-b14/jdk-8u102-linux-x64.tar.gz?AuthParam=1490028175_14998b431b1fff4df93acf9fec0dc9ac [following]
16 --2017-03-21 00:40:54-- http://download.oracle.com/otn-pub/java/jdk/8u102-b14/jdk-8u102-linux-x64.tar.gz?AuthParam=1490028175_14998b431b1fff4df93acf9fec0dc9ac
17 Connecting to download.oracle.com|80.239.178.64|:80... connected.
18 HTTP request sent, awaiting response... 200 OK
19 Length: 181435897 (173M) [application/x-gzip]
20 Saving to: “jdk-8u102-linux-x64.tar.gz”
21
22 100%[=============================================================================================>] 181,435,897 1.93M/s in 98s
23
24 2017-03-21 00:42:33 (1.76 MB/s) - “jdk-8u102-linux-x64.tar.gz” saved [181435897/181435897]
25
26 + tar zxf jdk-8u102-linux-x64.tar.gz -C /usr/local/src/
27 + ln -s /usr/local/src/jdk1.8.0_102 /usr/local/jdk
28 + sed -i '$a \
29 JAVA_HOME=/usr/local/jdk \
30 CLASSPATH=$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar \
31 PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH \
32 export JAVA_HOME \
33 export PATH \
34 export CLASSPATH' /etc/profile
35 + source /etc/profile
36 ++ '[' -x /usr/bin/id ']'
37 ++ '[' -z 0 ']'
38 +++ id -un
39 ++ USER=root
40 ++ LOGNAME=root
41 ++ MAIL=/var/spool/mail/root
42 ++ '[' 0 = 0 ']'
43 ++ pathmunge /sbin
44 ++ case ":${PATH}:" in
45 ++ pathmunge /usr/sbin
46 ++ case ":${PATH}:" in
47 ++ pathmunge /usr/local/sbin
48 ++ case ":${PATH}:" in
49 +++ /bin/hostname
50 ++ HOSTNAME=4sztj
51 ++ HISTSIZE=1000
52 ++ '[' ignoredups = ignorespace ']'
53 ++ export HISTCONTROL=ignoredups
54 ++ HISTCONTROL=ignoredups
55 ++ export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL
56 ++ '[' 0 -gt 199 ']'
57 ++ umask 022
58 ++ for i in '/etc/profile.d/*.sh'
59 ++ '[' -r /etc/profile.d/colorls.sh ']'
60 ++ '[' hxB '!=' hxB ']'
61 ++ . /etc/profile.d/colorls.sh
62 ++ for i in '/etc/profile.d/*.sh'
63 ++ '[' -r /etc/profile.d/cvs.sh ']'
64 ++ '[' hxB '!=' hxB ']'
65 ++ . /etc/profile.d/cvs.sh
66 ++ for i in '/etc/profile.d/*.sh'
67 ++ '[' -r /etc/profile.d/glib2.sh ']'
68 ++ '[' hxB '!=' hxB ']'
69 ++ . /etc/profile.d/glib2.sh
70 ++ for i in '/etc/profile.d/*.sh'
71 ++ '[' -r /etc/profile.d/lang.sh ']'
72 ++ '[' hxB '!=' hxB ']'
73 ++ . /etc/profile.d/lang.sh
74 ++ for i in '/etc/profile.d/*.sh'
75 ++ '[' -r /etc/profile.d/less.sh ']'
76 ++ '[' hxB '!=' hxB ']'
77 ++ . /etc/profile.d/less.sh
78 ++ for i in '/etc/profile.d/*.sh'
79 ++ '[' -r /etc/profile.d/qt.sh ']'
80 ++ '[' hxB '!=' hxB ']'
81 ++ . /etc/profile.d/qt.sh
82 ++ for i in '/etc/profile.d/*.sh'
83 ++ '[' -r /etc/profile.d/vim.sh ']'
84 ++ '[' hxB '!=' hxB ']'
85 ++ . /etc/profile.d/vim.sh
86 ++ for i in '/etc/profile.d/*.sh'
87 ++ '[' -r /etc/profile.d/which2.sh ']'
88 ++ '[' hxB '!=' hxB ']'
89 ++ . /etc/profile.d/which2.sh
90 ++ unset i
91 ++ unset -f pathmunge
92 ++ JAVA_HOME=/usr/local/jdk
93 ++ CLASSPATH=/usr/local/jdk/lib/dt.jar:/usr/local/jdk/lib/tools.jar
94 ++ PATH=/usr/local/jdk/bin:/usr/local/jdk/jre/bin:/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
95 ++ export JAVA_HOME
96 ++ export PATH
97 ++ export CLASSPATH
98 + java -version
99 java version "1.8.0_102"
100 Java(TM) SE Runtime Environment (build 1.8.0_102-b14)
101 Java HotSpot(TM) 64-Bit Server VM (build 25.102-b14, mixed mode)
102 + echo 'JDK 安装成功 '
103 + install_tomcat
104 + wget http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-7/v7.0.76/bin/apache-tomcat-7.0.76.tar.gz
105 JDK 安装成功
106 --2017-03-21 00:42:43-- http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-7/v7.0.76/bin/apache-tomcat-7.0.76.tar.gz
107 Resolving mirrors.tuna.tsinghua.edu.cn... 166.111.206.177, 2402:f000:1:416:166:111:206:177
108 Connecting to mirrors.tuna.tsinghua.edu.cn|166.111.206.177|:80... connected.
109 HTTP request sent, awaiting response... 200 OK
110 Length: 8957288 (8.5M) [application/octet-stream]
111 Saving to: “apache-tomcat-7.0.76.tar.gz”
112
113 100%[=============================================================================================>] 8,957,288 16.8M/s in 0.5s
114
115 2017-03-21 00:42:44 (16.8 MB/s) - “apache-tomcat-7.0.76.tar.gz” saved [8957288/8957288]
116
117 + tar zxf apache-tomcat-7.0.76.tar.gz -C /usr/local/
118 + ln -s /usr/local/apache-tomcat-7.0.76 /usr/local/tomcat
119 + install_jsvc
120 + cd /usr/local/tomcat/bin/
121 + tar xf commons-daemon-native.tar.gz
122 ++ find . -type d -name 'commons-daemon*'
123 + cd ./commons-daemon-1.0.15-native-src
124 + cd unix
125 + ./configure --with-java=/usr/local/jdk
126 *** Current host ***
127 checking build system type... x86_64-unknown-linux-gnu
128 checking host system type... x86_64-unknown-linux-gnu
129 *** C-Language compilation tools ***
130 checking cached host system type... ok
131 checking for gcc... gcc
132 checking for C compiler default output file name... a.out
133 checking whether the C compiler works... yes
134 checking whether we are cross compiling... no
135 checking for suffix of executables...
136 checking for suffix of object files... o
137 checking whether we are using the GNU C compiler... yes
138 checking whether gcc accepts -g... yes
139 checking for gcc option to accept ANSI C... none needed
140 checking for ranlib... *** Host support ***
141 ranlib
142 checking for strip... strip
143 checking C flags dependant on host system type... *** Java compilation tools ***
144 ok
145 checking JAVA_HOME... /usr/local/jdk
146 checking for JDK os include directory... linux
147 gcc flags added
148 checking how to run the C preprocessor... gcc -E
149 checking for egrep... grep -E
150 checking for ANSI C header files... yes
151 checking for sys/types.h... yes
152 checking for sys/stat.h... yes
153 checking for stdlib.h... yes
154 checking for string.h... yes
155 checking for memory.h... yes
156 checking for strings.h... yes
157 checking for inttypes.h... yes
158 checking for stdint.h... yes
159 checking for unistd.h... yes
160 checking sys/capability.h usability... no
161 checking sys/capability.h presence... configure: WARNING: cannot find headers for libcap
162 *** Writing output files ***
163 no
164 checking for sys/capability.h... no
165 configure: creating ./config.status
166 config.status: creating Makefile
167 config.status: creating Makedefs
168 config.status: creating native/Makefile
169 *** All done ***
170 Now you can issue "make"
171 + make
172 (cd native; make all)
173 make[1]: Entering directory `/usr/local/apache-tomcat-7.0.76/bin/commons-daemon-1.0.15-native-src/unix/native'
174 gcc -g -O2 -DOS_LINUX -DDSO_DLFCN -DCPU=\"amd64\" -Wall -Wstrict-prototypes -I/usr/local/jdk/include -I/usr/local/jdk/include/linux -c jsvc-unix.c -o jsvc-unix.o
175 gcc -g -O2 -DOS_LINUX -DDSO_DLFCN -DCPU=\"amd64\" -Wall -Wstrict-prototypes -I/usr/local/jdk/include -I/usr/local/jdk/include/linux -c arguments.c -o arguments.o
176 gcc -g -O2 -DOS_LINUX -DDSO_DLFCN -DCPU=\"amd64\" -Wall -Wstrict-prototypes -I/usr/local/jdk/include -I/usr/local/jdk/include/linux -c debug.c -o debug.o
177 gcc -g -O2 -DOS_LINUX -DDSO_DLFCN -DCPU=\"amd64\" -Wall -Wstrict-prototypes -I/usr/local/jdk/include -I/usr/local/jdk/include/linux -c dso-dlfcn.c -o dso-dlfcn.o
178 gcc -g -O2 -DOS_LINUX -DDSO_DLFCN -DCPU=\"amd64\" -Wall -Wstrict-prototypes -I/usr/local/jdk/include -I/usr/local/jdk/include/linux -c dso-dyld.c -o dso-dyld.o
179 gcc -g -O2 -DOS_LINUX -DDSO_DLFCN -DCPU=\"amd64\" -Wall -Wstrict-prototypes -I/usr/local/jdk/include -I/usr/local/jdk/include/linux -c help.c -o help.o
180 gcc -g -O2 -DOS_LINUX -DDSO_DLFCN -DCPU=\"amd64\" -Wall -Wstrict-prototypes -I/usr/local/jdk/include -I/usr/local/jdk/include/linux -c home.c -o home.o
181 gcc -g -O2 -DOS_LINUX -DDSO_DLFCN -DCPU=\"amd64\" -Wall -Wstrict-prototypes -I/usr/local/jdk/include -I/usr/local/jdk/include/linux -c java.c -o java.o
182 gcc -g -O2 -DOS_LINUX -DDSO_DLFCN -DCPU=\"amd64\" -Wall -Wstrict-prototypes -I/usr/local/jdk/include -I/usr/local/jdk/include/linux -c location.c -o location.o
183 gcc -g -O2 -DOS_LINUX -DDSO_DLFCN -DCPU=\"amd64\" -Wall -Wstrict-prototypes -I/usr/local/jdk/include -I/usr/local/jdk/include/linux -c replace.c -o replace.o
184 gcc -g -O2 -DOS_LINUX -DDSO_DLFCN -DCPU=\"amd64\" -Wall -Wstrict-prototypes -I/usr/local/jdk/include -I/usr/local/jdk/include/linux -c locks.c -o locks.o
185 gcc -g -O2 -DOS_LINUX -DDSO_DLFCN -DCPU=\"amd64\" -Wall -Wstrict-prototypes -I/usr/local/jdk/include -I/usr/local/jdk/include/linux -c signals.c -o signals.o
186 ar cr libservice.a arguments.o debug.o dso-dlfcn.o dso-dyld.o help.o home.o java.o location.o replace.o locks.o signals.o
187 ranlib libservice.a
188 gcc jsvc-unix.o libservice.a -ldl -lpthread -o ../jsvc
189 make[1]: Leaving directory `/usr/local/apache-tomcat-7.0.76/bin/commons-daemon-1.0.15-native-src/unix/native'
190 + cp jsvc /usr/local/tomcat/bin/
191 + echo 'JAVA_HOME=/usr/local/jdk
192 TOMCAT_USER=tomcat
193 JSVC_OPTS='\''-jvm server'\''
194 JAVA_OPTS=
195 '
196 + useradd -s /sbin/nologin -M tomcat
197 + chown -R tomcat /usr/local/tomcat
198 + ln -s /usr/local/tomcat/bin/daemon.sh /etc/init.d/tomcat
199 + sed -i '1a \
200 # chkconfig: - 86 14\
201 # description: Tomcat7 daemon\
202 # processname: tomcat
203 ' /usr/local/tomcat/bin/daemon.sh
204 + chkconfig --add tomcat
205 + service tomcat start
206 [root@4sztj ~]#