Apache, MySQL y PHP en Windows.

Instalación del servidor Apache.

http://www.apache.org/ - http://httpd.apache.org/ ->Apache 2.2.11 Released
Apache HTTP Server 2.2.11 is the best available version
Win32 Binary including OpenSSL 0.9.8i (MSI Installer): Link directo para descarga ===> apache_2.2.11-win32-x86-openssl-0.9.8i.msi
De requerirlo, pueden cambiar el servidor de donde descargar el archivo, con la opción (Other mirrors:)

La instalación es bastante simple. Ejecutamos el instalador hasta que nos pide los siguientes datos:

Network Domain: localhost o 127.0.0.1 (uno u otro)
Server Name: localhost o 127.0.0.1 (idem)
Administrator’s Email Address: un mail cualquiera, no es importante en este momento.

En cuanto a las dos opciones de abajo::
For all users, on Port 80, as a service ­ Recomended.
El servicio del Servidor iniciará automáticamente al arrancar Windows y lo hará como un servicio mas, en background.
El puerto predeterminado el 80 además de estar disponible para todos los usuarios que se logueen al sistema..

Only for the Current user, on port 8080, when started Manually.
Se instalará para el usuario actual en el puerto 8080 y deberá iniciarse manualmente.

Una vez que la instalación está terminada, aparecerá un ícono en nuestra barra de tareas
que nos informará el estado del servicio Apache. Con ese ícono, pueden reiniciar, parar o iniciar
el servicio.

Dos cosas a tener en cuenta en esta instalación, que lo hablamos el miercoles.
Por defecto la carpeta raiz a la cual el Apache irá a buscar los archivos es:
C:\Archivos de programa\Apache Software Foundation\Apache2.2\htdocs

Y el archivo donde se guardan los datos de configuracion del apache es:
C:\Archivos de programa\Apache Software Foundation\Apache2.2\conf\httpd.conf

Que cosas son importantes ahora aquí???

- Listen 80: si ya tengo corriendo otro servidor web o programa en mi maquina que use el puerto 80,
pueden cambiar esa linea el nro de puerto que prefieran.

Si deseamos cambiar la carpeta raiz, donde pondremos nuestros proyectos (ej. D:\proyectos\web)
debemos editar dicho archivo modificando los siguientes puntos:

- #DocumentRoot "C:/Archivos de programa/Apache Software Foundation/Apache2.2/htdocs"
(comento la linea con un #, y agrego la siguiente)
DocumentRoot "D:/proyectos/web"

- #<Directory "C:/Archivos de programa/Apache Software Foundation/Apache2.2/htdocs">
<Directory "D:/proyectos/web">

Para que Apache le de prioridad a mis extensiones .php, modificamos la siguiente linea. La extensión que se ubique
más a la izquierda, tendrá prioridad sobre el resto.

DirectoryIndex index.html
por:
DirectoryIndex index.php index.html

Cada vez que modifiquen este archivo, deberán reiniciar el servicio de Apache para que se reflejen los cambios.
Un tip que les puede evitar un dolor de cabeza, es que si definen como DocumentRoot un directorio que no existe
en el SO, les va a dar error el inicio del Apache. ;)

Para testear si el Apache funciona ok, en cualquiera de sus navegadores, poner: http://localhost o http://127.0.0.1 o http://"nombre de nuestra máquina" o http://"ip de nuestra máquina"
Por defecto les va a mostrar: It works! (index.html)

Para acceder desde nuestro browser si el puerto por defecto no es el 80, deberemos ingresar:
http://localhost:8080

Instalación de MySQL.


http://www.mysql.com/ -> http://dev.mysql.com/downloads/ ->MySQL 5.1—Generally Available (GA) release for production use -> Windows Essentials (x86) 5.1.3 -> Link directo para descarga ===> bajar

Acá simplemente ser cuidadosos con la contraseña del root para no olvidarla. Elijan la opción tipica de instalación (se evitan cuestiones no relevantes en este momento).
Indicamos que deseamos MySQL como un servicio más del windows. Si deseamos que nos añada el directorio bin del MySQL en el Path del sistema, marcamos la segunda opción.


Recuerden que solamente estamos instalando el motor de MySQL
(al cual podrán acceder en este momento, solamente de la manera más hostíl, que es por línea de comando) (Inicio, ejecutar, cmd) -> (mysql -u root -p)
Para evitar tener que hacer eso, tienen:
- HeidiSQL (muy liviano, muy piola)
- MySQL Administrator 1.2 -> Windows (x86) 5.0-r15 ->Link directo para descarga ===> bajar (herramienta de MySQL, bastante más robusta que el resto)
- MySQL Control Center
- phpMyAdmin (requiere tener instalado PHP en nuestra maquina o servidor)

Con cualquiera de estos programas, la configuración para loguearse es sencilla:

Servidor: localhost
User: root
Pass: elqueeligieron
Esquema: por ahora no, pero esta opcion me permite elegir ya la BD al momento de ingregar.

Lo ideal es que una vez que ingresen, creen un usuario con menos privilegios que el root, para utilizar permanentemente.


Instalación de PHP.


http://www.php.net/ -> http://www.php.net/downloads.php ->Link directo para descarga ===> PHP 5.2.8 installer [17,662Kb] - 08 December 2008

Vamos a hacer la instalación de PHP como módulo de Apache con la versión de Installer. Hay otra manera, cómo módulo, que es copiando los binarios, pero es un poquito
más rebuscada y la verdad por ahora no creo que se justifique.
Hay otra instalación en la cual PHP se instala como CGI de Apache, pero es la menos recomendada.

La instalación de PHP con el Installer es bastante sencilla. Un par de temas a tener en cuenta en cuanto a los pasos a seguir.

- El servidor Web que deben seleccionar cuando les pregunte, es Apache 2.2.x Module
- Les va a preguntar el path donde está el archivo de configuración del Apache httpd.conf (C:\Archivos de programa\Apache Software Foundation\Apache2.2\conf\)
ya que la instalación agrega un par de lineas al final para que Apache empiece a ejecutar código PHP.
- Si hacen una instalación personalizada, les va a pedir las librerías que quieren instalar, (si no es personalizada, no recuerdo si lo pide, pero estimo que también)
Lo importante acá es que seleccionen la libreria de MySQL, para que lo agregue directamente esta instalación, y no tener que hacerlo despues a mano.
Una vez terminada la instalación, reinicien la máquina y ya debería tener funcionando PHP.

¿Cómo lo prueban? Simple. Hagan un archivo con extensión .php (ej. test.php) y dentro de el escriban:

<?php
phpinfo();
?>

Este archivo lo copian en la carpeta que definieron como DocumentRoot, y luego desde su browser ponen: http://localhost/test.php
Debería mostrarle la siguiente página.


Fijense que uno de los datos de esta pantalla es un archivo llamado php.ini. Ahi se guarda toda la información de configuración de PHP, por lo cual
Cualquier cambio que deseemos realizar, deberemos ir a ese archivo. Por ahora creo que no van a necesitar tocar nada.


Recomendación:
- Verifiquen que su firewall no genere ningún tipo de conflicto con las aplicaciones que instalaron. Si lo tienen, prueben con detener un momento el firewall y testear la instalación.
- Verifiquen que no tengan otras aplicaciones que utilicen por ej. el puerto 80

Christian Mazur - chmazur@gmail.com - 17.01.2009