Installare una versione specifica di Tomcat in Debian

From RVM Wiki
Jump to navigation Jump to search
Attenzione questo articolo è ancora incompleto.
Sentiti libero di contribuire cliccando sul tasto edit.


  • Installare Java
  • Creating a new user, sans password, no direct logins
	
sudo adduser \
  --system \
  --shell /bin/bash \
  --gecos 'Tomcat Java Servlet and JSP engine' \
  --group \
  --disabled-password \
  --home /home/tomcat \
  tomcat
  • Installing Tomcat7
cd /tmp
wget http://mirror.cogentco.com/pub/apache/tomcat/tomcat-7/v7.0.37/bin/apache-tomcat-7.0.37.tar.gz
tar xvzf ./apache-tomcat-7.0.37.tar.gz
  • Moving the distribution into /usr/share/tomcat7
sudo mkdir /usr/share/tomcat7
sudo mv /tmp/apache-tomcat-7.0.37 /usr/share/tomcat7
  • To make it easy to replace this release with future releases, we are going to create a symbolic link that we are going to use when referring to Tomcat (after removing the old link, you might have from installing a previous version):
sudo rm -f /usr/share/tomcat
sudo ln -s /usr/share/tomcat7/apache-tomcat-7.0.37 /usr/share/tomcat

Since we created a tomcat user, he should also own all these files

sudo chown -R tomcat:tomcat /usr/share/tomcat7
sudo chmod +x /usr/share/tomcat/bin/*.sh
  • If Tomcat’s default HTTP port (8080) is already in use, you need to edit the server.xml configuration and replace 8080 with 8000:
sudoedit /usr/share/tomcat/conf/server.xml
  • Starting Tomcat manually
sudo /bin/su - tomcat -c /usr/share/tomcat/bin/startup.sh
  • Stopping Tomcat manually
sudo /bin/su - tomcat -c /usr/share/tomcat/bin/shutdown.sh
  • Tomcat init.d startup file
sudoedit /etc/init.d/tomcat
#!/bin/sh
### BEGIN INIT INFO
# Provides: Tomcat
# Required-Start: $network
# Required-Stop: $network
# Default-Start: 2 3 5
# Description: Java Servlet and JSP Engine
### END INIT INFO
 
case "$1" in
'start')
    /bin/su - tomcat -c /usr/share/tomcat/bin/startup.sh
    ;;
'stop')
    /bin/su - tomcat -c /usr/share/tomcat/bin/shutdown.sh
    ;;
*)
    echo "Usage: $0 { start | stop }"
    ;;
esac
exit 0

Utilizzare configurazioni diverse di tomcat

  • Se si vuole utilizzare una configurazione diversa per le istanze, occorre
    • creare delle homedir diverse con tutti i componenti dei tomcat
    • creare degli init.d diversi
  • Creare le homedir:
sudo mkdir /home/nodo1
  • Copiare le seguenti directories:
/home/nodo1/
├── bin
├── conf
├── lib
├── logs
├── temp
├── webapps
└── work
  • Modificare le porte in
sudoedit /home/nodo1/conf/server.xml

<Server port="8101" shutdown="SHUTDOWN">

<Connector port="8080" protocol="HTTP/1.1"

<Connector port="8001" protocol="AJP/1.3" redirectPort="8443" />
  • Creare l'init.d, dove si specificando i percorsi E la versione di Java da usare:
sudoedit /etc/init.d/tomcat-nodo1
#!/bin/sh
### BEGIN INIT INFO
# Provides: Tomcat-Nodo1
# Required-Start: $network
# Required-Stop: $network
# Default-Start:     S
# Default-Stop:      0 1 6
# Short-Description: Tomcat Nodo 1
### END INIT INFO
set -x
 
case "$1" in
'start')
	export CATALINA_BASE="/home/nodo1"
	export CATALINA_OPTS="-server -Djava.awt.headless=true"
	export JAVA_OPTS="-Dcatalina.home=/home/nodo1 -Dcatalina.base=/home/nodo1 -Djava.endorsed.dirs=/home/nodo1/endorsed -Djava.io.tmpdir=/home/nodo1/temp -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.util.logging.config.file=/home/nodo1/conf/logging.properties -XX:MaxPermSize=512M"
	export CLASSPATH="/home/nodo1/bin/bootstrap.jar;/home/nodo1/bin/tomcat-juli.jar"
        export JAVA_HOME="/usr/lib/jvm/j2re1.6-oracle"
	#Using CATALINA_HOME:   /usr/local/share/tomcat
	#Using CATALINA_TMPDIR: /usr/local/share/tomcat/temp
	/bin/su tomcat -p -c /usr/local/share/tomcat/bin/startup.sh
    ;;
'stop')
	export CATALINA_BASE="/home/nodo1"
	export CATALINA_OPTS="-server -Djava.awt.headless=true"
	export JAVA_OPTS="-Dcatalina.home=/home/nodo1 -Dcatalina.base=/home/nodo1 -Djava.endorsed.dirs=/home/nodo1/endorsed -Djava.io.tmpdir=/home/nodo1/temp -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.util.logging.config.file=/home/nodo1/conf/logging.properties -XX:MaxPermSize=512M"
	export CLASSPATH="/home/nodo1/bin/bootstrap.jar;/home/nodo1/bin/tomcat-juli.jar"
        export JAVA_HOME="/usr/lib/jvm/j2re1.6-oracle"
	#Using CATALINA_HOME:   /usr/local/share/tomcat
	#Using CATALINA_TMPDIR: /usr/local/share/tomcat/temp
	/bin/su tomcat -p -c /usr/local/share/tomcat/bin/shutdown.sh
    ;;
*)
    echo "Usage: $0 { start | stop }"
    ;;
esac
exit 0

Riferimenti