Instalando manualmente Tomcat, PHP y Httpd Lounge


Objetivo

Ya he tratado este tema anteriormente usando los instaladores basados en asistentes; ahora vamos a instalar estas mismas herramientas de manera manual.
Como el PHP para el Apache httpd no está produciendo nuevas versiones, ha surgido la alternativa de Httpd Lounge que es compatible, además de poder trabajar con Tomcat.

Las herramientas que vamos a utilizar son:

La instalación la realicé en una máquina con sistema operativo Windows 7 de 32 bits.
Al igual que la entrada anterior se va a realizar la instalación en:

C:\ServerWeb\

Httpd Lounge

Para instalar Httpd Lounge previamente debemos instalar las librerías adecuadas Microsoft Visual C++ 2010 SP1 Redistributable Package que en mi caso es x86.

Yo descargué la versión de Httpd 2.4.2 (httpd-2.4.2-win32.zip) y esta carpeta la descomprimí en:

C:\ServerWeb\Httpd_2.4.2\

como puede verse sin espacios.

Arrancamos la consola CMD en modo administrador como lo indica la siguiente imagen…

Nos vamos a la ruta

C:\ServerWeb\Httpd_2.4.2\conf\

En esta carpeta buscamos el archivo llamado httpd.conf y procedemos a editarlo según nuestros requerimientos.

Editamos el parámetro ServerRoot actualizándolo a la ruta real de instalación.

ServerRoot "c:/ServerWeb/Httpd_2.4.2"

Editamos el parámetro ServerAdmin con la dirección de correo electrónico del administrador del servidor.

ServerAdmin joseluisbz@gmail.com

Cambiamos el parámetro ServerName con el nombre del servidor y el puerto a usar.

ServerName ServerWeb:80

Editamos los parámetros DocumentRoot y Directory.

DocumentRoot "C:/ServerWeb/Httpd_2.4.2/htdocs"
<Directory "C:/ServerWeb/Httpd_2.4.2/htdocs/">

Ahora procederemos con la instalación del servidor como un servicio de Windows, para ellos nos ubicamos en la carpeta donde se encuentran los ejecutables.

C:\ServerWeb\Httpd_2.4.2\bin\

Procedemos a iniciar la instalación, modificando el nombre del servicio e indicando la ubicación del archivo del cual debe tomar la configuración.

httpd.exe -k install -n "Httpd2.4.2" -f "c:\ServerWeb\Httpd_2.4.2\conf\httpd.conf"

no es necesario incluir la extensión “.exe”
Vemos que no presentó errores, ahora vamos a iniciar el servicio.

httpd.exe -k start -n "Httpd2.4.2"

Podemos verificar que el servidor está en funcionamiento:

Desinstalando
Si por algún motivo deseamos desinstalar el servidor Httpd, procedemos a detenerlo:

httpd.exe -k stop -n "Httpd2.4.2"


y luego damos la instrucción para desinstalarlo:

httpd.exe -k uninstall -n "Httpd2.4.2"

PHP

Para que PHP trabaje con Httpd Lounge debe bajarse la versión VC9 x86 Thread Safe, debemos tener cuidado de no confundir con la versión VC9 x86 Non Thread Safe; para este proceso descargué la versión de PHP 5.4.0 (php-5.4.0-Win32-VC9-x86.zip) y esta carpeta la descomprimí en:

C:\ServerWeb\Php_5.4.0\

como puede verse sin espacios.

Accedemos a las variables del sistema ejecutando sysdm.cpl:

Al abrirse propiedades del sistema seleccionamos opciones avanzadas


Vamos a variables de entorno: En variables de entorno, en la parte inferior en la caja Variables del sistema, seleccionando la variable Path presionamos el botón Editar:
Editamos la variable path y agregamos al final la nueva ruta en donde se encuentra la carpeta de PHP: Podemos ver que la carpeta de PHP trae unos archivos de configuración preestablecidos, copiamos uno de ellos para editar y preservar los originales:

copy php.ini-production php.ini


Editamos el nuevo archivo copiado php.ini modificando el parámetro extension_dir

extension_dir = "C:\ServerWeb\Php_5.4.0\ext"

Para habilitar el rastreo de errores cambiamos el valor de la variable error_log

error_log="C:\ServerWeb\Php_5.4.0\logs\php-errors.log"

Dependiendo de como querramos usar las etiquetas de PHP debemos habilitar o no la opción short_open_tag

short_open_tag = On

Descargamos la librería adecuada para nuestra versión de PHP y Httpd php5apache2_4.dll-php-5.4-win32.zip y la extraemos en el directorio raiz de PHP.
Editamos nuevamente el archivo de configuración httpd.conf de Httpd agregando las líneas que permiten arrancarlo con PHP.

#BEGIN PHP INSTALLER EDITS – REMOVE ONLY ON UNINSTALL
PHPIniDir "C:/ServerWeb/Php_5.4.0/"
LoadModule php5_module "C:/ServerWeb/Php_5.4.0/php5apache2_4.dll"
AddType application/x-httpd-php .php
#END PHP INSTALLER EDITS – REMOVE ONLY ON UNINSTALL

Ahora reiniciamos Httpd para que se pueda usar PHP.

httpd.exe -k restart -n "Httpd2.4.2"


Para probar que PHP está funcionando correctamente creamos dentro de la carpeta htdocs de Httpd un archivo llamado index.php.

<?php phpinfo(); ?>

Se puede probar que PHP está en funcionamiento:

Tomcat

Yo descargué la versión de Tomcat 7.0.27 (apache-tomcat-7.0.27-windows-x86.zip) y esta carpeta la descomprimí en:

C:\ServerWeb\Tomcat_7.0.27\

como puede verse sin espacios.

Tal como se hizo para llegar a Variables del sistema en Variables de entorno, se realizará la adición de una nueva variable llamada JAVA_HOME presionamos el botón Nueva.

A esta variable le asignamos la dirección de la carpeta de instalación del JDK: Una vez hayamos agregado la nueva variable, presionamos el botón aceptar.

Ahora realizaremos unos pequeños cambios opcionales algunos en algunos archivos ubicados en el subdirectorio llamado bin dentro de la carpeta de Tomcat.

Con el fin de que Tomcat arranque de manera silenciosa (sin ventana de consola emergente), cambiamos en el archivo llamado setclasspath.bat la línea set _RUNJAVA

set _RUNJAVA="%JRE_HOME%\bin\javaw"

Para eliminar los espacios en el nombre del servicio (podrá generar conflictos), editamos el archivo service.bat, también editamos el nombre a mostrar del mismo.

set SERVICE_NAME=Tomcat7.0.27
set PR_DISPLAYNAME=Tomcat7.0.27


También se puede modificar la descripción relacionada con el servicio Tomcat:

set PR_DESCRIPTION=Apache Tomcat 7.0.27 Server

Para que el servicio inicie cuando Windows lo hace, modificamos la línea:

"%EXECUTABLE%" //IS//%SERVICE_NAME% --Startup auto


Una vez almacenados los cambios procedemos a realizar el proceso de instalación:

service.bat install

no es necesario incluir la extensión “.bat”
Podemos ver que el servicio efectivamente quedó instalado:
Una manera de arrancarlo por consola CMD es con:

startup.bat

De igual manera se hace necesario el permiso aprobatorio de ejecución:

Ya Tomcat está instalado, ahora vamos a realizar unos cambios que le permita Httpd entender o manejar un archivo con extensión .jsp.

Se debe descargar el connector JK, para Windows 32 se tiene que descargar tomcat-connectors-1.2.37-windows-i386-httpd-2.4.x.zip, de allí se extrae el archivo llamado mod_jk.so y se copia dentro de la carpeta modules de la carpeta de instalación de Httpd.

