Created
October 10, 2019 01:51
-
-
Save Zohorul/76182b0f3250b611702738bc1d528fba to your computer and use it in GitHub Desktop.
Install and configure Tomcat8 on an Amazon Linux AMI using Java OpenJDK 1.8 that starts on reboot.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
mkdir /opt/tomcat | |
yum update -y | |
yum install java-1.8.0-openjdk-devel httpd24 git -y | |
service httpd start | |
chkconfig httpd on | |
yum remove java-1.7.0-openjdk -y | |
# calling the version may ensure that java recognizes 1.8 as the new defaut | |
java -version | |
echo "JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk/jre" | \ | |
tee --append /etc/environment | |
echo "CATALINA_HOME=/opt/tomcat" | \ | |
tee --append /etc/environment | |
source /etc/environment | |
export JAVA_HOME | |
export CATALINA_HOME | |
groupadd tomcat | |
useradd -M -s /bin/nologin -g tomcat -d /opt/tomcat tomcat | |
wget -q http://www-eu.apache.org/dist/tomcat/tomcat-8/v8.5.14/bin/apache-tomcat-8.5.14.tar.gz | |
tar xf apache-tomcat-8.*.tar.gz -C /opt/tomcat --strip-components=1 | |
rm -f apache-tomcat-8.5.14.tar.gz | |
chgrp -R tomcat /opt/tomcat/conf | |
chmod g+rwx /opt/tomcat/conf | |
chmod g+r /opt/tomcat/conf/* | |
chown -R tomcat /opt/tomcat/work/ /opt/tomcat/temp/ /opt/tomcat/logs/ | |
# sed -i -e 's/8080/<PORT_YOU_WANT_TO_RUN_ON>/g' /opt/tomcat/conf/server.xml | |
# remove this step to keep default of 8080 | |
cat << EOM > /etc/init.d/tomcat | |
#!/bin/bash | |
# description: Tomcat Start Stop Restart | |
# processname: tomcat | |
# chkconfig: 234 20 80 | |
case \$1 in | |
start) | |
sh /opt/tomcat/bin/catalina.sh start | |
;; | |
stop) | |
sh /opt/tomcat/bin/catalina.sh stop | |
;; | |
restart) | |
sh /opt/tomcat/bin/catalina.sh stop | |
sh /opt/tomcat/bin/catalina.sh start | |
;; | |
esac | |
exit 0 | |
EOM | |
chmod +x /etc/init.d/tomcat | |
chgrp -R tomcat /opt/tomcat | |
chmod g+rwx /opt/tomcat/* | |
chown -R tomcat /opt/tomcat | |
chkconfig tomcat on | |
# exec /opt/tomcat/bin/catalina.sh start | |
service tomcat start | |
# Add a Host Manager for Tomcat8: | |
ex /opt/tomcat/conf/tomcat-users.xml << EOM | |
normal G | |
i | |
<role rolename="manager-gui"/> | |
<role rolename="manager-script"/> | |
<role rolename="manager-jmx"/> | |
<role rolename="manager-status"/> | |
<role rolename="admin-gui"/> | |
<role rolename="admin-script"/> | |
<user username="<CHANGE_ME>" password="<CHANGE_ME>" roles="manager-gui, manager-script, manager-jmx, manager-status, admin-gui, admin-script"/> | |
. | |
wq | |
EOM | |
# Allow the IP of the instance to be accessed via the Host Manager app | |
ex /opt/tomcat/webapps/manager/META-INF/context.xml << EOM | |
normal G2k | |
i | |
<!-- | |
. | |
normal G | |
i | |
--> | |
. | |
wq | |
EOM | |
#privateIP=$(curl http://169.254.169.254/latest/meta-data/local-ipv4) | |
# Install Maven 3.5.0 | |
mkdir /opt/maven | |
cd /home/ec2-user | |
wget http://www-eu.apache.org/dist/maven/maven-3/3.5.0/binaries/apache-maven-3.5.0-bin.tar.gz | |
tar xf apache-maven*.tar.gz -C /opt/maven --strip-components=1 | |
rm /home/ec2-user/apachge-maven*.tar.gz | |
export PATH=$PATH:/opt/maven/bin | |
# clone Spring-petclinic and install it | |
git clone https://github.com/shanemacbride/spring-petclinic.git | |
cd spring-petclinic | |
/opt/maven/bin/mvn clean install | |
cp /home/ec2-user/spring-petclinic/target/petclinic.war /opt/tomcat/webapps/ | |
service tomcat restart |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment