Skip to content

Instantly share code, notes, and snippets.

@carlosanders
Last active April 2, 2019 00:59
Show Gist options
  • Select an option

  • Save carlosanders/a14ca452cfd748e1336bd0939d7d36d4 to your computer and use it in GitHub Desktop.

Select an option

Save carlosanders/a14ca452cfd748e1336bd0939d7d36d4 to your computer and use it in GitHub Desktop.
Script instalação java 11 10 e Tomcat 8 e 9 no OEL 7.4+
#!/bin/bash
# Script Autor: Carlos Anders
#########################################################################
############################## var global ###############################
ver_so=`cat /etc/oracle-release`
#########################################################################
# Rotina principal
main() {
echo -e "\033[01;47;31m>>>>>>>> Servidor: ${ver_so} <<<<<<<<\033[00m"
config_users_tomcat9_go
echo -e '\033[00;47;31m----- Provisionamento Concluído ----- \033[00m'
}
#sub-rotina
config_users_tomcat9_go() {
#https://linuxize.com/post/how-to-install-tomcat-9-on-centos-7/
USERNAME=admin
PASSWORD=admin
DIR_USER_TOMCAT=/var/opt/tomcat
CATALINA_HOME=${DIR_USER_TOMCAT}/latest
FILE_CONF_USERS=${CATALINA_HOME}/conf/tomcat-users.xml
FILE_MANAGE_CONTEXT=${CATALINA_HOME}/webapps/manager/META-INF/context.xml
FILE_HOST_MANAGE_CONTEXT=${CATALINA_HOME}/webapps/host-manager/META-INF/context.xml
#adicionar um novo usuário que poderá acessar a interface web do tomcat (manager-gui e admin-gui)
sudo cat << EOF > ${FILE_CONF_USERS}
<?xml version="1.0" encoding="UTF-8"?>
<tomcat-users xmlns="http://tomcat.apache.org/xml"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://tomcat.apache.org/xml tomcat-users.xsd"
version="1.0">
<role rolename="admin-gui"/>
<role rolename="manager-gui"/>
<user username="${USERNAME}" password="${PASSWORD}" roles="admin-gui,manager-gui"/>
</tomcat-users>
EOF
#acessar a interface da web a partir de um IP remoto ou de qualquer lugar
sudo cat << EOF > ${FILE_MANAGE_CONTEXT}
<?xml version="1.0" encoding="UTF-8"?>
<Context antiResourceLocking="false" privileged="true" >
<!--
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
-->
<Manager sessionAttributeValueClassNameFilter="java\.lang\.(?:Boolean|Integer|Long|Number|String)|org\.apache\.catalina\.filters\.CsrfPreventionFilter\$LruCache(?:\$1)?|java\.util\.(?:Linked)?HashMap"/>
</Context>
EOF
sudo cat << EOF > ${FILE_HOST_MANAGE_CONTEXT}
<?xml version="1.0" encoding="UTF-8"?>
<Context antiResourceLocking="false" privileged="true" >
<!--
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
-->
<Manager sessionAttributeValueClassNameFilter="java\.lang\.(?:Boolean|Integer|Long|Number|String)|org\.apache\.catalina\.filters\.CsrfPreventionFilter\$LruCache(?:\$1)?|java\.util\.(?:Linked)?HashMap"/>
</Context>
EOF
sudo systemctl restart tomcat9
#Check the service status
sudo systemctl status tomcat9
}
###############################
main
exit 0
#!/bin/bash
# Script Autor: Carlos Anders
#########################################################################
############################## var global ###############################
ver_so=`cat /etc/oracle-release`
#########################################################################
# Rotina principal
main() {
echo -e "\033[01;47;31m>>>>>>>> Servidor: ${ver_so} <<<<<<<<\033[00m"
#install_java11_go
#install_java10_go
#install_tomcat8_go
install_tomcat9_go
echo -e '\033[00;47;31m----- Provisionamento Concluído ----- \033[00m'
}
#sub-rotina
install_tomcat9_go() {
#https://linuxize.com/post/how-to-install-tomcat-9-on-centos-7/
TOMCAT_VERSION_MAJOR=9
TOMCAT_VERSION_FULL=9.0.16
DIR_USER_TOMCAT=/var/opt/tomcat
CATALINA_HOME=${DIR_USER_TOMCAT}/latest
CATALINA_BASE=${CATALINA_HOME}
CATALINA_PID=${CATALINA_HOME}/temp
# pega da var ambiente do java
JAVA_HOME=${JAVA_HOME}
#criando usuario no dirtorio /opt/tomcat/latest
sudo useradd -m -U -d ${DIR_USER_TOMCAT} -s /bin/false tomcat
suod mkdir -p /var/opt/tomcat
# baixar pacote
curl -LO https://archive.apache.org/dist/tomcat/tomcat-${TOMCAT_VERSION_MAJOR}/v${TOMCAT_VERSION_FULL}/bin/apache-tomcat-${TOMCAT_VERSION_FULL}.tar.gz
#descompactar no diretori user tomcat
gunzip -c apache-tomcat-${TOMCAT_VERSION_FULL}.tar.gz | tar -xf - -C ${DIR_USER_TOMCAT}
#remove o link simbolico
rm -rf /opt/tomcat/latest
#create a symbolic link latest
sudo ln -s ${DIR_USER_TOMCAT}/apache-tomcat-${TOMCAT_VERSION_FULL} ${CATALINA_HOME}
# alterar permissao do diretorio
sudo chown -R tomcat: ${DIR_USER_TOMCAT}
#Make the scripts inside the bin directory executable:
sudo sh -c 'chmod +x ${CATALINA_HOME}/bin/*.sh'
# cria arquivo
sudo touch /etc/systemd/system/tomcat.service
#Habilita environment_file
cat << EOF > /etc/systemd/system/tomcat9.service
[Unit]
Description=Tomcat 9 servlet container
After=network.target
[Service]
Type=forking
User=tomcat
Group=tomcat
Environment="JAVA_HOME=${JAVA_HOME}"
Environment="JAVA_OPTS=-Djava.security.egd=file:///dev/urandom"
Environment="CATALINA_BASE=${CATALINA_BASE}"
Environment="CATALINA_HOME=${CATALINA_HOME}"
Environment="CATALINA_PID=${CATALINA_PID}/tomcat.pid"
Environment="CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC"
ExecStart=${CATALINA_HOME}/bin/startup.sh
ExecStop=${CATALINA_HOME}/bin/shutdown.sh
[Install]
WantedBy=multi-user.target
EOF
#Notify systemd that we created a new unit file by typing
sudo systemctl daemon-reload
#Enable and start the Tomcat service:
sudo systemctl enable tomcat9
sudo systemctl start tomcat9
#Check the service status
sudo systemctl status tomcat9
# Adjust the Firewall
#sudo firewall-cmd --zone=public --permanent --add-port=8080/tcp
#sudo firewall-cmd --reload
rm -rf ${CATALINA_HOME}/webapps/examples ${CATALINA_HOME}/webapps/docs
}
#sub-rotina
install_tomcat8_go() {
#https://linuxize.com/post/how-to-install-tomcat-9-on-centos-7/
TOMCAT_VERSION_MAJOR=8
TOMCAT_VERSION_FULL=8.5.38
DIR_USER_TOMCAT=/opt/tomcat
CATALINA_HOME=${DIR_USER_TOMCAT}/latest
CATALINA_BASE=${CATALINA_HOME}
CATALINA_PID=${CATALINA_HOME}/temp
# pega da var ambiente do java
JAVA_HOME=${JAVA_HOME}
#criando usuario no dirtorio /opt/tomcat
sudo useradd -m -U -d ${DIR_USER_TOMCAT} -s /bin/false tomcat
# baixar pacote
curl -LO https://archive.apache.org/dist/tomcat/tomcat-${TOMCAT_VERSION_MAJOR}/v${TOMCAT_VERSION_FULL}/bin/apache-tomcat-${TOMCAT_VERSION_FULL}.tar.gz
#descompactar no diretori user tomcat
gunzip -c apache-tomcat-${TOMCAT_VERSION_FULL}.tar.gz | tar -xf - -C ${DIR_USER_TOMCAT}
#create a symbolic link latest
#remove o link simbolico
rm -rf /opt/tomcat/latest
sudo ln -s ${DIR_USER_TOMCAT}/apache-tomcat-${TOMCAT_VERSION_FULL} ${CATALINA_HOME}
# alterar permissao do diretorio
sudo chown -R tomcat: ${DIR_USER_TOMCAT}
#Make the scripts inside the bin directory executable:
sudo sh -c 'chmod +x ${CATALINA_HOME}/bin/*.sh'
# cria arquivo
sudo touch /etc/systemd/system/tomcat.service
#Habilita environment_file
cat << EOF > /etc/systemd/system/tomcat.service
[Unit]
Description=Tomcat ${TOMCAT_VERSION_MAJOR} servlet container
After=network.target
[Service]
Type=forking
User=tomcat
Group=tomcat
Environment="JAVA_HOME=${JAVA_HOME}"
Environment="JAVA_OPTS=-Djava.security.egd=file:///dev/urandom"
Environment="CATALINA_BASE=${CATALINA_BASE}"
Environment="CATALINA_HOME=${CATALINA_HOME}"
Environment="CATALINA_PID=${CATALINA_PID}/tomcat.pid"
Environment="CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC"
ExecStart=${CATALINA_HOME}/bin/startup.sh
ExecStop=${CATALINA_HOME}/bin/shutdown.sh
[Install]
WantedBy=multi-user.target
EOF
#Notify systemd that we created a new unit file by typing
sudo systemctl daemon-reload
#Enable and start the Tomcat service:
sudo systemctl enable tomcat
sudo systemctl start tomcat
#Check the service status
sudo systemctl status tomcat
# Adjust the Firewall
#sudo firewall-cmd --zone=public --permanent --add-port=8080/tcp
#sudo firewall-cmd --reload
rm -rf ${CATALINA_HOME}/webapps/examples ${CATALINA_HOME}/webapps/docs
}
#sub-rotina
install_java10_go() {
#links: http://jdk.java.net/archive/
JAVA_VERSION=10.0.2
JAVA_VERSION_MAJOR=10
JAVA_HOME=/usr/local/jdk-${JAVA_VERSION}
environment_file="/etc/environment"
bash_profile_root_file="/root/.bash_profile"
bash_profile_file="/home/admin/.bash_profile"
rm -rf ${JAVA_HOME}
mkdir -p ${JAVA_HOME}
wget -nv https://download.java.net/java/GA/jdk${JAVA_VERSION_MAJOR}/${JAVA_VERSION}/19aef61b38124481863b1413dce1855f/13/openjdk-${JAVA_VERSION}_linux-x64_bin.tar.gz -O - | tar -zvxf - --strip=1 -C ${JAVA_HOME}
alternatives --install /usr/bin/java java ${JAVA_HOME}/bin/java 2
alternatives --install /usr/bin/javac javac ${JAVA_HOME}/bin/javac 2
export JAVA_HOME=${JAVA_HOME}
export PATH=$PATH:$JAVA_HOME/bin
#Habilita environment_file
cat << EOF >> ${environment_file}
# anders
JAVA_HOME=${JAVA_HOME}
export JAVA_HOME
PATH=$PATH:$JAVA_HOME/bin
export PATH
EOF
cat << EOF >> ${bash_profile_root_file}
# anders
JAVA_HOME=${JAVA_HOME}
export JAVA_HOME
PATH=$PATH:$JAVA_HOME/bin
export PATH
EOF
cat << EOF >> ${bash_profile_file}
# anders
JAVA_HOME=${JAVA_HOME}
export JAVA_HOME
PATH=$PATH:$JAVA_HOME/bin
export PATH
EOF
source ${environment_file}
java -version
javac -version
}
#sub-rotina
install_java11_go() {
#links: http://jdk.java.net/11/
JAVA_VERSION=11.0.2
JAVA_VERSION_MAJOR=11
JAVA_HOME=/usr/local/jdk-${JAVA_VERSION}
environment_file="/etc/environment"
bash_profile_root_file="/root/.bash_profile"
bash_profile_file="/home/admin/.bash_profile"
rm -rf ${JAVA_HOME}
mkdir -p ${JAVA_HOME}
wget -nv https://download.java.net/java/GA/jdk${JAVA_VERSION_MAJOR}/9/GPL/openjdk-${JAVA_VERSION}_linux-x64_bin.tar.gz -O - | tar -zvxf - --strip=1 -C ${JAVA_HOME}
alternatives --install /usr/bin/java java ${JAVA_HOME}/bin/java 1
alternatives --install /usr/bin/javac javac ${JAVA_HOME}/bin/javac 1
export JAVA_HOME=${JAVA_HOME}
export PATH=$PATH:$JAVA_HOME/bin
#Habilita environment_file
cat << EOF >> ${environment_file}
# anders
JAVA_HOME=${JAVA_HOME}
PATH=$PATH:$JAVA_HOME/bin
EOF
cat << EOF >> ${bash_profile_root_file}
# anders
JAVA_HOME=${JAVA_HOME}
export JAVA_HOME
PATH=$PATH:$JAVA_HOME/bin
export PATH
EOF
cat << EOF >> ${bash_profile_file}
# anders
JAVA_HOME=${JAVA_HOME}
export JAVA_HOME
PATH=$PATH:$JAVA_HOME/bin
export PATH
EOF
source ${environment_file}
java -version
javac -version
}
###############################
main
exit 0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment