Instalar PHP y MySQL

Hace unos días comentábamos cómo instalar un servidor web en nuestro PC de forma que pudieramos, entre otras cosas, alojar en este nuestra propia página web, acceder a nuestros ficheros desde otro equipo y probar alguna que otra aplicación web.

Apache, por sí solo, sólo permite mostrar al visitante webs estáticas, escritas en HTML Esto no es del todo cierto, ya que se pueden utilizar lenguajes que se interpreten del lado del cliente, como JavaScript., que no es más que un lenguaje de maquetado. Es decir, HTML no nos permite más que indicar el aspecto del texto. Basicamente lo más excitante que podemos hacer con HTML es mostrar imágenes y crear enlaces.

Si queremos crear una web dinámica, con la que el usuario pueda interaccionar realmente y que modifique su comportamiento según esta interacción, tendremos que utilizar un lenguaje de programación como PHP, Perl, JSP o ASP.

En este artículo veremos cómo instalar en nuestro servidor el intérprete de PHP y el gestor de bases de datos MySQL de forma que podamos usar en nuestro PC aplicaciones como WordPress, el sistema de publicación que utiliza esta web.

PHP es, como ya hemos mencionado, un lenguaje de programación. El código PHP se puede incluir en un documento HTML, lo que nos permite crear páginas web dinámicas. Estas líneas de código serán interpretadas en el servidor y el resultado mandado al cliente después. Esto es lo que se llama server-side o del lado del servidor, en comparación con client-side o del lado del cliente, modelo en el cual es el propio PC cliente el que tiene que interpretar el código. Un ejemplo de lenguaje de programación que ejecuta del lado del cliente es Javascript.

Lo primero que tenemos que hacer para instalar PHP es, evidentemente, descargar los binarios de PHP. Nos interesará obtener el archivo zip con los binarios de la última versión (buscad algo parecido a “PHP zip package” bajo el encabezamiento “Windows Binaries”). No utiliceis el instalador.

Una vez descargado, pasamos a descomprimirlo. A efectos prácticos el directorio donde lo instalemos no importa, pero a lo largo del tutorial utilizaré como ruta c:\php.

Antes de pasar a configurar PHP y el servidor Apache para que utilice el intérprete instalado, modificaremos la variable de entorno Path, que indica a Windows los directorios donde buscar archivos, por ejemplo, cuando se llama a un ejecutable. Hacemos click con el botón derecho sobre Mi PC y seleccionamos Propiedades para abrir el diálogo de Propiedades del sistema. Seleccionamos la pestaña Opciones avanzadas y una vez ahí, Variables de entorno. En el cuadro de variables de sistema haremos doble click sobre la variable Path para editarla, y añadiremos al final de la lista ;c:\php (cada entrada se separa con un punto y coma).

Modificando la variable de entorno path

Las distintas opciones de PHP se configuran mediante un archivo llamado php.ini situado en c:\php. Por defecto este archivo no existe, sino que tendremos que crearlo renombrando el archivo php.ini-recommended. Pasemos a editar php.ini.

Busca el texto include_path = ".;c:\php\includes" y descoméntalo (borra el ; al inicio de la línea). Evidentemente, si no hemos instalado php en C:/php tendremos que modificar esta línea.

Modifica el valor de doc_root para que coincida con el directorio donde se guardan los archivos que mostrará Apache (por defecto, si no lo cambiamos en httpd.conf, este será C:\Archivos de programa\Apache Group\Apache2\htdocs).

Modificamos el valor de session.cookie_path:
session.cookie_path = \

Y por último, modificamos el valor de session.save_path para poder trabajar con sesiones (el directorio que pasemos como valor a esta variable debe existir, PHP no lo creará por nosotros):
session.save_path = "C:\php\sesiones"

Solo resta activar algunas extensiones útiles para que estas se carguen automaticamente. Tendremos que indicar a PHP dónde se guardan las extensiones, modificando extension_dir de forma que contenga la ruta al directorio ext dentro de la carpeta donde se instaló PHP (c:\php\ext si PHP se instaló en c:\php).

