Hola, hallamos la solución a tu pregunta, has scroll y la encontrarás a continuación.
Solución:
apache
Primero, le recomiendo que lea las Notas específicas de la plataforma de Apache para Windows; explica algunas características específicas de Windows, como la ejecución como un servicio que no tiene en otros sistemas operativos y que probablemente nunca antes haya usado.
Como se menciona en estas notas específicas de la plataforma, Apache no proporciona binarios para Windows, sin embargo, tiene enlaces a varios sitios de terceros que proporcionan binarios, por ejemplo, Apache Lounge.
Desde ese sitio web, podemos descargar la versión de 32 bits (win32) o la de 64 bits (Win64); si su sistema operativo es de 64 bits, siempre debe intentar instalar versiones de software de 64 bits, pero tenga en cuenta que También necesitará usar módulos de 64 bits, eso significa que si solo tiene un módulo de 32 bits, descargue Apache de 32 bits.
Aquí está la versión que usé al escribir esto: Apache 2.4.10 Win64. La última versión cuando se actualizó por última vez esta respuesta: Apache 2.4.38 Win64 (mire la fecha de edición en la parte inferior de la publicación).
Una vez descargado, simplemente extraiga el Apache24
carpeta a la raíz de su disco duro, para que tenga una ruta como C:Apache24bin
.
Abra una ventana de línea de comando (Windows + R y escriba cmd
luego presione Enter), cambie el directorio a C:Apache24bin
y correr httpd.exe
, normalmente no debería imprimir ningún error.
Si aparece un cuadro de diálogo de error que indica que MSVCR110.dll
falta en su sistema, deberá instalar Visual C ++ Redistributable para Visual Studio 2012; como siempre, cuando se le solicite, seleccione la versión de bits adecuada: vcredist_x86.exe
para sistemas de 32 bits y vcredist_x64.exe
para los de 64 bits.
Si recibe un error que dice que no se puede enlazar con el puerto 80, verifique si otra aplicación usa ese puerto; también se sabe que Skype usa los puertos 80 y 443 de forma predeterminada; desmarque “Usar los puertos 80 y 443 como alternativas para las conexiones entrantes” en su configuración de conexión avanzada, reinicie Skype para aplicar los cambios, y luego debería poder iniciar Apache sin problemas.
Una advertencia como Could not reliably determine the server's fully qualified domain name
se puede ignorar por ahora.
El Firewall de Windows puede solicitarle que permita que Apache se comunique en redes específicas, le recomiendo que use la configuración predeterminada: permitirlo en redes domésticas y laborales, pero no en redes públicas / no confiables.
Luego, abra un navegador y busque http://localhost
, si ves una página que dice It works !
entonces significa que su instalación de Apache está funcionando.
Ahora puede detener el Apache que se está ejecutando actualmente presionando Ctrl + C en el símbolo del sistema.
Si recibió una advertencia sobre no poder determinar el nombre de dominio completo del sistema, corríjalo editando C:Apache24confhttpd.conf
y editando el ServerName
variable (ya debería estar allí en un comentario, simplemente descomente y cámbiela):
ServerName
Reemplazar
con el nombre de host del sistema o localhost
.
Finalmente, si desea ejecutar el servidor automáticamente cuando se inicia el sistema (incluso si nadie inicia sesión), deberá ejecutarlo como un servicio; en un nuevo símbolo del sistema elevado (como administrador), escriba:
httpd.exe -k install
Eso es todo, ahora tienes un nuevo servicio en Servicios (Windows + R, luego escribe “services.msc” y luego presiona Enter) llamado “Apache2.4” que puedes controlar como cualquier otro servicio de Windows.
Restringir el acceso de Apache a localhost
solamente – Opcional
Si está configurando esto para fines de desarrollo, desea asegurarse de que nadie, excepto usted, pueda acceder a él, su firewall ya debería encargarse de eso, pero agreguemos otra capa de seguridad diciéndole a Apache que acepte solicitudes de la red local. máquina solamente.
Abra el archivo de configuración de Apache C:Apache24confhttpd.conf
, busque el bloque de directorio predeterminado
.
Al final si es así, debería haber una línea Require all granted
, esto significa que cualquiera puede acceder a este servidor. Vamos a hacer eso Require local
que solo permite el acceso desde la máquina local.
Además, puede decirle a Apache que solo se vincule a la interfaz de bucle invertido, de esa manera, incluso si tanto su firewall como las directivas de control de acceso mencionadas anteriormente fallan, el servidor aún no estará abierto a todo Internet.
Para ello, ubique el Listen
directiva (por defecto está configurado en 80
) y cámbielo a lo siguiente:
Listen 127.0.0.1:80
Listen [::1]:80
La primera línea se explica por sí misma, la segunda es el equivalente de IPv6 de la primera, los corchetes se utilizan en la notación IPv6 para separar la dirección y el puerto.
Guarde el archivo, si ya está ejecutando el servidor, reinícielo para tener en cuenta nuestros cambios, y ahora solo localhost
tiene acceso, todos los demás obtendrán un 403 Forbidden
.
PHP
Le sugiero que lea la documentación oficial de PHP sobre cómo instalarlo en sistemas Windows.
Descargue los últimos binarios de PHP de la página de descarga oficial de PHP para Windows, elija la versión segura para subprocesos que coincida con la versión de bits de su instalación de Apache (x86 para 32 bits, x64 para 64 bits).
La versión no segura para subprocesos es solo cuando se ejecuta como un binario CGI; más información aquí.
La versión que utilicé es esta: PHP 5.6.2 VC11 x64 seguro para subprocesos. La última versión cuando se actualizó por última vez esta respuesta: PHP 7.3.3 VC15 x64 Thread Safe (mire la fecha de edición en la parte inferior de la publicación).
Crea un vacío PHP
carpeta en la raíz de su disco duro, y extraiga el archivo descargado previamente allí, debe tener una ruta como C:PHPext
, de lo contrario hiciste algo mal.
En C:PHP
, cambie el nombre del php.ini-production
o php.ini-development
(dependiendo de lo que quieras) php.ini
.
Abre eso php.ini
archivo, buscar extension_dir = "ext"
y descomente esa línea (elimine la primera ;
). Esto establece el directorio de extensión predeterminado en ext
(que resuelve C:PHPext
y evita tener que anteponer ext/
a todas las rutas de extensión manualmente como en versiones anteriores de esta publicación.
Ahora configure Apache para usar ese PHP, editando C:Apache24confhttpd.conf
– después de todo el LoadModule
líneas, agregue lo siguiente:
(El siguiente es para PHP 7 solamente)
LoadModule php7_module "c:phpphp7apache2_4.dll"
AddHandler application/x-httpd-php .php
AddType application/x-httpd-php .php .html
PHPIniDir "c:php"
(Lo siguiente es para PHP 5 solamente)
LoadModule php5_module C:/PHP/php5apache2_4.dll
DirectoryIndex index.html index.php
AddHandler application/x-httpd-php .php
PHPIniDir "C:/PHP"
Ahora intente iniciar Apache manualmente abriendo un símbolo del sistema en C:Apache24bin
y corriendo httpd.exe
– si no ve ningún error, significa que su archivo de configuración es válido y PHP es probablemente trabajando.
Puede probar su instalación de PHP creando un archivo como info.php
con adentro y yendo a
http://localhost/info.php
- Debería ver bastante información sobre su sistema y su instalación de PHP y todos sus módulos. Si obtiene algo más como un "Error interno del servidor", significa que algo anda mal.
Ahora puede finalizar su proceso actual de Apache (Ctrl + C en la consola) e iniciar el servicio; la siguiente parte no interactúa con Apache y se puede hacer con el servidor ya iniciado.
Compositor - Opcional
Composer es una herramienta para la gestión de dependencias en PHP, como un administrador de paquetes. Permite instalar fácilmente paquetes PHP e incluso marcos completos.
Composer requiere que la extensión PHP OpenSSL esté habilitada, así que habilitémosla en C:PHPphp.ini
.
Utilice la función de búsqueda de su editor de texto para buscar php_openssl.dll
, ya debería haber una línea comentada, simplemente descomente esa línea.
Ahora descargue el instalador de Windows de Composer desde su página de descarga, o simplemente use este enlace directo.
Siga las instrucciones, cuando se le solicite la ruta a PHP, busque C:PHP
y seleccione php.exe
.
Eso es todo, Composer ahora está instalado en todo el sistema y se puede usar desde cualquier lugar; puede probarlo, simplemente abra un nuevo símbolo del sistema (no puede usar uno que ya esté abierto porque necesita leer el nuevo PATH
variable establecida por el instalador de Composer) y escriba composer
.
Debería obtener un bonito logotipo de arte ASCII y algo como esto:
Composer version e87bc894daf8d5f8e77a01dd7ae5f0446ae30b14 2014-05-01 15:40:28
Extensiones PHP MySQL - Opcional
Si desea acceder a su base de datos MySQL desde PHP, deberá habilitar extensiones que le permitan hacerlo, como php_mysqli
o php_pdo_mysql
- Recomiendo habilitarlos a ambos.
Abra el archivo de configuración de PHP C:PHPphp.ini
en su editor de texto y busque php_mysqli
o php_pdo_mysql
- ya deberían estar allí, descomentarlos.
Hecho, ahora puede acceder a cualquier base de datos MySQL usando mysqli
o PDO
.
MySQL
En la página de descarga del instalador de MySQL, descargue el instalador web mysql-installer-web-community-xxxxx.msi
.
Usé mysql-installer-web-community-5.6.21.1.msi. La última versión cuando se actualizó por última vez esta respuesta: mysql-installer-web-community-8.0.15.0.msi (consulte la fecha de edición en la parte inferior de la publicación).
El instalador instalará automáticamente la versión apropiada (32 bits o 64 bits) dependiendo de su sistema, aunque la versión de bits de MySQL no tiene que coincidir con la de Apache y PHP, pero sigue siendo beneficioso usar la versión de 64 bits de su El sistema lo admite para aprovechar más de 3 GB de RAM, eso es bastante importante ya que los servidores de bases de datos tienden a usar mucha RAM.
Siga los pasos del instalador, si está instalando esto para desarrollo, entonces el Developer default
será su mejor opción, también instalará MySQL Workbench, que es un cliente GUI nativo, evitando así tener que instalar herramientas lentas basadas en la web como PHPMyAdmin si no se siente cómodo con el uso del cliente de línea de comandos.
Una vez que todo esté instalado, el instalador le pedirá algunos valores de configuración básicos, recomiendo deshabilitar "Abrir puerto de firewall para acceso a la red" a menos que desee acceder a la base de datos desde otra máquina en la red.
Establezca la contraseña de root: si es solo para fines de desarrollo y su firewall bloquea las conexiones entrantes de la red, entonces no es necesaria una contraseña segura.
Finalmente, puede deshabilitar el notificador MySQL inútil haciendo clic con el botón derecho en el ícono de la bandeja, yendo a Acciones -> Opciones, luego desmarque la casilla Run at Windows Startup
casilla de verificación y aplicar. Eso le ahorrará algunos MB de RAM y evitará ralentizar su máquina cuando se está iniciando.
Y eso es todo, ahora tiene un servidor WAMP completamente funcional que se ejecuta como un servicio y no depende de ningún usuario (accesible incluso si nadie está conectado).
Tenga en cuenta que no tengo idea sobre la seguridad de esto, para fines de desarrollo, diría que es bastante seguro ya que su firewall debería bloquear las conexiones entrantes para Apache (puerto 80 y o 443) y MySQL (puerto 3306).
Esto se probó en una instalación de Windows 7, también debería funcionar bien en Vista, Windows 8 y posiblemente Windows Server 2008/2012; no dude en comentar y / o votar en contra si ese no es el caso.
PHP 7
Las instrucciones en la respuesta anterior funcionan perfectamente a partir de julio de 2017; sin embargo, si desea utilizar PHP 7, debe agregar las siguientes líneas a C:Apache24confhttpd.conf
, en lugar de los de esa respuesta (que funcionan solo para PHP 5) [Add the following after all the LoadModule
lines]:
LoadModule php7_module C:/PHP/php7apache2_4.dll
DirectoryIndex index.html index.php
AddHandler application/x-httpd-php .php
PHPIniDir "C:/PHP"
Asegúrese de que todas las rutas sean correctas. Si no tienes php7apache2_4.dll
en su directorio PHP, probablemente descargó el paquete incorrecto.