Montar un Tomcat

13 marzo 2009

1. ¿Qué necesitamos?  apache-tomcat-5.5.27.tar.gz y jdk-1_5_0_15-linux-i586.bin

2. Nos creamos un directorio donde vayamos a tener el tomcat (preferiblemente un volumen lógico montado en /opt/tomcat).

3. Tecleamos:
tar -zxvf apache-tomcat-5.5.27.tar.gz
mv apache-tomcat-5.5.27/* /opt/tomcat/
rm -rf apache-tomcat-5.5.27

4. Creamos un usuario:
useradd user_tomcat

5. Lo hacemos propietario de /opt/tomcat/
chown user_tomcat:group_user_tomcat -R /opt/tomcat

6. Ponemos esto:
export JAVA_HOME=/opt/java
export PATH=/usr/local/SSI/bin:$JAVA_HOME/bin:$PATH
en el .bash_profile del usuario o bien en el /etc/profile, según nos interese.

7. Le damos permiso de usuario al jdk:
chmod u+x jdk-1_5_0_15-linux-i586.bin

8. Lo ejecutamos:
./jdk-1_5_0_15-linux-i586.bin

9. Creamos un enlace simbólico:
ln -s /opt/jdk1.5.0_15/ /opt/java

10. Con el usuario user_tomcat ejecutamos el startup.sh, que está en /opt/tomcat/bin

11. Para probar que todo ha ido bien, ejecutamos:
telnet ip 80

12. Podemos ver el catalina.out para ver que ha ido todo correctamente.

Javi.


chkconfig: el servicio xxx no soporta chkconfig

10 marzo 2009

Cuando tenemos un servicio nuevo y queremos introducirlo en los niveles de arranque con chkconfig, lo que tenemos que hacer es crearnos un script en el directorio /etc/init.d (el cual es un enlace simbólico a /etc/rc.d/init.d).

La estructura del script debe ser la correcta, como ejemplo podemos mirar cualquiera de los scritps que están ya en ese directorio.
Para solucionar el error: «el servicio xxx no soporta chkconfig» lo que hay que hacer es poner al inicio del script, después de la primera línea, lo siguiente:
#chkconfig: niveles posición_al_iniciar posición_al_apagar
donde:
niveles: niveles donde vamos a arrancar el servicio.
posición_al_iniciar: es un número de dos cifras con el que le decimos en que posición queremos que arranque el servicio con respecto a los otros.
posición_al_apagar: es un número de dos cifras con el que le decimos en qué posición queremos que pare el servicio con respecto a los otros.
Finalmente, podría quedar algo así:
#chkconfig: 345 99 03

En último lugar bastaría con teclear estas dos instrucciones:
#chkconfig – – add nombre_servicio
#chkconfig – – level 345 nombre_servicio on
donde 345 son los niveles en los que queremos que se inicie el servicio.

Esto nos creará un enlace simbólico en /etc/rc.d/rc0.d (donde el 0 se sustituye por cada uno de los niveles que le hayamos puesto en el chkconfig), cuyo nombre empezará por una K (cuando para) o una S (cuando inicia) seguido de la posición que le hayamos puesto respectivamente.

Javi.


ilo – virtual media

5 marzo 2009

¿Se puede montar una imagen en el virtual media de la ilo a través de un script? La respuesta es sí.
Se puede montar tanto a través del floppy como del cdrom.
El primer problema que me encontré fue el siguiente:

cpqlocfg: Response received from de RIB: (142):

<?xml version=»1.0″?>

<RIBCL VERSION  =»2.22″>

<RESPONSE

STATUS=»0x0048″
MESSAGE=’The Virtual Media image is invalid’
/>

</RIBCL>

Si usas CLP

Status=2
status_tag=COMMAND PROCESSING FAILED
error_tag=COMMAND SYNTAX ERROR
Invalid Virtual Media image file.

¿Cómo podemos solucionar este error?
Lo primero que he hecho ha sido montarme un servidor apache (explicado en anteriores post), el cuál está en la misma subred que las ilos a tratar. En él he puesto la imagen en cuestión. Una vez hecho esto, en el fichero xml que se le pasa a las ilos he introducido la línea:

INSERT_VIRTUAL_MEDIA DEVICE=»CDROM» IMAGE_URL=»http://nombre_servidor_apache/nombre_imagen.iso»/>

En donde se puede cambiar CDROM por FLOPPY y la extensión de la imagen a .img.
Posteriormente, entras vía ssh a la ilo (como también se ha explicado en el post anterior) y tecleas el comando necesario para conectar el virtual media:

vm cdrom set connect

Una vez hecho esto, ya tendremos nuestra imagen montada y lista para su uso como si estuviera montada a través del applet.

Javi. 


Confianzas ssh

5 marzo 2009

Digamos que queremos acceder desde un servidor a una serie de clientes, y lo hemos hecho a través de confianzas ssh, es decir, hemos generado en el servidor una clave pública y otra privada, y la publica la hemos exportado a los clientes.

Para acceder a estos clientes, una forma de hacerlo es:

desde windows: abrir una consola de comandos y escribir

ssh usuario@ip_cliente

Es posible que nos pregunte si queremos incluirlo en el fichero known_hosts, le decimos que si y a partir de ahora podremos entrar directamente a nuestro cliente desde el servidor simplemente tecleando lo anterior.

Y ahora nos preguntamos, si tenemos un nuevo servidor y queremos que también pueda acceder a esos clientes de la misma forma y no tenemos tiempo de ir cliente por cliente metiendo la clave pública del nuevo servidor, ¿cómo lo podemos hacer?

Pues de una manera muy sencilla, supongamos que el antiguo servidor es un servidor windows y el nuevo un linux, los pasos a seguir son los siguientes:

  1. Copiamos la clave privada del servidor windows, la cual se debe de encontrar en:C:\Documents and Settings\Administrator\.ssh y el fichero es id_rsa (Administrator se sustituirá por el usuario propietario de la clave privada).
  2. La pegamos en el servidor linux en la ruta /root/.ssh/
  3. Copiamos el fichero known_hosts que se encuentra en la misma ruta y lo pegamos en /root/.ssh/ (Nota: en nuestro caso somos root, si fuera otro usuario el que establece las confianzas habría que ir a su home y ponerla dentro de su directorio .ssh)

Y ya está, solo tendremos que teclear ssh usuario@ip_cliente y tendremos acceso a la máquina.

Javi.