Una vez hecho esto buscamos la sección Windows Extensions que muestra una lista de distintas extensiones que podemos activar. Para cada extensión que queramos, no tenemos más que borrar el punto y coma al principio de la línea o bien añadir una nueva línea si no existe. En el Manual de PHP podemos ver para qué sirve cada una de ellas. Necesitaremos activar, al menos, php_mysql.dll para que PHP pueda guardar y obtener datos de una base de datos MySQL. También es muy recomendable php_mysqli.dll, que ofrece conexiones mejoradas (i de improved) y php_mbstring.dll, necesaria para utilizar codificaciones de caracteres en las que cada caracter ocupa más de un byte (por ejemplo UTF8, la codificación que se utiliza en esta web). Si no sabeis de que os hablo, mejor activad las tres 😉

Es recomendable no activar una extensión si no conoces cual su función, entre otras cosas porque muchas de ellas necesitan otros archivos, y en el caso de que PHP no los encuentre se quejará.

Una vez configurado PHP es el momento de modificar la configuración de Apache para trabajar con este. Como recordareis del artículo anterior, el archivo de configuración de Apache es httpd.conf, situado por defecto en C:\Archivos de programa\Apache Group\Apache2\conf.

Busca el texto:
#
# Dynamic Shared Object (DSO) Support
#
# To be able to use the functionality of a module which was built as a DSO you
# have to place corresponding `LoadModule' lines at this location so the
# directives contained in it are actually available _before_ they are used.
# Statically compiled modules (those listed by `httpd -l') do not need
# to be loaded here.
#
# Example:
# LoadModule foo_module modules/mod_foo.so
#

Inmediatamente después encontrarás una lista de módulos que se cargarán con Apache. Añade al final de la lista LoadModule php5_module “c:/php/php5apache2.dll” para cargar el módulo de PHP 5.

Busca el texto:
# AddType allows you to add to or override the MIME configuration
# file mime.types for specific file types.
#
#AddType application/x-tar .tgz
#
# AddEncoding allows you to have certain browsers (Mosaic/X 2.1+) uncompress
# information on the fly. Note: Not all browsers support this.
# Despite the name similarity, the following Add* directives have nothing
# to do with the FancyIndexing customization directives above.
#
#AddEncoding x-compress .Z
#AddEncoding x-gzip .gz .tgz
#
# If the AddEncoding directives above are commented-out, then you
# probably should define those extensions to indicate media types:
#

Que precede a una lista de tipos MIME que el servidor es capaz de reconocer. Añade al final de la lista AddType application/x-httpd-php .php

Por último busca:
#
# DirectoryIndex: sets the file that Apache will serve if a directory
# is requested.
#
# The index.html.var file (a type-map) is used to deliver content-
# negotiated documents. The MultiViews Option can be used for the
# same purpose, but it is much slower.
#
DirectoryIndex index.html index.html.var

y sustituye DirectoryIndex index.html index.html.var por DirectoryIndex index.php index.html index.html.var. Esto indicará a Apache que los archivos php también pueden utilizarse como archivos de índice de un directorio.

Añade al final del fichero la línea PHPIniDir “c:/php” para indicar al servidor web dónde encontrar el archivo php.ini y reinicia el PC.

Hora de probar que PHP se ha instalado correctamente. Esto se suele hacer creando un archivo php (crear un nuevo archivo con cualquier editor de textos, con nombre, por ejemplo info.php) cuyo contenido será < ?php phpinfo() ?>. Introduce en la barra de direcciones del navegador la url http://localhost/info.php para probarlo. El resultado debería ser parecido a este:

Salida de phpinfo

Solo resta proceder a la instalación de MySQL. MySQL es una sistema de gestion de bases de datos de código abierto. Una base de datos no es más que un conjunto de información relacionada con una cierta estructura. Todas las entradas y comentarios escritos en esta web, por ejemplo, se guardan en una base de datos mediante PHP y son mostrados cada vez que el usuario lo pide mediante PHP. Por eso es más que probable que si vas a utilizar PHP tengas que instalar también MySQL (u otro sistema de gestión de bases de datos como PostgreSQL).

Descarga la última versión del instalador para Windows de MySQL desde su página web. En el momento de escribir este artículo existe una versión 5.0 pero no se recomienda dado que aún es una beta. En este ejemplo utilizaremos la versión 4.1.14.