Dentro de la carpeta conf de la carpeta de instalación de Tomcat creamos una carpeta llamada jk y otra carpeta llamada auto.
Dentro de la carpeta jk creamos un archivo llamado workers.properties cuyo contenido será:

# BEGIN workers.properties
# Definition for Ajp13 worker
worker.list=ajp13
worker.ajp13.port=8009
worker.ajp13.host=localhost
worker.ajp13.type=ajp13
# END workers.properties


Dentro de la carpeta auto creamos un archivo llamado mod_jk.conf con el contenido:

<IfModule !mod_jk.c>
  LoadModule jk_module "C:/ServerWeb/Httpd_2.4.2/modules/mod_jk.so"
</IfModule>
JkWorkersFile "C:/ServerWeb/Tomcat_7.0.27/conf/jk/workers.properties"
JkLogFile "C:/ServerWeb/Tomcat_7.0.27/logs/mod_jk.log"
JkLogLevel emerg
<VirtualHost *:80>
  ServerName localhost
  JkMount /*.jsp ajp13
</VirtualHost>

Tomcat16_mod_jk_AllRemoteIP.conf
De esta manera algún script .jsp podrá ser ejecutado inclusive remotamente, evitándose el inconveniente de mostrar el contenido de dicho script en vez de ejecutarse, como sucede algunas veces aún en el mismo servidor donde se ha instalado Tomcat cuando se accede através de su dirección IP.

Ahora estos cambios se los notificamos a Httpd agregando una línea al final del archivo httpd.conf:

Include "C:/ServerWeb/Tomcat_7.0.27/conf/auto/mod_jk.conf"

Ahora vamos a cambiar predefinida de Tomcat para la publicación .jsp para que sea la misma de Httpd:

<Host name="localhost" appBase="C:/ServerWeb/Httpd_2.4.2"
      unpackWARs="true" autoDeploy="true"
      xmlValidation="false" xmlNamespaceAware="false">
<Context path="" docBase="C:/ServerWeb/Httpd_2.4.2/htdocs"
      reloadable="true" />

Ahora reiniciamos Httpd para que se pueda usar con Tomcat.

httpd.exe -k restart -n "Httpd2.4.2"


y ahora lo arrancamos nuevamente

httpd.exe -k start -n "Httpd2.4.2"


Si no hubo problemas en la elección del módulo mod_jk.so no deberían mostrar mensajes de error.

Para probar que Tomcat está funcionando correctamente creamos dentro de la carpeta htdocs de Httpd un archivo llamado index.jsp.

<html>
<body>
<% out.println("Hola Mundo"); %>
</body>
</html>


Se puede probar que Tomcat está en funcionamiento:

Deteniendo
Para detener Tomcat, procedemos con la instrucción:

shutdown.bat

Desinstalando
Si lol que queremos es desinstalar Tomcat lo hacemos con la instrucción:

service.bat uninstall

Por último podemos hacer unos cambios que permita que se pueda cargar de manera prioritaria los archivos index respectivos, estos cambios se realizan en el archivo httpd.conf a la variable DirectoryIndex

DirectoryIndex index.jsp index.php index.html index.htm


Lo anterior quiere decir que primero intente cargar el archivo “index.jsp”, si no lo encuentra intentará con “index.php” y así en adelante.

Anuncios

Acerca de joseluisbz

Hasta ahora, espero actualizarlo después, ahora no.
Esta entrada fue publicada en Apache, Httpd, JSP, PHP, Server, Servidores Web y etiquetada , , , , , , , , . Guarda el enlace permanente.

3 respuestas a Instalando manualmente Tomcat, PHP y Httpd Lounge

  1. joseluisbz dijo:

    Si tiene algún inconveniente no dude en hacérmelo saber.

  2. steven dijo:

    muchas gracias migo

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s