1
|
#!/bin/bash
|
2
|
#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
|
#It modifies the workers.properties file for apache-tomcat connector.
|
6
|
#The user running the script should have the sudo permission.
|
7
|
|
8
|
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
|
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
|
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
|
|
23
|
echo "install tomcat7"
|
24
|
sudo apt-get install tomcat7
|
25
|
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
|
|
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
|
JK_WORKER_PATH="$f2"
|
33
|
fi
|
34
|
done < ${JK_CONF}
|
35
|
echo "the jk workers.properties location is $JK_WORKER_PATH"
|
36
|
|
37
|
echo "update the tomcat home and java home in workers.properties file"
|
38
|
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
|