La instalación utilizando el archivo que hemos descargado es bastante sencilla. Simplemente pulsa sobre siguiente (next) hasta llegar a la sección de registro en MySQL.com. No es necesario que nos registremos en su página web, por lo que podemos seleccionar simplemente Skip Sign-Up (Saltar registro).

El instalador quiere que nos registremos en MySQL.com ;)

Al final de la instalación se muestra una casilla que nos da la opción de abrir un wizard que nos permitirá configurar MySQL de forma rápida y sencilla. Evidentetemente, debemos mantener la casilla marcada.

La primera opción que se nos presenta en este wizard es si queremos utilizar una configuración estándar o bien una configuración más detallada. Dado que no es el objetivo de este artículo profundizar en el uso y configuración de MySQL vamos a elegir la opción “Standard Configuration”.

Marcamos las casillas correspondientes para instalar MySQL como un servicio de Windows (Install As Windows Service) y que este se lance automaticamente (Launch the MySQL Server automatically). Marcamos también el que se añada el directorio que contiene los ejecutables de MySQL a la variable Path de Windows (Include Bin Directory in Windows PATH) para poder correr estos desde cualquier lugar.

Distintas opciones de configuración de MySQL

A continuación se nos mostrará una pantalla desde la que podremos introducir una contraseña para el usuario root (el administrador de la base de datos, es decir, un usuario con máximos privilegios). Hazlo, y procura acordarte de ella 😉 También se nos da la opción de seleccionar si queremos que sea posible conectarse como root desde otro PC y si queremos crear una cuenta anónima. Estas dos últimas opciones son riesgos innecesarios, por lo que mantendremos los checkboxes desmarcados. Siguiente.

Opciones de seguridad de MySQL

Una vez llegados a este punto basta con pulsar execute para cargar la configuración seleccionada e iniciar MySQL.

