Cargando la página...

¿Cómo instalar y configurar Apache, PHP y MySQL en Windows?

Publicado por Gastón el 01/09/2007 en Microsoft Windows - Nivel Intermedio

Tabla de contenidos

Avatar de
  • Introducción
    • Requerimientos iniciales
  • MySQL
    • Instalación de MySQL
    • Configuración de MySQL
    • Testeando el servidor
  • Apache
    • Instalación de Apache
    • Configuración de Apache (Parte I)
  • PHP
    • Instalación de PHP
    • Configuración de PHP
    • Configuración de Apache (Parte II)
  • Probando el servidor

La tabla de contenidos pertenece al artículo completo y no al contenido parcial de cada página del mismo si fuese el caso.

Leer los comentarios.

Resúmen

Instalación y configuración paso a paso bajo Windows de un servidor de bases de datos MySQL, un servidor HTTP Apache y un interprete PHP.

Sobre el autor

Avatar de Gastón

Gastón tiene 31 años, vive en Argentina / Santa Fe / Santa Fe y su ocupación es Desarrollador de aplicaciones web.

Forma parte del club desde 19/10/2009 a las 20:52 habiendo estado en linea ayer a las 18:27 por última vez.

Ha publicado 50 artículos en clubdesarrolladores con un promedio de valoración de 7.96 puntos. Puedes visitar su sitio web en http://www.devstudios.com.ar

Estadísticas

  • Leido 42863 veces
  • Valorado 8.75 puntos

PHP



PHP es un lenguaje de scripts que también ha sufrido notables cambios en cuanto a su composición, sin embargo estos cambios no son tan notables en su instalación.

Instalación de PHP



Para realizar la instalación de PHP solo necesitaremos un descompresor de archivos ZIP, y lo que haremos precisamente es descomprimir el contenido del archivo en el directorio C:\PHP de tal forma de tener el archivo php.exe en C:\PHP\php.exe.

Configuración de PHP



Al igual que para Apache y MySQL, PHP dispone de un archivo de configuración estilo INI. Y para no complicarnos la vida se llama php.ini que debe estar en un directorio que pueda ser accedido por php. Ahora bien, al instalar PHP vemos que no hay ningún archivo php.ini en su directorio raiz (C:\PHP), pero si tenemos otros archivos que vamos a utilizar como templates para crear nuestro php.ini y ellos son: php.ini-dist y php.ini-recommended.
Tomaremos php.ini-dist y le cambiaremos su nombre a php.ini. Ahora solo debemos editarlo.

Buscaremos include_path (línea 461) y nos aseguraremos que contenga el directorio actual:

include_path = ".;c:\php\includes"


Luego le informaremos a PHP otros directorios muy importantes (líneas 468 y 475):

doc_root = "C:\WWW"


extension_dir = "C:\PHP\ext"


Las extensiones son módulos de PHP que extienden a la propia librería estandar. Es asi como podemos disponer de funciones para trabajar con MySQL, SQLite, Firebird, otras bases de datos asi como también otras funciones para diversas actividades.

Es por ello que agregaremos una en particular, la de MySQL (línea 606, quitar el punto y coma):

extension = php_mysql.dll


Ya terminamos la configuración de MySQL en php.ini pero continuemos configurando PHP un poco más como por ejemplo el directorio temporal para guardar los archivos de sesión (línea 924) y el reporte de errores (línea 304):

session.save_path = "C:\WINDOWS\Temp"


error_reporting = E_ALL | E_NOTICE | E_STRICT


Configuración de Apache (Parte II)



Si, otra vez Apache. En la primer parte solo configuramos Apache como servidor HTTP para páginas estáticas. Ahora vamos a notificarle a Apache que existe un interprete que puede usar y se llama PHP.

De vuelta abrimos httpd.conf y en la línea 212 cambiamos para que nos quede:

<IfModule dir_module>
DirectoryIndex index.html index.php
</IfModule>


Con ello conseguimos que si se encuentra un archivo con nombre index.php en un directorio sea éste el que se cargue por defecto.

Al final del archivo agregamos las siguiente tres (3) líneas:

LoadModule php5_module "C:\PHP\php5apache2_2.dll"
AddType application/x-httpd-php .php
PHPIniDir "C:/PHP"


Probando el servidor



Crearemos el siguiente archivo con nombre test.php con el siguiente contenido:

