View this PageEdit this PageUploads to this PageVersions of this PageHomeRecent ChangesSearchHelp Guide

Generar un chroot debian5 con el tomcat

Copiar el chroot desde servsic a servvent


1. Se para el tomcat de servsic. Como root, en servsic
 /debian5_i386/tomcat-stop.sh

2. Se prepara el socket-upipe en servvent. Como root, en servvent
cd /
socket-upipe-server 10000 | tar -xzf -


3. Se copia desde servsic. En otra ventana, como root, en servsic
cd /
tar -cf - debian5_i386 | gzip -1 | socket-upipe-client 16.0.62.10 10000


4. En servvent se para el tomcat actual
/etc/init.d/tomcat stop

5. En servvent se prepara el nohup.out y se arranca el nuevo tomcat
cd /debian5_i386
rm -f nohup.out
ln -s dev/null nohup.out
/debian5_i386/tomcat-start.sh


6. Se hace que las script de arranque/parada del sistema arranque el tomcat del chroot:
mv /etc/init.d/tomcat /etc/init.d/tomcat.$(date "+%Y%m%d")
cat > /etc/init.d/tomcat <<'EOF'
#!/bin/bash
### BEGIN INIT INFO
# Provides:          tomcat
# Required-Start:    $remote_fs $syslog
# Required-Stop:     $remote_fs $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Apache tomcat
### END INIT INFO
# /etc/init.d/tomcat
#

if [ "m$1" == "mstop" ] || [ "m$1" == "mrestart" ] ; then
  /debian5_i386/tomcat-stop.sh
fi
if [ "m$1" == "mstart" ] || [ "m$1" == "mrestart" ] ; then
  /debian5_i386/tomcat-start.sh
fi
EOF
chmod 755 /etc/init.d/tomcat



Copiar el chroot desde uiharu a servsic (16.0.59.14):


En una ventana, en uiharu, como usuario dario:
ssh metro@main1 -L 2222:16.0.59.14:22


En otra ventana de uiharu, como root (aquí puando pide password hay que poner la de root de servsic):
cd /src
rsync -av -e 'ssh -p 2222' debian5_i386 root@localhost:/
rsync -av -e 'ssh -p 2222' context.xml.metro root@localhost:/debian5_i386/home/apache-tomcat-8.0.18/conf/context.xml


Para actualizar de la 8.x a la 9.0.37, los rsync en uiharu son:
cd /src/debian5_i386
rsync -av -e 'ssh -p 2222' *9.0.37* root@localhost:/debian5_i386/


Para el caso de que se esté instalando la 9.0.37, hay que hacer adicionalmente, como root en servsic:
cd /debian5_i386/
cd home
tar -xzf ../apache-tomcat-9.0.37.tar.gz
cd ../usr/share
ln -s ../../home/apache-tomcat-9.0.37 .
cd ../../home/apache-tomcat-9.0.37
cat ../apache-tomcat-8.0.18/go.sh | sed "s/8.0.18/9.0.37/g" > go.sh
chmod 755 go.sh 
cd ../..
sed -i "s/8.0.18/9.0.37/g" etc/init.d/tomcat
/bin/cp tomcat-users.xml.9.0.37 home/apache-tomcat-9.0.37/conf/tomcat-users.xml
/bin/cp context.xml.metro.9.0.37 home/apache-tomcat-9.0.37/conf/context.xml
/bin/cp context.xml.meta-inf.9.0.37 home/apache-tomcat-9.0.37/webapps/host-manager/META-INF/context.xml
sed -i "s:/src:/:g" /debian5_i386/go* /debian5_i386/tomcat*sh
sed -i "s/8080/8888/g" /debian5_i386/home/apache-tomcat-9.0.37/conf/server.xml
sed -i "s/allow=\(.\).*\(.\) /allow=\1.*\2 /g" home/apache-tomcat-9.0.37/webapps/manager/META-INF/context.xml home/apache-tomcat-9.0.37/webapps/host-manager/META-INF/context.xml
cp *jar home/apache-tomcat-9.0.37/lib/


Por último borramos el SICO-MIS (sólo funciona en SICO), ajustamos el path del directorio del chroot en las cripts de arranque y cambiamos el puerto (el 8080 está usado por oracle en los servxxx). Para ello, en servsic, como root:
cd /debian5_i386
rm -rf home/apache-tomcat-8.0.18/webapps/SICO-MIS/
cd home/apache-tomcat-8.0.18/work/Catalina/localhost/
rm -rf SICO-MIS/
cd /debian5_i386
sed -i "s:/src:/:g" /debian5_i386/go* /debian5_i386/tomcat*sh
sed -i "s/8080/8888/g" /debian5_i386/home/apache-tomcat-8.0.18/conf/server.xml


NOTA: Si esa máquina no tiene permiso en los hojaruta, hay que editar los ficheros /etc/postgresql/8.1/main/pg_hba.conf u /etc/postgresql/8.3/main/pg_hba.conf de los hojaruta para añadir permisos. Suponiendo que la máquina a autorizar sea servsic(16.0.59.14), la línea a añadir al pg_hba.conf de todos los hojaruta es:
host    all         all         16.0.59.14      255.255.255.255     trust all