168 pensamientos en “Instalar PHP y MySQL”

  1. la verdad no he podidio configurar php y apache
    instalo apache y esta bien pero cuando configur php y despues el httpd del conf de apache al poner esta línea para cargar el modulo se detiene el apache y no corre bien.
    #LoadModule php5_module “c:/php/php5apache2.dll”

    me podrias ayudar.
    gracias

  2. holas, estoy desesperado, la pagina info.php, se ve en modo texto, supongo que no esta conectado apache y php,el 27/02/2007 q es dentro de 4 dias,debo entregar una pagina dinamica funcionando, ayuda urgente porfavor.

  3. Bueno, yo solo tuve dos problema al principio, el apache no iniciaba, revise con calma y decía algo de un error en una linea, era en donde se agregaba el php5 tuve que quitar las “” para que funcionara, despues de eso me di cuenta que no servia el info.php y solo modifique “”, por “”

    y con esto funciona de maravilla

    Saludos, Sr ChitoMix

  4. ha que bien muchas gracias por ese manual me sirvio de mucha ayuda se les agradece…

    me salvaron de una que hace ratos no sabia como era lo de la configuracion del mySQL gracias nuevamente…

  5. He instalado PHP, Apache y MySQL funciona todo bien pero cuando me quiero conectar a una BD usando la funcion mysql_connect me sale lo siguiente
    Fatal error: Call to undefined function mysqli_connect() in C:\web\BD\prueba.php on line 20
    Alguien tiene idea de que puede ser. Gracias

  6. Ya regresé
    aunque este tuto te recomienda cambiar el path en “Mi PC” yo te recomiendo copiar todos tus archivos .dll desde tu carpeta de PHP\ a Windows32(NT,2000,XP,2003) o system (en Windows 9x), (los archivos dll contenidos en php/ext no los muevas)y el archivo php.ini a windows o windowsNT (segun sea el caso) despues realiza la configuracion asi como dice aqui.
    recomendacion en windows, para definir rutas dentro de tus configuraciones (httpd.conf y php.ini) usa esta barra “/”, las rutas de directorios (“c:etc/etc”) siempre van entre comillas y sin “/” al final.
    espero les funcione. ¡a mi ya me jalo :)) !

  7. Muchas gracias por el manual, muy bueno.
    Tengo una preguntica. resulta que todo esta perfectamente instalado, pero si creo un archivo con ext. php, al observarlo, no se identifica como tipo php, alguien me podria ayudar

  8. Buenas,me ha encantado el manual. Es bastante claro, pero debo haber hecho algo mal. He repasado todo, pero no doy con la tecla. Me da este error:
    PHP Warning: PHP Startup: Unable to load dynamic library ‘C:\PHP\ext\php_curl.dll’ – No se puede encontrar el m¾dulo especificado.
    in Unknown on line 0
    Y se repite para todos los módulos a pesar que no los he “descomentado”.

    Ya he comprobado que el extension_dir sea c:\PHP\ext

    Gracias por anticipado.

  9. Justamente cuando quise practicar PHP, mySQL, y aun mas carecia del instalador PHP y mySQL, fue de mucha ayuda el haber leido este sitio para mi…

    Suerte Juan

  10. hola que tal quisiera que alguien me ayudara tengo un error y no lo puedo solucionar PHPIniDir “c:/php” es con esta instruccion me pueden decir en donde va ya que al correr el apache me marca este error “quizas esta mal escrito o definido por un modulo no incluido en el servidor” el archivo php.ini si lo tengo y no se por que no lo reconoce si alguien me puede pasar su archivo para remplazar el mio se lo agradecere 🙂

  11. !!AUXILIO!! tengo u nproblema el archivo httpd de apache me marca el siguiente error no puede cargarse C:/php/php5apache2.dll en el servidor no se puede encontrar el modulo especificado no entiendo por que ya que la libreria si se encuentra en esa ruta si alguien me puede ayudar se lo agradecere:'(

  12. jajaj ya pude por fin jeje gracias zotropo encontre la respuesta en otro comentario, solo quiero agregar que esta es una muy buen tutorial 🙂

  13. hola que tal alguien me podria decir de donde descargar una herramienta para manejar mysql de forma grafica ya lo instale pero no estoy familiarizado con esta base de datos y se me haria mas facil manejarla en un ambiente grafico gracias espero y alguien pueda ayudarme

  14. hola que tal ya instale todo y funciona a la perfeccion pero tengo una duda sobre otro tema y como vi que hay una gran comunidad de programadores aqui mi pregunta es si alguien ha manejado servlet con html si la respuesta es afirmativa quisiera saber si se puede y existe una herramienta que me convierta todas mis paginas en algo asi como un ejecutable si alguien sabela respuesta gracias

  15. hola ya instale todo pero tengo el siguiente problema al quererme conectar a la base de datos con la funcion mysql_connect me marca el siguiente error
    Fatal error: Call to undefined function mysql_connect() in C:\Archivos de programa\Apache Software Foundation\Apache2.2\htdocs\TMP1leolh66lv.php on line 40 y n el php.ini s idescomente las librerias correspondientes estoy usando apache2.2.4 y php 5.2.1 si alguien me puede dar una manita gracias hay les dejo el comentario

  16. Para los que se estén volviendo locos intentando que php reconozca la libreria “mysqli.dll” hay una solucion sencilla.

    Pilla la libreria libmysql.dll de mysql\bin o php\ext y copiala en apache\bin

    Así de sencillo

  17. hola Psychonaut ya intente lo que me dics pero creo que sigue sin funcionar si alguien tien otra idea para intentar gracias:'(

  18. para akellos que tengan problemas con el apache y esta dll “php5apache2.dll,” la solucion es esta cambien la dll por php5apache2_2.dll y dejenla sin comillas esto es asi LoadModule php5apache2 C:/php/php5apache2_2.dll , asi es como funciona esto, en cuanto al mysql,por que me marca el fatal error en la conexcion ala base de datos osea me dice que mysql_conecct()… bueno me marca el error con esa cosa 😛 saludos

  19. Gracias
    despues de luchar por un mes con muchos tutoriales este fue el que al final me permitio instalar con exito apache, php y mysql y encotre cual era la causa del error 403 de http

  20. tengo un problema al tratar de ver ejemplos de php que establecen conexion con el servidor sql y con la bd, al ejecutarlo si se conecta al servidor pero no puede seleccionar la bd

  21. Hola tengo instalado en mi casa php5.2 apache2.2 mysql5.2 y phpMyAdmin2.10 y todo de maravilla. El problema es cuando intento instalar todo mi sitio en otra PC, porque las extensiones (php_mysql.dll php_mysqli.dll) no las carga y las bases de datos son inaccesibles en ambas computadora la partición para el el sitio (F:\) ósea e tratado de que en las dos computadoras sea todo igual pero ni así me queda ¿que puedo hacer?

  22. Soy nuevo en apache, php y mysql, no he podio que funcione el info.php, mi plataforma es Windows 2000, ya cambie el modulo de php5 al php5apache2_2.dll y no saca el error de que no lo encuentra, pero al tratar de arrancar o parar el apache sale: error (OS 2) El sistema no puede hallar el archivo especificado. : No installed service named “Apache2”.

    Que debo hacer ?????????

    Gracias

  23. Hola, llevo todo el dia instalando apache y php, todavia no me ha dado tiempo a Mysql.
    Bueno mi problema es el siguiete, consigo arrancar apache sin problemas (despues de superar lo de renombrar el fichero php5apache2.dll). Pero cuando intento hacer http://localhost/phpinfo.php me da el siguiente error; http 403 (Prohibido).

    ¿Que puedo hacer , me estoy volviendo loca?

  24. Ya he encontrado la solucion para el error http 430, la solucion es la siguinte

    Options FollowSymLinks
    AllowOverride None
    Order deny,allow
    Allow from all

    ______________________________________________________________

    donde dice “Allow from all” originalmente estaba como “Deny from all” yo lo he cambiado y funciona.

    Espero que a alguien le sirva de algo.

  25. Ya instale apache, y php5 de forma correcta
    el problema es ke no logro ke php conecte con la base de datos ke tengo en mysql. ya intente poner el @ adeltante y todo pero sigo sin poder conectarme.
    Consejos?
    gracias

  26. muy buenos consejos y una muy buena guia todo lo q se ve aqui.estoy por instalar php, y mysql en IIS pero no se q versioes usar para q sean compatibles.

  27. Soy nuevo en apache, php y mysql, no he podio que funcione el info.php, mi plataforma es Windows 2000, ya cambie el modulo de php5 al php5apache2_2.dll y no saca el error de que no lo encuentra, pero al tratar de arrancar o parar el apache sale: error (OS 2) El sistema no puede hallar el archivo especificado. : No installed service named “Apache2”.

    Que debo hacer ?????????

    Gracias

    Ejecuta el HTTPD.exe en la carpeta …Apache22\bin\HTTPD.exe, y solucionaras el problema

  28. Hola amigos ,para los que tengan problemas con la instalacion de php , mandenme un mail a alexin_76@hotmail.com y le mando un mail como instalar PHP 5 con mysql 5.0 y los archivos ya configurados de php.ini y httpd.

    El unico problema es que funciona a la perfeccion con mysql_query , pero estoy trabajando con procedimientos almacenados me funciona de maravilla en el navicat pero en php me da el sgte error : Invalid query: PROCEDURE sare_8.listar can’t return a result set in the given context

    revisando foros me indican que funcion acon mysqli_query , pero no he editado el php.ini , solo me falta la mysqli.dll.
    si alguien me puede ayudar lo agradeceria

  29. Hola a todos!

    Mi instalación es Apache 2.2.6 y PHP 5.2.5… pero ahí me quedo. He probado todas las sugerencias, desde renombrar el php5apache2.dll, a quitar las comillas… pero me sigue apareciendo el http 404. El código de mi phpinfo() está revisado. De dónde puede venir el error?

    Por favor, que alguien me eche una mano que llevo horas y horas y no consigo avanzar!

    Gracias!

  30. hola ayudenme en un priblema con mysql ya tengo instalado todo solo me falta eso por que hize una prueba y me sale este error..Fatal error: Call to undefined function mysql_pconnect() in C:\servidor\web\po.php on line 2.
    no se si me pueden ayudar de antemano les quedo agradecido oo denme un ejemplo para saber si mysql esta bien instalado ah y ya revise las extensiones y esta bien

  31. hola
    al principio tambien tuve problemas con lo de la pagina de info.php pero lo que hice fueron 2 cosas:
    le quite las comillas al documento “httpd” de la carpeta de c:\archivos de programa\Apache..\..\conf\
    y al final la linea que agrege fue esta:

    LoadModule php5_module C:/php/php5apache2_2.dll

    tal cual asi sin comillas entre la ruta C:.., despues note que aunque guarde el codigo php desde el bloc de notas con el nombre info.php, realmente se guardó como “info.php.txt”, para lo cual está mal, es por esto que a algunos les salía como texto el codigo en el explorador; lo que deben hacer es volver a abrir un bloc de notas nuevo, pegar ahi el codigo siguiente:…

    nombre a guardar: “info.php”
    en el campo de Tipo: seleccionen “Todos los archivos”
    en el campo Codificación: seleccionen “Unicode”
    de esta forma el archivo debe guardarse como “info.php” y NO como “info.php.txt”.

    Espero que esto les solucione muchos problemas.
    Saludos y felicidades por el blog está muy completo.

  32. Hola amigos; saben esto de la computacion me gusta; aunque si es un poco confusa, soy nueva en esta pagina y creanme que esta pagina esta muy completa y muy interesante y fijense que me van a hacer una evaluacion de como instalar un servidor PHP y la verdad es que tengo dudas.
    Bueno…
    ¿para instalar PHP, se tiene que descargar apache?
    si se tiene que descargar¿que tipo de apache me recomiendan?
    ¿la version 2.2.6 o la 2.0.61?
    y por ultimo
    ¿como puedo llamar un ejecutable?
    Ayudenme a resolver mis dudas
    GRACIAS…

  33. Hola tengo problemas al configurar el php 5, la version que me he descargado es 5.2.5. El caso es que sigo todos los paso del manual, pero el problema esta en que cuando intento arrancar el apache me da un erro diciento que no puede encontrar el modulo del archivo php5apache2.dll. Yo tengo descomprimido el php en D:\Servidor\php, puede ser ese el problema?

  34. Hola tengo un problema, cuando intento abrir el apache me sale este mansaje de error “make_sock: could not bind to addres 0.0.0.0:80 no listening sockets avaiable, shuting down
    Unable to open logs”
    ¿que pasa?
    ayuda plis…
    mi version de apache es 2.2.6
    gracias…

  35. hola

    soy nuevo en esto, tengo problemas con la clausula PHPIniDir “c:/php” la he colocado al final del archivo httpd.conf, pero me da error, como que no reconoce el comando, he revisado varias veces y no encuentro el error.

    Tambien me da problemas la clausula no indicas si debe estar en algun lugar predeterminado, y parece que la sintaxis da error.

    te agradeceria mucho puedas darme respuesta
    gracias

  36. Hola tengo problemas al configurar el php 5, la version que me he descargado es 5.2.5. El caso es que sigo todos los paso del manual, pero el problema esta en que cuando intento arrancar el apache me da un erro diciento que no puede encontrar el modulo del archivo php5apache2.dll. Yo tengo descomprimido el php en D:\Servidor\php, puede ser ese el problema?

    lo que debes hacer es verificar y modificar si es necesario el archivo Httpd.conf que esta ubicado en la carpeta Conf en la ruta donde tienes instalado el Apache 2.0.n como sigue:

    En la sección “Dynamic Shared Object (DSO) Support” verifica esta linea:

    LoadModule php5_module “D:/Servidor/php/php5apache2.dll”

    OBS. debes verificar que el archivo php5apache2.dll exista en la carpeta D:/Servidor/php/

    y si tuvieras instalado apache 2.2.n debes modificar :

    En la sección “Dynamic Shared Object (DSO) Support” verifica esta linea:

    LoadModule php5_module “D:/Servidor/php/php5apache2_2.dll”
    y verificar que el archivo php5apache2_2.dll exista en la carpeta D:/Servidor/php/

    con esto deberia solucionarse tu problema.
    hasta pronto….

  37. Muchas gracias por tu guía de instalación!!
    Por fin he logrado configurar apache y php para que funcione mysql (y también php:))

    Un saludo!

  38. Hola todos, no se si alguien ya lo pregunto, lo que pasa es que ya logre instalar el php y el apache pero cuando hago mis codigos de php si no pongo despues de la apertura “<?php” el php no me lo reconoce y cuando trabajaba con el WOS si me lo reconocia sin necesidad de poner php, a lo mejor es algo de la configuracion de php. ¿Alguien me podria ayudar para resolver esta pequeña duda?
    Les mando un saludo muy cordial.

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.