viernes, 17 de mayo de 2013

Configurar Apache como "proxy" de Tomcat.



Actualmente, cuando instalamos un tomcat, queremos ponerle un apache como “proxy”, el apache recibe las peticiones en el puerto 80 y las redirige a tomcat.

Para ello, instalaremos un apache y un tomcat, y haremos sus configuraciones independientes para que funcionen * y como siempre utilizar las guías básicas de bastionado para que sean seguras.

Una vez hecho eso, habilitaremos los siguientes módulos en apache:

proxy_ajp.load
proxy.conf
proxy.load

Para ello, primero revisaremos que no están ya habilitados.
En la ruta /etc/apache2/ tenemos 2 directorios llamados:

mods-available
mods-enabled

En mods-enabled se encuentran los módulos ya habilitados, si no están los nuestros, iremos al directorio mods-available y los habilitaremos, el comando a utilizar es:

a2enmod [nombre_módulo]

Cada vez que lo habilitemos, nos pedirá reiniciar el apache para activarlos, por lo que cuando finalicemos con todos los módulos, reiniciaremos el apache.

Una vez reiniciado, verificamos en mods-enabled que están nuestros módulos.

Ahora pasaremos a la configuración de la “conexión” entre apache y tomcat, para ello, simplemente en el directorio /etc/apache2/sites-available crearemos el fichero del proyecto que necesitemos y le añadiremos la siguiente información:

       ServerName moni.mandarina.com
       ProxyPass /  ajp://localhost:8009/
       ProxyPassReverse / ajp://localhost:8009/
       ErrorLog ${APACHE_LOG_DIR}/monimandarina_error.log
       LogLevel warn
       CustomLog ${APACHE_LOG_DIR}/monimandarina_access.log combined

Hemos creado un vhost con la url a la que debe responder el servicio, con las líneas ProxyPass y ProxyPassReverse, le estamos indicando que “dirija” la información a tomcat.
Haremos un link simbolico desde sites-enabled hacía el vhost que acabamos de crear.

Ahora recargaremos la información del apache

#/etc/init.d/apache2 reload

Si todo está OK y tenemos nuestras configuraciones bien hechas, deberían funcionar correctamente las aplicaciones de tomcat sobre el puerto 80 y a través de Apache.


PD: Estoy aprendiendo a usar Apache, es posible que me falte algo en la configuración, pero juraría que no.

jueves, 16 de mayo de 2013

Chuleta: Al reiniciar Mysql se queda pensando...


Tenemos que reiniciar el mysql y se queda "cuajado" (como yo digo), vamos al log, y nos encontramos este "error"/"warning":

kernel: [23231693.108005] type=1400 audit(1368692432.585:69): apparmor="STATUS" operation="profile_replace" name="/usr/sbin/mysqld" pid=3703 comm="apparmor_parser"
init: mysql main process (3707) terminated with status 1
init: mysql main process ended, respawning
init: mysql post-start process (3708) terminated with status 1

y sueltas un....mecagoentu****madre la que me has liado!

Que nooo...que no es culpa de MySQL, que es culpa tuya!!

Revisa el fichero /etc/mysql/my.cnf y comprueba que el apartado bind-address no tiene ninguna ip extraña.

Debería tener o 0.0.0.0, localhost, 127.0.0.1, su ip.

Si no es así, pon lo que mas te convenga.

En caso de que esta, no sea tu solución, revisa otros posts como https://www.google.es/search?q=init%3A+mysql+post-start+process+(3708)+terminated+with+status+1&aq=f&oq=init%3A+mysql+post-start+process+(3708)+terminated+with+status+1&aqs=chrome.0.57j58.257j0&sourceid=chrome&ie=UTF-8