- IntroducciónPara instalar Apache en Windows, tenemos disponible Apache Lounge.Apache Lounge nos ofrece versiones de Apache para actualizar, actualmente compilados con versiones actuales de OpenSSL para mejor seguridad. Esto es preferible a apache.org porque Windows construye apache.org sin mantener las actualizaciones de seguridad de OpenSSL.
  1. Requisitos
  2. Instalación Apache
  3. Instalación PHP
  4. Posibles errores
  5. Vídeo externo

- Requisitos
Requisitos mínimos para versiones de Windows Vista SP2, Windows 7 SP1, Windows 8 / 8.1, Windows Server 2008 R2 SP1, Windows Server 2012 / R2, no es compatible con Windows XP y Windows Server 2003.Se usaran las modulos VC9, VC10 y VC11.

- Instalación Apache1 - Nos dirigimos a http://www.apachelounge.com/download/ y descargamos la versión de nuestro sistema 32/64 Bits.Comprobar si tenemos instalado Visual C++ redistribuible para Visual Studio 2012 si no lo tenemos vamos a la siguiente dirección http://www.microsoft.com/en-us/download/details.aspx?id=30679. Una vez descargado instalaremos la versión x86 o x64 en función de nuestro sistema.
2 - Descomprimir el fichero Zip en el escritorio , arrastrar la carpeta Apache24 al directorio raiz C:/.
3 - Siguiente, instalar Apache como un servicio para Windows. Abrir consola de comandos y dirigirnos al directorio C:/Apache24/bin.
cd c:\Apache24\bin

Instalamos el servicio con:
httpd.exe -k install

4 - Si tu obtienes una caja de pop-up del firewall, pulsa en desbloquear Apache.
5 - Ahora Apache es un servicio normal de Windows. Disponemos de 3 maneras para arrancar el servicio de Apache.

  • Nos dirigimos al directorio C:/Apache24/bin y ejecutamos Apachemonitor.exe e iniciaremos el servicio.
  • Ejecutamos services.msc en windows, buscamos el servicio Apache y lo iniciamos.
  • Nos dirigimos al directorio C:/Apache24/bin y ejecutamos la siguiente linea por consola.
httpd.exe -k runservice

6 - Navegar a http://localhost para ver la pagina por defecto.

- Instalación PHP


1 - Descargamos la version 5.X desde http://windows.php.net/download/
Nota: descargar la versión VC11 x86 Thread Safe o VC11 x64 Thread Safe si tu necesitas arrancar PHP como modulo.
Actualización por Jorge Carrasco 05/10/2015
NOTA: la última versión que aparece de Apache es la VC14 NO funciona correctamente. Si la descargais, al intentar instalarla os saltará esta ventana de error:

W2008ApacheVCRUNTIME140jorge.png

El motivo es que aun no funciona correctamente esta nueva versión y al parecer no encuentra esa librería. Y aunque la busques en internet y creas encontrarla y haberla podido instalar seguirá saltando el error, pues a dia de hoy aun no está solucionado.
Para ahorrarse problemas bajense la versión anterior.

Actualización por Joaquín Roiz Pagador 05/10/2015
NOTA: a la hora de elegir si tenemos o no una versión de 32 o 64 bits de php, conviene coincidir correctamente con nuestra versión de apache descargada.
En el visor de sucesos de windows nos puede mostrar el error típico de búsqueda de módulo incorrecto por ser una aplicación win32 si tenemos un sistema y apache de 64 bits.
Error encuestión al ejecutar httpd -S:
"httpd: Syntax error on line 568 of C:/Apache24/conf/httpd.conf: Cannot load c:/php5/php5apache2_4.dll into server: The specified module could not be found. c:\Apache24\bin"
Bajaremos la última versión de 64 bits de php para que esto quede solventado.

2 - Creamos la carpeta php5 en el directorio raíz C:\ y extraemos el archivo comprimido en el.

3 - Vamos a la carpeta de php y edita el fichero php.ini-production. Busca la extension_dir y cambia la propidad local de ext. Guardamos el fichero php.ini.
extension_dir = "C:\php5\ext"

4 - Descargaremos los módulos de apache de la siguiente dirección https://www.apachelounge.com/download/VC11/modules/modules-2.4-win64-VC11.zip .Extraemos el modulo mod_fcgid-2.3.9, cogemos el fichero .so y lo incluimos en la carpeta c:\apache24\modules

5 - Abrimos una linea de comandos e insertamos la siguiente linea con esto comprobamos los módulos insertados en php:
php -m

6 - Añadiremos las siguientes lineas al fichero de configuración de apache en c:\Apache24\conf\httpd.conf
LoadModule fcgid_module modules/mod_fcgid.so
 
<IfModule fcgid_module>
   FcgidIOTimeout 40
   FcgidConnectTimeout 10
 
   FcgidMaxProcesses 300
   FcgidMaxProcessesPerClass 300
 
   FcgidOutputBufferSize 64
   ProcessLifeTime 0
   FcgidMaxRequestsPerProcess 0
   FcgidMinProcessesPerClass 0
   FcgidFixPathinfo 0
   FcgidProcessLifeTime 0
   FcgidZombieScanInterval 20
   FcgidMaxRequestLen 536870912
   FcgidIOTimeout 120
   FcgidTimeScore 3
 
   FcgidPassHeader Authorization
 
   FcgidInitialEnv PHPRC "C:\\php5"
   FcgidInitialEnv PATH "C:\\php5;C:\\WINDOWS\\system32;C:\\WINDOWS;C:\\WINDOWS\\System32\\Wbem;"
   FcgidInitialEnv SystemRoot "C:\\Windows"
   FcgidInitialEnv SystemDrive "C:"
   FcgidInitialEnv TEMP "C:\\WINDOWS\\TEMP"
   FcgidInitialEnv TMP "C:\\WINDOWS\\TEMP"
   FcgidInitialEnv windir "C:\\WINDOWS"
   <Files ~ "\.php$">
      Options Indexes FollowSymLinks ExecCGI
      AddHandler fcgid-script .php
      FcgidWrapper "C:/php5/php-cgi.exe" .php
   </Files>
</IfModule>

7 - Edita la linea de tu php.ini-production con:
cgi.fix_pathinfo = 1

8 - Cargaremos de igual manera el modulo php en c:\Apache24\conf\httpd.conf
LoadModule php5_module "c:/php5/php5apache2_4.dll"
AddHandler application/x-httpd-php .php
# configure the path to php.ini
PHPIniDir "c:/php5"

9 - Ahora comprueba tu fichero de configuración y ver si todo se encuentra cargado nos dirigimos a c:\Apache24\bin. Abre una linea de comandos e introduce:
httpd -S

10 - Si no da ningún tipo de error tendrás php instalado correctamente con fast_CGI.

- Posibles errores
  • Posible error de escucha en el puerto 80.
    • Cambiaremos el puerto por defecto en este caso 80 por el deseado.
    • navegar hasta c:\Apache24\conf y editar el fichero httpd.conf con la siguiente linea:


listen 80

    • La cambiaremos por el puerto que deseamos por ejemplo el 8080.
  • Posible error con el firewall de windows.
    • Agregar regla de entrada con el nombre Apache indicando el puerto de escucha.
    • Si el caso anterior no diera resultado desactivar firewall por completo.
  • Posible error con los permisos de directorio sobre Apache24.
    • Navegamos hasta el directorio raíz donde tendremos la carpeta Apache24, botón derecho propiedades nos vamos a la pestaña seguridad y le daremos los permisos de servicio de red.

- Vídeo de contenido externo