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 comentarios en «Instalar PHP y MySQL»

  1. XAMPP tiene bastante mejor fama ultimamente que AppServer

    de todas formas esto tiene los mismos problemas que andar instalando paquetes de codecs en lugar de instalar sólo lo que necesitas y saber qué estas instalando y cómo lo estas instalando

  2. Pingback: Facilitando el uso de MySQL: phpMyAdmin

  3. Es mi segundo comentario en este sitio… intenté seguir todos los pasos para instalar Apache, PHP y MySQL… pero solo pude dejar bien el primero, cuando voy a hacer la prueba con el archivo info.php no obtengo la página de informacion que se muestra arriba… hay algo mas que necesito hacer?… Gracias…

    1. No te funciona porque es posible que solo copiaste y pegaste el ejemplo, si lo vez el problema es que estan separadas las etiquetas php, lo correcto seria: ok?

  4. respecto a que no te aparece la pagina de info.php, a mi tambien me pasaba, hasta k vi k el script del archivo info.php estaba mal, asegurate de que en las etiquetas no haya espacios, es decir: es la forma correcta, si lo copias directamente de esta pagina, te aparecera un espacio en:

    1. El tutorial esta genial menor porque cuando pongo http://localhost/info.php me sale una pantalla blanca.

      El resto es fantastico, sobretodo desdpues de tres dias con apache dandome problemas…

      alguna solucion a lo de info.php? he escrito bien el codigo…

      Gracias!!

  5. Gracias Juan… fue acertado tu comentario… y pensar que habia bajado un pack de instalacion automática pensando que estaban mal los pasos… jejeje… pero no me gustan, odio no saber cómo hago las cosas…

  6. hola.. pues ami desafortunadamente me lo mismo que al caballero leonardo que ya intente de todo y no ouedo instalar el php.. pues incluso me atrevi a hacer lo mismo que le recomiendad el caballero juan y no funciona.
    Espero una respuesta pronto.. hasta luego.:?:

  7. Hola… me gustaria saber si pueden aydarme con MySQL, pues quiero activar el MySQL como servicio de Windows de manera manual (sin utilizar el asistente), si alguien sabe la respuesta por favor escribir.. Muchas Gracias.

  8. JuanIparraguirre el 19 November 2005 a las 1:05 am dijo:

    Hola… me gustaria saber si pueden aydarme con MySQL, pues quiero activar el MySQL como servicio de Windows de manera manual (sin utilizar el asistente), si alguien sabe la respuesta por favor escribir.. Muchas Gracias.

    mysqld –install MySQL41 –defaults-file=»C:\MySQL\my.ini»
    (evidentemente hay que sustituir la ruta por la correspondiente en tu sistema)

    por cierto, edito tu entrada para no mostrar tu correo. no quiero que seais blanco de spammers 😉

  9. Tuve problemas con la configuracion de php, Apache funciona barbaro pero php no responde. Ni siquiera con la pagina de prueba. Estoy probando alternativas. Saludos.

  10. Ante todo saludos y gracias por este buen manual.
    Mi duda es sobre que se tiene que modificar en

    session.cookie_path = \.

    Pues fui al archivo php.ini y en la directiva indicada quise hacer una modificacion y no pude entender que es lo que debo modificar y posiblemente por eso es que todavia no puedo hacer correr el php en mi maquina.

    Saludos y gracias de antemano al que pueda ayudarme.

  11. Holas, estoy instalando php, pero cuando habilité las extensiones mysql y mysqli al iniciar mi pc, este me dice que no las encuentra, y revicé bien haber colocado el extension_dir =»c:\php\ext», por lo demas revicé tambíen que en ext estuvieran los archivos, que estará malo??
    será que como aun no instalo mysql el pc no puede hacer correr estas librerias ??
    gracias

  12. tengo un inconveniente, instale AppServ y por defecto me da el mysql, php y phpMyAdmin, pero lo elimine pero el mysql y el apache se quedan en servicios de windows (encontrandose desabilitados), pero ahora no quiero utilizar el appServ y deseo la manera tradicional instalando uno por uno (como ejemplo el Mysql en c:) y cuando instalo el mysql no me reconoce y me dice porque no encuentra la ruta, es que en servicios el mysql tiene la ruta de appserv y quiero cambiarla, como hago

  13. 😥 holas a todos, muy interesante el tema pero tengo un problema al hacer correr el PHP en IIS podrian ayudarme a solucionar el problema 😥

  14. Hola! muy txulo el manual. Me he atascado con mysql 5. Me salta el siguiente error:
    error conexion del servicio mysql 5.0. Al parecer no puede iniciar el servicio. He deshabilitado el firewall de xp , pero ya no se que más hacer! alguien me puede ayudar?
    un beso,
    enixt

  15. Buenas a todos:
    Estoy desesperado con un problema respecto al php.

    Todo funciona bien, tanto el apache como las páginas en php, pero cuando conecto desde otro pc a mi servidor no visualizo las imágenes ni los estilos de la web. En local funciona perfectamente, pero desde el exterior, repito, no funciona bien 🙁
    Además de no cargar las imágenes bien, me va lentísimo y cuando intento entrar en la base de datos me cuesta la misma vida, pero todo esto desde remoto.

    Haber si a alguien le ha pasado el mismo problema. Muchas gracias
    Saludos

  16. Tengo el PHP y maysql trabajando con el servidor de IIS y mi coneccion la base de datos no se da sera posible necesitar un DLL aparte para conectar mysql y php me indican una direccion para esa descarga porfa….gracias y hasta luego

  17. [El comentario #32993 se mostrara aqui]

    Or XAMP or AppServer, …

    But as I already said before:

    de todas formas esto tiene los mismos problemas que andar instalando paquetes de codecs en lugar de instalar sólo lo que necesitas y saber qué estas instalando y cómo lo estas instalando

  18. Hola.. Soy nuevo en esto de PHP y MySQL.. y quisiera saber si es esto es como tener un HOST de paginas web.. si tiene la misma funcion y hay que tenerlo siempre encedida.. muchas gracias por su ayuda

  19. Soy nuevo en esto de PHP y MySQL.. y quisiera saber si es esto es como tener un HOST de paginas web

    No. El servidor web es apache. Y eso es lo que tienes que instalar si lo único que quieres es servir páginas estáticas.

    Pero si quieres servir también páginas en PHP tienes que instalar esto también

    hay que tenerlo siempre encedida

    evidentemente

  20. hola me parece que en esta pagina se realizan muy buenos articulos, pero en este tema acerca de Mysql me gustaria los pasos a seguir para instalar la version binaria «noinstall» de Mysql 4.1.20

    gracias

  21. pues creo que el php es mejor que el apache, sobre todo porque es moderno y funcional, ya que la version binaria del DOS no entra en conflicto con el Mysql y en cambio si lo hace con Or XAMP or AppServer, por eso es mi deseo que para que todo funcione bien, tomar las precauciones del caso, de todas maneras no olvidemos Roswell a la hora de invertir en un programa.
    He dicho
    Atte Javleo

  22. Bueno, me sucedio lo mismo que a Mario, cuando arranco el servidor apache, este me indica que no encuentra las extensiones de mysql.

  23. Logre instalar el Apache pero tengo problemas con 2 lineas del archivo https para instalar PHP

    LoadModule php5_module “c:/php/php5apache2.dll”
    en esta linea me dice qe no encuentra el archivo dll

    PHPIniDir “c:/php”
    en esta linea me dice qe no conoce la funcion PHPIniDir

    la carpeta PHP la tengo en otro disco (E:), tendra algo que ver?

    Saludos
    GRACIAS

  24. La verdad es que yo soy bastante nula, hace muchísimo tiempo que leo tutoriales sobre el tema, luego los dejaba porque no conseguía instalar todo, pero este es el más claro que encontré y la verdad simplemente quería dar las GRACIAS…

  25. Hola, tengo un problema con el php. Al introducir en el internet explorer «http://localhost/info.php», se me abre el bloc de notas donde he editado el documento php y no se que es lo que ocurre. Si alguien me puede ayudar. Gracias

  26. Buenos dias y gracias por el manual!!
    A mi me surge un problema a la hora en que apache tiene que cargar el modulo php5apache2.dll, dice que no lo encuentra!!! la ruta esta correcta, he probado con o sin comillas y con barra invertida y tal…….. y nada 🙁

    He de modificar algo mas??

    Gracias

  27. mira tio mejor te instalas foxserv(este es un pakete ke te trae todo el serv apache,php,mysql,perl)bueno es un kid trabajas normal, y la instalcion es super facil es en cuanto a windows. jejeje
    bye saludos a todos

  28. Hola
    Lo que pasa es que yo, por error elimine mi variable de entorno, y ya tenia instalado el AppServer, y pues ya no pude recuperarla y ahora no se como volver a configurar mi variable de entorno, haber si me pueden ayudar a econtrar una solucion

  29. Hola Señore

    Me gusto yo instale y todo bien lo mal esta en ese info que le rompe al mate un rato pero despues cree mi propio index y me funciono a mil maravillas

    saludos 😉

  30. hola…!
    he configurado el apache 2.2.x; php 5.2.x y mysql 5.0.x, solo que cuando ejecuto el info.php no c muestra la mysql en esta pagina. funcionan las paginas web diseñadas, solo que al momento que hago la conexion a la bd, me marca error 404. supongo que es porque mysql no está conectado con php. que debo hacer para que funcione???. otra pregunta en que parte debo anexar PHPIniDir “c:/php” ??? gracias

  31. Saludos!
    Estoy tratando de configuar el PHP, MySql e IIS para desarrollar paginas dinamicas con Dreamweaver 8.
    Todo ok, el php funciona de maravillas, pero el MySql nada. Me vota un error donde sale algo de ‘localhost’ (En winXP). Cuando lo instalo en win98, todo sin problemas.
    Gracias por sus respuestas

  32. Hola! Instalo Apache correctamente, pero cuando instalo PHP e intento agregarlo al Apache me da un error bastante común en este foro pero todavía sin respuesta. Resulta que responde:

    httpd.exe: Syntax error on line 116 of C:/Archivos de programa/Apache Software Foundation/Apache2.2/conf/httpd.conf:
    Cannot load C:/Trabajo/Servidor/php/php5apache2.dll into server:
    No se puede encontrar el m\xf3dulo especificado.

    Es decir, que no puede cargar el módulo php5apache2.dll, porque no lo encuentra… La ruta es correcta y el módulo existe, cual es el problema?? Sería interesante que alguien nos ayudase, pues ya somos unos cuantos con este ‘pequeño’ obstáculo… Gracias de antemano

  33. Lo que pasa, Oswaldo es que el módulo de la última versión de php no funciona correctamente con la última versión de apache. Borra el módulo php5apache2.dll y renombra php5apache2_2.dll a php5apache2.dll, con el que si funciona correctamente

    Si no encuentras la versión buena la puedes descargar de la web de php

  34. Hola!
    Instale Apache2.2.3 en el puerto 8080 por que tengo instalado el IIS en el puerto 80, Php5.2 y Mysql. Apache y php funcionan perfectamente. para que php funcione tuve que renombrar el archivo php5apache2_2 por php5apache2. Bueno el problema surgió con Mysql, al instalarlo aparecio el semaforo pero al otro dia ya no estaba mas. Cuando instale PhpMyAdmin y quise conectarme a Mysql me dice que no encuentra las dll de mysql. Yo no se si la ruta esta mal puesta en php.ini o mysql no funciona, pero mysql esta como funcionando como proceso de Windows aunque no este el semáforo. Desinstale mysql e instale distintas versiones para ver si podía solucionar el problema pero nada. Por favor si alguien sabe que puedo hacer me puede contestar.

Responder a julio larico Cancelar respuesta

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