miércoles, 23 de junio de 2010

Configurar PHP, Apache y MySql en Windows

O cómo crear un servidor WAMP (Windows, Apache, MySql, PHP), que es lo mismo.

Para ir en orden, lo primero que necesitamos es una máquina Windows, y asegurarnos de tener apagado el servicio de http del IIS (si está instalado) o que no esté en el puerto 80.

Luego necesitamos tener los 3 componentes, el Apache, PHP y MySql. El paquete completo de PHP para Windows lo podemos conseguir en el sitio oficial php.net en ésta dirección http://windows.php.net/download/ Escoja alguna de las versiones VC6. Las VC9 son para IIS.

Siempre traten de configurar la más reciente version, y sólo retrocedan si hay problemas de compatibilidad.

El Apache se consigue en el sitio de Apache Foundation en ésta dirección http://httpd.apache.org/download.cgi

Para MySql, se puede bajar un instalador del MySql Community Server aquí http://dev.mysql.com/downloads/mysql/

Podemos instalar MySql y Apache en cualquier órden, pero instalemos PHP después del Apache Server.

Una vez que tenemos el zip de PHP, descomprímalo y coloquelo en el lugar de su elección. Yo siempre lo instalo en C: para tener paths cortos y evitar comportamientos no deseados con los espacios. Es bueno agregar el path donde está php-win.exe en PATH de las variables de entorno.

PHP viene con un php.ini preconfigurado para production o development. En ésta parte del archivo:

; Directory in which the loadable extensions (modules) reside.
; http://php.net/extension-dir
; extension_dir = "./"
; On windows:
; extension_dir = "ext"

cambiamos extension_dir a apuntar a la dirección de la carpeta ext, que es donde se encuentran algunas extensiones de PHP, algunas de las cuales vamos a habilitar para poder usar MySql en PHP.

Más abajo encontramos esto:

; Windows Extensions
; Note that ODBC support is built in, so no dll is needed for it.
; Note that many DLL files are located in the extensions/ (PHP 4) ext/ (PHP 5)
; extension folders as well as the separate PECL DLL download (PHP 5).
; Be sure to appropriately set the extension_dir directive.

A partir de aquí, se puede descomentar las líneas de las extensiones que necesitemos. Para habilitar MySql descomentamos

;extension=php_mysql.dll

o

;extension=php_pdo_mysql.dll

dependiendo de las necesidades que tengamos, por ejemplo, Magento y Drupal necesitan php_pdo_mysql.dll

Con esto terminamos por ahora la configuración de PHP.

Para configurar Apache, buscamos el archivo httpd.conf dentro de la carpeta conf, este es el archivo de configuración de Apache.

Después de todas las declaraciones de módulos LoadModule, escribimos ésto:

LoadModule php5_module "c:/php/php5apache2.dll" Para Apache 2

o

LoadModule php5_module "c:/php/php5apache2_2.dll" Para Apache 2.2


Y más abajo, después de las declaraciones AddType, escribimos ésto

AddType application/x-httpd-php .php

para agregar php a los archivos que Apache es capáz de manejar.

Con ésto, ya deberíamos tener lista nuestra configuración, ahora le damos stop y luego start al apache monitor en el tray icon de apache para cargar la nueva configuración y probamos si en localhost podemos ver php. Yo lo que hago siempre es poner un archivo php en el root de localhost, con este simple código:

<?php phpinfo(); ?>

Luego lo abrimos en un browser, y debería aparecer la tabla morada con información detallada de la configuración de PHP. En especial buscamos que existan los títulos mysql y pdo_mysql que nos indica que las extensiones cargaron correctamente, y que podemos usar funciones mysql en nuestros scripts php.

No hay comentarios: