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. hola como esta todo la comunidad, me comunico por que ya en la nueba version de php no aparece ningunos de los archivos que k aki aparecen o al parecer no estoy intalando de la manera correta lo que si se es que he decargado y por ejem. include_path no esta y aun que si aparecen include no se cual tomar.

    alguien me pudiera hechar una manito sucede que soy novato con esto y hace solo unos dias que instale apache

    gracias por sus aportes

  2. men no encuentro el arcivo php.ini-recommended q hago? sera que descargue el q no era?

    ya probe varios.

    dime cual es el q se descarga.

  3. ¡Buenas!

    He seguido el tutorial al pie de la letra, pero me sigue saliendo el error de “Cannot load C:/php/php5apache2_2.dll into server: no se puede encontrar el módulo especificado”
    Ya he probado todas las soluciones que se han dado por ahí arriba, desde cambiar el nombre, comillas… Y nada de nada. ¿Alguien me puede echar una mano?

  4. plissssssssssssssss alguien me ayude no aparece el archivo php.ini-recommended que hagooooo y no aparece esa famosa version PHP zip package yo baje la q aparece ahi con nombre debug-pack sera por eso?

    1. Depende de si es un entorno de producción o uno de desarrollo, obviamente.

      La versión “development” muestra toda clase de información que puede ser útil a la hora de depurar, por ejemplo, pero esto, claro está, no es nada seguro en un entorno de producción.

  5. y ademas ninguno d estos dos ini contiene el texto include_path? ya nos q hacer cual es el zip correcto d esta pagina p bajar aparecen varios ahi

  6. Si me podrían ayudar?
    instale el appserv win32 2.6.O
    instaló correctamente pero el problema era que no habilité la opción enable INNODB lo que me obligó a volver a instalar para activarlo. En los script PHP para crear tablas me sigue saliendo error al utilizar TYPE=INNODB por mas que lo reinstale. Actualmente no tengo conexión al dar http://localhost aparece error HTTP 404 que me indica error ¿cómo puedo solucionarlo, porfa..?

  7. Pingback: Directe i fàcil! « YourApacheServer

Deja un comentario

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