Instal·lació Tomcat

De wikijoan
Salta a la navegació Salta a la cerca

http://vladimir.prie.to/content/como-instalar-tomcat-en-ubuntu

Lo primero es saber si tienes java instalado en tu máquina, puedes usar Synaptic, o bien digitar este comando:

$ dpkg --get-selections | grep sun-java
sun-java6-bin                                   install
sun-java6-jdk                                   install
sun-java6-jre                                   install

Ens baixem el Tomcat del lloc oficial: http://tomcat.apache.org/

Ens baixem la versió 6, i la descomprimim

$ tar xvzf apache-tomcat-6.0.16.tar.gz

i el movem en el que serà el nostre directori:

$ sudo mv apache-tomcat-6.0.16 /usr/share/tomcat6

Luego hay que indicar el JAVA_HOME a tomcat, esto es debido a la "manualidad" de la instalación. Se puede hacer de dos formas, editando tu archivo .bashrc (que está ubicado en tu home) o bien, dandoselo en el archivo .sh del servicio (que aun no creamos).

$ nano ~/.bashrc -> això signigfica editar el fitxer ocult bashrc, que es troba en el home, i que s'executa en fer login. Amb EXPORT podem ficar les variables d'entorn que ens interessen

al final del fitxer s'afegeix

export JAVA_HOME=/usr/lib/jvm/java-6-sun 

(al final del tutorial diu que això de fet no cal)

i ja podem iniciar el Tomcat:

$ sudo /usr/share/tomcat6/bin/startup.sh

http://localhost:8080/ -> efectivament, funciona

Per tal de no haver d'iniciar el Tomcat cada vegada, i que s'inicïi sol a l'inici del sistema:

$ sudo nano /etc/init.d/tomcat

i en el fitxer escriure:

# Tomcat auto-start

#

# description: Auto-starts tomcat

# processname: tomcat

# Tomcat auto-start
#
# description: Auto-starts tomcat
# processname: tomcat
# pidfile: /var/run/tomcat.pid

export JAVA_HOME=/usr/lib/jvm/java-6-sun

case $1 in
start)
sh /usr/share/tomcat6/bin/startup.sh
;;
stop)
sh /usr/share/tomcat6/bin/shutdown.sh
;;
restart)
sh /usr/share/tomcat6/bin/shutdown.sh
sh /usr/share/tomcat6/bin/startup.sh
;;
esac
exit 0

Esto no basta y hay que hacerlo ejecutable, osea, no sólo texto, sino que texto "con sentido" :)

$ sudo chmod 755 /etc/init.d/tomcat

y finalmente, un truquillo per tal de què arrenqui automàticament el servei en l'inici del sistema.


Esto hará que el script del servicio recién creado, se instale en los diferentes niveles que tiene linux.

$ sudo update-rc.d tomcat defaults 99

update-rc.d és un aplicatiu que es trova a /usr/sbin

update-rc.d [-n] name defaults|multiuser [NN | SS KK]
update-rc.d  updates  the  System  V  style  init script links /etc/rcrunlevel.d/NNname whose target is the script
      /etc/init.d/name.  These links are run by init when it changes runlevels; they are generally  used  to  start  and
      stop  system  services  such as daemons.  runlevel is one of the runlevels supported by init, namely, 0123456789S,
      and NN is the two-digit sequence number that determines where in the sequence init will run the scripts.

When run with either the defaults, multiuser, start, or stop options, update-rc.d makes links /etc/rcrun‐

      level.d/[SK]NNname that point to the script /etc/init.d/name.

És a dir, si faig

etc$ ls -la rc3.d/*tomcat*
lrwxrwxrwx 1 root root 16 2008-06-27 18:49 rc3.d/S99tomcat -> ../init.d/tomcat

veig que hi ha un enllaç simbòlic, que vol dir que quan s'executi el nivell 3 de l'arrencada s'executaran tots els scripts que hi ha aquí dins, concretament el S99tomcat, i com que hi ha un enllaç, realment s'executarà /init.d/tomcat (l'opció start que hi ha dins del script tomcat):

case $1 in
start)
sh /usr/share/tomcat6/bin/startup.sh

Zona d'administració del Tomcat:

NOTE: For security reasons, using the administration webapp is restricted to users with role "admin". The manager webapp is restricted to users with role "manager". Users are defined in $CATALINA_HOME/conf/tomcat-users.xml.

Modificar el fitxer tomcat-users.xml, i ficar els logins i pwd que poden entrar com a administradors. Per ex (més exemples en l'equivalent de Windows)

<tomcat-users>
  <user username="admin" password="admin" roles="admin,manager" />
</tomcat-users>

reinciar: sutdown.sh i startup.sh i ja puc entrar en la zona d'administració

Quant a les variables d'entorn[modifica]

Dins del directori /bin, a part del startup.sh i shutdown.sh, hi ha el script catalina.sh, que és molt important perquè de fet el startup.sh el crida. Aquí es veu quines són les variables d'entorn que han d'estar especificades (n'hi ha d'obligatòries i opcionals). Les obligatòries són CATALINA_HOME, JAVA_HOME i JRE_HOME.

Quant a les variables d'entorn, recordem que:

  • si a la línia de comandes fem export JAVA_HOME=... només serà vàlid per a la sessió actual. Quan reiniciem la màquina la informació es perd.
  • si fiquem una variable d'entorn amb export a ~/.bashrc només és vàlid per a l'usuari que executa. Recordem que .bashrc és un script que s'executa a l'inici associat a l'usuari que inicia la sessió.
  • el script /etc/bash.bashrc és es script d'inici per a les sessions que s'inicien en el shell.
  • si volem que les variables d'entorn siguin globals, podem editar /etc/environment (a Ubuntu) o /etc/profile
  • ~/.bashrc s'executa després de /etc/environment, de manera que podria modificar a posteriori alguna variable d'entorn de les que està definida a /etc/environment.

Actualment a /etc/environment tinc:

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"
LANG="es_ES.UTF-8"
CATALINA_HOME=/usr/share/tomcat6  
CATALINA_BASE=/usr/share/tomcat6  
CATALINA_OPTS=-server -Xms384M -Xmx512M
ANT_HOME=/usr/share/ant
JAVA_HOME=/usr/lib/jvm/java-6-sun