Los hojaruta a modificar son:
16.0.77.61 hojaruta01
16.2.77.11 rhojaruta01
16.0.77.62 hojaruta02
16.2.77.12 rhojaruta02
16.0.77.76 hojaruta03
16.2.77.13 rhojaruta03
16.0.77.64 hojaruta04
16.2.77.14 rhojaruta04
16.0.77.65 hojaruta05
16.2.77.15 rhojaruta05
16.0.77.66 hojaruta06
16.2.77.16 rhojaruta06
16.0.77.77 hojaruta07
16.2.77.17 rhojaruta07
16.0.77.78 hojaruta08
16.2.77.19 rhojaruta08
16.0.77.79 hojaruta09
16.2.77.20 rhojaruta09
16.0.77.80 hojaruta10
16.2.77.22 rhojaruta10
16.0.77.71 hojaruta11
16.2.77.24 rhojaruta11
16.0.77.81 hojaruta12
16.2.77.25 rhojaruta12
16.0.77.67 hojaruta_este
16.2.77.18 rhojaruta_este
16.0.77.70 hojaruta_norte
16.2.77.23 rhojaruta_norte



Cómo generar el debian5_i386 desde cero usando como plantilla a chibiko


El siguiente procedimiento se ha hecho en uiharu, como root:

cd /src
debootstrap --arch=i386 --no-check-gpg lenny debian5_i386 http://archive.debian.org/debian/
cd debian5_i386/
mv etc/resolv.conf etc/resolv.conf.disabled
ssh root@chibiko "cd / && tar -cf usr/share/apache-tomcat-8.0.18 home/apache-tomcat-8.0.18 etc/*/*tomcat* | gzip -1" | tar -xzf -


Y luego se han añadido los ficheros adjuntos a la página:
cd /src
cd debian5_i386/
for i in LEEME go.2.sh.root tomcat-start.2.sh tomcat-stop.2.sh context.xml.metro chroot coreutils_5.96-5_amd64.deb ; do wget http://3.0.1.46:8000/HowTo/uploads/345/$i -O $i ; done
mv go.2.sh.root go.sh.root
mv tomcat-start.2.sh tomcat-start.sh
mv tomcat-stop.2.sh tomcat-stop.sh
chmod 400 context.xml.metro
chmod 755 chroot tomcat-start.sh tomcat-stop.sh go.sh.chroot


Por último se ha activado que sea un java "headless" (si no, falla al generar los excel)
cd /src
cd debian5_i386
sed -i "s@java -Djava.util.logging.config@java -Djava.security.egd=file:///dev/./urandom -Djava.net.preferIPv4Stack=true -Djava.net.preferIPv4Addresses=true -Duser.timezone=Europe/Madrid -Djava.awt.headless=true -Djava.util.logging.config@g" home/apache-tomcat-8.0.18/go.sh


NOTA: Prueba adicional; se ha instalado el vnc4server para probar sin headless:
cd /src
cd debian5_i386
./go.sh.root
apt-get clean
apt-get install vnc4server
vnc4passwd
# pide un passwd, responder la antigua de root de las OPs de metro
exit


Cómo actualizar el tomcat a la 9.0.37


Se sigue este tutorial (para la configuración también es buneo entender lo de Understanding Tomcat connectors y tomcat migration guide):

En uiharu, como root:

cd /src/debian5_i386
wget http://apache.uvigo.es/tomcat/tomcat-9/v9.0.37/bin/apache-tomcat-9.0.37.tar.gz
cd home
tar -xzf ../apache-tomcat-9.0.37.tar.gz
cd ../usr/share
ln -s ../../home/apache-tomcat-9.0.37 .
cd ../../home/apache-tomcat-9.0.37
cat ../apache-tomcat-8.0.18/go.sh | sed "s/8.0.18/9.0.37/g" > go.sh
chmod 755 go.sh 
cd ../..
sed -i "s/8.0.18/9.0.37/g" etc/init.d/tomcat
sed -i "s/allow=\(.\).*\(.\) /allow=\1.*\2 /g" home/apache-tomcat-9.0.37/webapps/manager/META-INF/context.xml home/apache-tomcat-9.0.37/webapps/host-manager/META-INF/context.xml
cp tomcat-users.xml.9.0.37 home/apache-tomcat-9.0.37/conf/tomcat-users.xml
cp context.xml.meta-inf.9.0.37 home/apache-tomcat-9.0.37/webapps/host-manager/META-INF/context.xml
cp context.xml.9.0.37 home/apache-tomcat-9.0.37/conf/context.xml
# Para metro es
#cp context.xml.metro.9.0.37 home/apache-tomcat-9.0.37/conf/context.xml
cp *jar home/apache-tomcat-9.0.37/lib/



Attachs:


LEEME
go.sh.root
tomcat-start.sh
tomcat-stop.sh
context.xml.metro
chroot
coreutils 5.96-5 amd64.deb
go.sh.root
tomcat-start.sh
tomcat-stop.sh
go.sh.root
tomcat-start.sh
tomcat-stop.sh