<?php
$ok = function_exists('mysql_connect');
echo '<h1 style="color:#';
if($ok)
echo '00F">Instalación correcta';
else
echo 'F00">Error en la instalación';
echo '</h1>';
?>


Lo colocaremos en nuestra carpeta pública C:\WWW\test.php, y en nuestro navegador favorito (espero que no sea Internet Explorer...) colocan la siguiente dirección: http://localhost/test.php.

Si la instalación fue correcta verán un mensaje en azul en caso que algo haya fracasado verán un mensaje en color rojo.

Con ésto terminamos esta guia de instalación de Apache+PHP+MySQL, simplemente espero que logren instalarlo sin complicaciones, pero ante cualquier problema ya saben... foro del club.

Saludos!

Si tiene alguna pregunta sobre éste artículo por favor deje un comentario y será respondido.

Descargas

No existen descargas asociadas

Comentarios

Sus comentarios son importantes.

Listado de comentarios

1
03
mayo
2009
Avatar de Axel Crespo
Axel Crespo aportó:
esta mu bueno el articulo, felicidades pero, los links que pones habre paginas oficiales donde uno se pierde por que hay un monton de datos, y no los que estas indicando como:
siguientes versiones de Apache, PHP y MySQL:

* Apache 2.2 (apache_2.2.4-win32-x86-no_ssl.msi) - Descargar 4.2 Mb (exe/msi)
* PHP 5.2 (php-5.2.0-Win32.zip) - Descargar 9.2 Mb (zip)
* MySQL 5.0 (mysql-essential-5.0.27-win32.msi)- Descargar 16.8 Mb (exe/msi)

2
04
mayo
2009
Avatar de Gastón
Gastón [Autor] aportó:
Efectivamente eso sucede porque al momento de escribir este tutorial (año 2007) esas eran las últimas versiones disponibles.
Es normal que hoy día existan actualizaciones y esas descargas quizá no esten disponibles.
Sin embargo el tutorial sigue funcionando, podes bajar versiones similares.
Si te fijas solo necesitas bajar un APACHE 2, un PHP 5 y un MYSQL 5.
Las configuraciones y las formas de instalarlo deberian ser muy parecidas.

Saludos.
3
26
mayo
2009
Avatar de Max Sierra
Max Sierra aportó:
Hola que tal, sabes, hice todo lo de este tutorial y al parecer todo salio bien, excepto cuando pongo en el navegador http://localhost/test.php , me aparece el mensaje de error: Not found: The request URL/test.php was not found on this server.

Y tengo bien creadas mis carpetas en D, Apache, PHP y MySQL y segui todos los pasos y se instalaron al parecer bien, y edite bien los archivos, porque lo hice unas 5 veces y todo esta como en este tutorial...

Me podrías decir que pasa? Tambien quiero instalar dokeos 1.8 y lo copio a la carpeta WWW pero me marca el mismo error Not found.

Saludos y gracias de antemano.
4
26
mayo
2009
Avatar de Gastón
Gastón [Autor] aportó:
@Max Sierra:

Intenta con http://localhost en tu navegador, ahí debería listar el contenido del directorio y se podría ver test.php, si es que lo colocaste en el directorio correcto.
Deberías revisar de nuevo todas las rutas que configuraste para Apache.

Saludos.
5
27
mayo
2009
Avatar de Max Sierra
Max Sierra aportó:

Hola, que tal.

Sabes, cuando hago http://localhost sale el mensaje: it works! que supongo quiere decir que está corriendo el servidor apache, y no sale como mencionas el listado del directorio, aunque tengo bien hechas mis carpetas Apache, MySQL y WWW.

Trataré de reinstalar todo una vez mas para checar...

Gracias.
6
27
mayo
2009
Avatar de Gastón
Gastón [Autor] aportó:
@Max Sierra:

Lo que creo que sucede es que tenes tu directorio público de apache sin modificar, tenes fijado el que viene por defecto en {directorio_apache}/htdocs
Tenes dos opciones, o modificas la configuración de apache o utilizas ese directorio htdocs.

Saludos.

7
19
agosto
2009
Avatar de juan sebastian
juan sebastian aportó:
Muy buen tutorial Gaston, muchas gracias me ha servido demasiado, pero tengo un problema cuando ingreso http://localhost/test.php en la pantalla aparece es el codigo como tal, y no un mensaje de instalacion correcta o incorrecta? que podria ser?
8
19
agosto
2009
Avatar de juan sebastian
juan sebastian aportó:
Ya me sale el mensaje de error en la instalacion.....en donde puede estar fallando?
9
19
agosto
2009
Avatar de Gastón
Gastón [Autor] aportó:
@Juan Sebastian:

