1 |
8911
|
tao
|
#!/bin/bash
|
2 |
8909
|
tao
|
#This script will install openjdk-7 and tomcat7.
|
3 |
|
|
#It also updates the alternatives for java, javac, keytool and javaws to openjdk-7.
|
4 |
|
|
#It also modifies the /etc/tomcat7/catalina.properties to allow DataONE idenifiers.
|
5 |
8912
|
tao
|
#It modifies the workers.properties file for apache-tomcat connector.
|
6 |
8909
|
tao
|
#The user running the script should have the sudo permission.
|
7 |
|
|
|
8 |
8913
|
tao
|
NEW_JDK_HOME=/usr/lib/jvm/java-7-openjdk-amd64
|
9 |
|
|
NEW_CATALINA_PROPERTIES=/etc/tomcat7/catalina.properties
|
10 |
|
|
JK_CONF=/etc/apache2/mods-enabled/jk.conf
|
11 |
|
|
NEW_TOMCAT_HOME=/usr/share/tomcat7
|
12 |
|
|
NEW_TOMCAT_BASE=/var/lib/tomcat7
|
13 |
|
|
|
14 |
8909
|
tao
|
echo "install openjdk-7-jdk"
|
15 |
|
|
sudo apt-get install openjdk-7-jdk
|
16 |
|
|
sleep 3
|
17 |
|
|
echo "configure java, java, keytool and javaws"
|
18 |
8913
|
tao
|
sudo update-alternatives --set java ${NEW_JDK_HOME}/jre/bin/java
|
19 |
|
|
sudo update-alternatives --set javac ${NEW_JDK_HOME}/bin/javac
|
20 |
|
|
sudo update-alternatives --set keytool ${NEW_JDK_HOME}/jre/bin/keytool
|
21 |
|
|
sudo update-alternatives --set javaws ${NEW_JDK_HOME}/jre/bin/javaws
|
22 |
8909
|
tao
|
|
23 |
|
|
echo "install tomcat7"
|
24 |
|
|
sudo apt-get install tomcat7
|
25 |
8913
|
tao
|
sudo sed -i.bak '$ a\org.apache.tomcat.util.buf.UDecoder.ALLOW_ENCODED_SLASH=true' ${NEW_CATALINA_PROPERTIES}
|
26 |
|
|
sudo sed -i '$ a\org.apache.catalina.connector.CoyoteAdapter.ALLOW_BACKSLASH=true' ${NEW_CATALINA_PROPERTIES}
|
27 |
8912
|
tao
|
|
28 |
|
|
echo "read the location of the workers.properties file from the jk_conf"
|
29 |
|
|
while read f1 f2
|
30 |
|
|
do
|
31 |
|
|
if [ "$f1" = "JkWorkersFile" ]; then
|
32 |
8913
|
tao
|
JK_WORKER_PATH="$f2"
|
33 |
8912
|
tao
|
fi
|
34 |
8913
|
tao
|
done < ${JK_CONF}
|
35 |
|
|
echo "the jk workers.properties location is $JK_WORKER_PATH"
|
36 |
8912
|
tao
|
|
37 |
|
|
echo "update the tomcat home and java home in workers.properties file"
|
38 |
8915
|
tao
|
SAFE_TOMCAT_HOME=$(printf '%s\n' "$NEW_TOMCAT_HOME" | sed 's/[[\.*^$(){}?+|/]/\\&/g')
|
39 |
|
|
SAFE_JDK_HOME=$(printf '%s\n' "$NEW_JDK_HOME" | sed 's/[[\.*^$(){}?+|/]/\\&/g')
|
40 |
|
|
sudo sed -i.bak --regexp-extended "s/(workers\.tomcat_home=).*/\1${SAFE_TOMCAT_HOME}/;
|
41 |
|
|
s/(workers\.java_home=).*/\1${SAFE_JDK_HOME}/;"\
|
42 |
|
|
$JK_WORKER_PATH
|