Instal·lació Tomcat
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
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