Bien, ya casi lo logras.
Ese mensaje te sale cuando la extensión de mysql no está disponible.
Verifica en php.ini lo siguiente:

extension_dir = "C:\PHP\ext"
el directorio donde están las extensiones debe existir y debe contener la extension de mysql.

extension = php_mysql.dll
Tenes que tener descomentada la linea anterior, eso hace que se cargue automáticamente la extensión.

Avisa cualquier duda.

10
19
agosto
2009
Avatar de juan sebastian
juan sebastian aportó:
Gracias por tu pronta respuesta, pues ya he verificado todo muchas veces, las extensiones estan donde deben estar, tambn los dlls en windows/system32 todo lo de el tutorial lo he hecho varias veces. Ya ejecuta el phpinfo();, pero no logro que obtener el mensaje de instalacion correcta. cualquier sugerencia sera bien recibida
11
20
agosto
2009
Avatar de juan sebastian
juan sebastian aportó:
Ahora desinstale el mysql y al momento de instalarlo de nuevo creo q no me acepta la contraseña vieja por q cuando le doy execute al final en el apartado de START SERVICE me sale un error q dice "could not start the service mysql5.error:0", ideas?
12
21
agosto
2009
Avatar de Gastón
Gastón [Autor] aportó:
Fijate si en el phpinfo() te da información sobre la extensión de mysql. Si es asi, entonces ya lo tenes instalado y funcionando. Y el problema se debe solamente al servidor de Mysql, cosa que habría que ver con más detalle y por eso te invito a que crees un tema en el foro para tratarlo específicamente.

Saludos.
13
05
noviembre
2009
Avatar de Carlos Narvaez
Carlos Narvaez aportó:
hola, excelente articulo. Pero tuve el mismo problema que el amigo juan sebastian, el mensaje que obtengo al abrir test.php esta en rojo, osea no hay conexion con la base de datos. Que puedo hacer ? gracias
14
05
noviembre
2009
Avatar de Carlos Narvaez
Carlos Narvaez aportó:
ok ya resolvi este problema... agregue en las variable de entorno "path" c:\PHP y listo...
15
31
marzo
2010
Avatar de roger lopez
roger lopez aportó:
Hola antes que nada que buen articulo,

Tengo un pequeño problema, cuando le doy http://localhost me aparece que si trabaja e incluso me aparece el archivo test.php, pero cuando quiero accesarlo me manda a una pagina totalmente en blanco ni me manda error ni cambia la pantalla a algun color , quisiera saber cual es el posible problema que se esta presentando.
16
03
junio
2011
Avatar de rafael monterola
rafael monterola aportó:
ya casi desisto he intentato con 3 guias y nada me sale casi lo mismo:
cannot load c:/PHP/php5apache2_2 ...no encuentra modulo.
nota ya los programas que edito no corresponden a las lineas donde especifican el cambio
pero la busco en el archivo y hago la correccion oero esto no c donde va:
LoadModule php5_module "C:\PHP\php5apache2_2.dll"
AddType application/x-httpd-php .php
PHPIniDir "C:/PHP"

17
04
junio
2011
Avatar de Gastón
Gastón [Autor] aportó:
@Rafael:

LoadModule php5_module
"C:\PHP\php5apache2_2.dll"
AddType application/x-httpd-php .php
PHPIniDir "C:/PHP"


en httpd.conf
18
20
junio
2011
Avatar de jeni garcia
jeni garcia aportó:
hola tengo un servidor windows 2008 logre instalar apache2.2 sin problemas y php 5 pero cuando intendo ejecutar una pagina que contenga codigo php aparece es como que no una ventana que dice desea abrir o guardare ste archivo con unos botonoes que dicen abri guardar como o cancelar que puedo hacer???
19
29
agosto
2011
Avatar de Guillermo Hernandez
Hola, primero que todo gtacias por tu articulo, es excelente. Sin embargo, tengo un problema, cuando ingreso a http://localhost, me solicita que Introduzca nombre de usuario y contraseña para http://localhost, los intente con todos los nombres y contraseña y nada. ¿Que puedo hacer?. Te agradeceria si me ayudaras.
20
01
septiembre
2011
Avatar de Gastón
Gastón [Autor] aportó:
jeni: Te falta hacer que apache reconozca los .php

