En esta capsula vamos a ver una solución a cómo podemos utilizar los lenguajes de programación PHP y Java en el mismo servidor.

Para ello vamos a utilizar PHP/Java Bridge, que nos permitirá conectar un motor de script, en este caso PHP, con una máquina virtual Java.

Instalación de Tomcat:

Para instalar Tomcat debemos ejecutar los siguientes comandos:

Cuando termine la instalación podemos empezar a configurar nuestro Tomcat, si no queremos tocar nada se puede dejar la configuración que viene por defecto y saltarse estos pasos.

Podemos modificar el archivo tomcat.conf para modificar la memoria máxima que puede utilizar Tomcat.

Buscamos la línea JAVA_OPTS y, por ejemplo, la podemos cambiar por la siguiente:

También se puede modificar el puerto de Tomcat. Para cambiarlo hay que modificar el archivo server.xml.

Y modificando el valor de port ya tendremos un puerto distinto.

Una vez terminada la configuración, reiniciamos el servicio para que Tomcat para que se cargue la nueva configuración.

Si hasta ahora ha ido todo correcto ya podemos acceder a nuestro Tomcat poniendo la IP del servidor y el puerto, en mi caso será http://127.0.0.1:8080/ 

 

Para poder administrar Tomcat debemos instalar el paquete tomcat7-admin, nos instalará dos aplicaciones. “Manager webapp”, que nos permitirá gestionar todas las aplicaciones y “Host-manager”, que permite configurar el Tomcat.

También podemos instalar la documentación de Tomcat con tomcat7-docs.

Otro paquete interesante es tomcat7-examples, que instala una aplicación con ejemplos de las distintas funcionalidades de Tomcat.

Ahora vamos a necesitar un usuario para poder acceder al gestor de aplicaciones. Debemos modificar el archivo tomcat-users.xml.

Dentro de la etiqueta <tomcat-users> debemos añadir la siguiente línea.

En roles podemos especificar los apartados donde va a tener acceso el usuario, en el ejemplo vamos a indicar que tenga acceso al manager y al host-manager.

 

Para que los cambios tengan efecto debemos reiniciar el servicio de Tomcat.

Desde la URL http://127.0.0.1:8080/manager/html vamos a poder acceder al gestor de aplicaciones.

Instalación de PHP:

Para poder ejecutar código PHP vamos a tener que instalar los siguientes paquetes:

 

Instalación de PHP/Java Bridge:

Primero vamos a descargar el archivo war, que será con el que instalaremos la base de la aplicación.

Desde el siguiente enlace vamos a tener una lista de todas las versiones de PJ Bridge (https://sourceforge.net/projects/php-java-bridge/files/Binary%20package/).

Accedemos a la versión que queramos haciendo clic sobre el nombre y descargamos el archivo .war.

A continuación accedemos al gestor de aplicaciones y buscamos el apartado “Archivo WAR a desplegar”, seleccionamos el archivo que acabamos de descargar y lo desplegamos.

 

En la lista de las aplicaciones se nos habrá creado una nueva con el nombre del archivo war que hemos  descargado.

Si hacemos clic sobre su nombre podemos acceder a la aplicación.

Si la base de PHP/Java Bridge se ha instalado correctamente nos aparecerá una página como la siguiente.

 

Ahora vamos a probar a crear una clase Java y ejecutarla desde PHP.

Para crear el archivo jar necesitamos instalar las herramientas de Java.

 

En el directorio del usuario hemos creado una carpeta a parte, llamada”jarclass”, para realizar los siguientes pasos y no tener todos los archivos mezclados.

A continuación vamos a crear, dentro de un directorio HelloWorld la clase Main.java. Haremos que imprima un simple mensaje, como “Hello world”.

En el directorio jarclass vamos a crear un archivo llamado Manifest.txt para decirle cuál será la clase principal, también podemos añadir la versión por si queremos llevar un control de versiones.

 

A continuación vamos a compilar nuestra clase Java en un archivo .class.

Comprobamos que la clase se haya compilado correctamente. Al ejecutar el siguiente comando debe de mostrarnos el mensaje “Hello world”.

Si lo anterior funcionó todo correctamente podemos crear ya nuestro archivo Main.jar.

Al comando jar le especificamos el nombre que tenga el archivo que vamos a crear, después le indicamos el Manifest, y finalmente le indicamos la clase que debe incluir.

Probamos que el archivo jar funcione correctamente.

Para incluir clases de Java en el PHP/Java Bridge debemos añadir el archivo jar en el directorio:

Aquí ya hemos incluido el archivo jar que hemos generado en nuestra aplicación PJ Bridge.

Ahora en la raíz de la aplicación, junto al index.php, podemos crear un archivo llamado, por ejemplo, “hola.php”, donde vamos a ejecutar la clase Java desde PHP.

Solamente debemos incluir el archivo Java.inc. Y así ya podremos llamar la clase HelloWorld.Main.

Una vez realizados estos pasos podemos comprobar como realizando la llamada desde el navegador al fichero .php, este va ha mostrar el mensaje “Hello world” que es la funcionalidad detallada en la clase de Java que hemos definido.