Guillermo: Revisa si tienes en htdocs un archivo .htaccess o .htpasswd, en ese caso renombralos y prueba de nuevo. Parece ser una solicitud de autenticación http. Haciendo esto, lo remueves.
21
08
octubre
2011
Avatar de Ferran Utches Ariño
Hola, primero felicidades por tu articulo Tengo un problema trabajo con windows 7 ultimate, Todo me da correcto apache fun c ionando y demas
pero cuando hago un localhost me dice que internet explorer no puede mostrar la pagina Este error puede deberse a una serie de problemas, como los siguientes:
•Se perdió la conectividad a Internet.
•El sitio web no está disponible temporalmente.
•No se puede tener acceso al Servidor de nombres de dominio (DNS).
•El Servidor de nombres de dominio (DNS) no tiene una entrada en la lista para el dominio del sitio web.
•Es posible que la dirección no se haya escrito correctamente.
•Si ésta es una dirección HTTPS (segura), haga clic en Herramientas, Opciones de Internet, Opciones Avanzadas, y compruebe que los protocolos SSL y TLS están habilitados en la sección de seguridad.
y no consigo encontrar el fallo me podrias ayudar???
22
15
octubre
2011
Avatar de Celin Pérez
Celin Pérez aportó:
Hola Gastón. excelente articulo, muy bueno y explicativo. Segui todos los pasos que indicas en este tutorial, y al final cuando presiono execute sale lo siguiente: Prepare configuration bién, write configuration file bién, start service con una x roja y hasta ahi llega todo, o sea no logro levartar el servicio de MySQL. Serías tan amable de indicarme que puedo hacer. Opción abri los servicios y detuve y deshabilte el IIS, pero no logro levartar el servicio del MySQL. Gracias. Celin, Catia, Caracas, Venezuela .
23
15
octubre
2011
Avatar de Celin Pérez
Celin Pérez aportó:
Gastón se olvidó decir que me sale una ventana con el siguiente titulo: mysqld.exe - Error de aplicación. y el texto dice: La instrucción en "0x0063f7a8" hace referencia a la memoria en "0x00000000". La memoria no se puede "read". Eso no me salía antes de la instalación, y ahora después de la instalación cuando intento levantar el servicio me sale. Necesito tu ayuda por favor. Gracias. Celin, Catia, Caracas, Venezuela.
24
17
octubre
2011
Avatar de Gastón
Gastón [Autor] aportó:
Hola Celin.
Intentaría correr nuevamente el configurador, o si te animas, revisar el archivo my.cnf
A lo mejor encontrás algún parámetro sospechoso.
¿Que versión estas instalando y sobre que sistema operativo?
25
16
noviembre
2011
Avatar de EG
EG aportó:
Hola Gastón,

Muy interesante tu post. Tengo una pregunta que no sé si podras contestarme.
Tengo una web instalada con Apache2.0.52 y PHP 4.3.10 y SQL server 2000, todo ello instalado en un windows server 2003. El caso es el siguiente, la web parece funcionar correctamente dentro de la red corporativa, se accede a todos los datos etc pero desde fuera de la red no se tiene acceso. El Firewall ya ha sido configurado y si se trata de hacer ping a la dirreción web se obtiene contestación pero ningun navegador muestra nada.
Se te ocurre cual puede ser el problema?

Muchísimas gracias y un saludo
26
18
noviembre
2011
Avatar de Gastón
Gastón [Autor] aportó:
Hola EG.

En el archivo de configuración de Apache se puede configurar "quien" puede acceder a un directorio servido y quien no.

Busca la línea que tenga Deny All, y reemplazala por Allow All.
27
23
febrero
2012
Avatar de ivan x
ivan x aportó:
no se conecta a mysql? algo me fallo me aparece Error en la instalación en rojo.

que sera??
28
08
abril
2012
Avatar de Martin
Martin aportó:
Mi estimado buen día. Aún estoy en proceso de instalación pero me pregunto.. habrá alguna manera de iniciar y detener apache algo como lo que tiene wamp así como levantar el servicio para todos los demás usuarios. Gracias

Agregar un comentario

Debe estar identificado para agregar un comentario