Instalar Apache 2, PHP 5 y MySQL 5 en Window XP/2000/2003

Revisión 1.1 (25/03/2009)

Renuncia de Responsabilidad

El autor no pretende ser un experto en instalaciones ni el Linux por lo que no se hace responsable de los posibles daños producidos por acciones originadas por el uso de este documento.

Información sobre el Copyright

Pueden distribuirse o reproducirse copias en su integridad o parte de este documento en cualquier medio físico o electrónico sin permiso del autor, siempre que se incluya este Copyright en todas las copias.
Para cualquier consulta sobre este artículo puedes ponerte en contacto con Xavi al correo [email protected]
Toda aportación a este documento será valorada positivamente.

CONTENIDO

PROPÓSITO

El propósito de este artículo es el de mostrar los pasos detallados para instalar nuestro servidor Apache 2 con PHP 5, y base de datos MySQL.

OBTENER LOS ARCHIVOS

Vamos a descargar el servidor de Apache 2, y PHP5.
Actualmente, existe la versión 2.2.3 de Apache, pero esta versión, da problemas con el PHP 5 (actualmente la versión 5.1.6), ya que la dll que trae PHP 5 únicamente funciona para la versión 2.0.n de Apache, por lo que vamos a descargar la versión 2.0.59 de Apache.
http://apache.rediris.es/httpd/binaries/win32/apache_2.0.59-win32-x86-no_ssl.msi

Para PHP, vamos a descargar la versión 5.1.6 de la pagina de php (http://www.php.net)
http://es2.php.net/distributions/php-5.1.6-Win32.zip

Para mysql, vamos a utilizar la versión 5.0.24a de Mysql.
http://mysql.rediris.es/Downloads/MySQL-5.0/mysql-essential-5.0.24a-win32.msi

INSTALAR APACHE 2

Primeramente, instalamos el Apache ejecutando el fichero "apache_2.0.59-win32-x86-no_ssl.msi".
Nos solicita nombre de dominio, subdominio y e-mail del administrador... Como no vamos a montar ningún servidor DNS, de momento lo dejamos tal cual viene. Si fuera necesario, podemos modificarlo el fichero de configuración.

Nos solicita que indiquemos en que carpeta queremos que se instale. Lo modificamos y colocamos "c:\server\apache2\" (el mismo generará los directorios). Vamos a instalar todas las aplicaciones en la carpeta "c:\server".

ATENCIÓN: Si al instalarse te da un error de servicio, tienes que entrar en los servicios de Windows y parar el servicio "Cliente Web", desinstalar y volver a instalar el apache2.

Una vez instalado, nos va a quedar un icono con un reloj, un icono con la flecha de apache y una flecha color verde conforme el servidor se ha iniciado correctamente. Para probarlo, iniciamos nuestro navegador y en la url introducimos nuestra ip (http://192.168.0.10) y deberemos de visualizar la página inicial de apache2 tal y como se muestra en la siguiente imagen:

INSTALAR PHP 5

PHP no se instala, se copian los archivos y se le indica a Apache2 donde están los ficheros del mismo.
Descomprimimos el fichero php-5.1.6-Win32.zip en la carpeta "C:\server\php\".

vamos a modificar el fichero de configuración del PHP

Copiamos el fichero "c:\server\PHP\php.ini-recomended" a "c:\windows\php.ini" (modificar 'windows' por el directorio de vuestro windows).
Editamos el fichero "c:\windows\php.ini" modificando:
  • Indicamos la ruta hasta donde se encuentran las extensiones del PHP5
    extension_dir = "./" ==> extension_dir = "c:/server/PHP/ext/"
  • Vamos a habilitar algunas extensiones de este fichero puesto que las necesitaremos para nuestro propósito. Para habilitarlas tendremos que eliminar el punto y coma que hay al principio de cada extensión. Podemos desmarcar los que deseemos.
    ;extension=php_curl.dll ==> extension=php_curl.dll
    ;extension=php_gd2.dll ==> extension=php_gd2.dll
    ;extension=php_mysql.dll ==> extension=php_mysql.dll
  • Si desemos utilizar cualquier otro tipo de base de datos como por ejemplo Microsoft SQL Server, habilitaremos la extensión php_mssql.dll
    ;extension=php_mssql.dll = "./" ==> extension=php_mssql.dll

     NOTA: Si vamos a conectarnos a un servidor Microsoft SQL Server, puede ser que tengamos que colocar dentro de la carpeta windows\system32 el archivo ntwdblib.dll, pero antención, no colocar el que viene con el php, ya que no nos funcionara, tenemos que utilizar el que viene con la instalacion de SQL Server, en mi caso la versión "Microsoft SQL Server 2005" (desde aqui lo podeis descargar: http://www.asiermarques.com/wp-content/uploads/2007/11/ntwdblib.dll)

  • Vamos ha habilitar la carpeta para los archivos temporales. Tenemos que crear el directorio "c:/server/PHP/uploads/"
    ;upload_tmp_dir = ==> upload_tmp_dir = "c:/server/PHP/uploads/"
  • Para trabajar con sesiones, también tenemos que indicar el path donde se guardan los archivos temporales. Tenemos que crear el directorio "c:/server/PHP/sessions".
    ;session.save_path = "/tmp" ==> session.save_path = "c:/server/PHP/sessions"
Tenemos que modificar el archivo de configuración de apache2, para indicarle que tiene que utilizar el PHP5. Para ello, modificamos el fichero "c:/server/apache2/Apache2/conf/httpd.conf"
  • En la sección "Dynamic Shared Object (DSO) Support" añadimos una nueva linea:
    LoadModule php5_module "c:/server/php/php5apache2.dll
  • Buscamos la linea que contenga "DirectoryIndex" y la modificamos así:
    DirectoryIndex index.html index.html.var ==> DirectoryIndex index.html index.html.var index.php
  • Justamente debajo de esta linea añadimos:
    AddType application/x-httpd-php .php
    AddType application/x-httpd-php-source .phps
  • Vamos a cambiar el directorio donde se almacenan los ficheros de nuestro servidor web, para que se encuentren en "c:/server/web/" (hay que generar el directorio).
    DocumentRoot "C:/server/apache2/Apache2/htdocs" ==> DocumentRoot "C:/server/web"
    <Directory "C:/server/apache2/Apache2/htdocs"> ==> <Directory "C:/server/web">
Vamos a probar que nuestro servidor Apache2 con PHP5 funcione correctamente.
Reiniciamos nuestro servidor pulsando en el botón izquierdo de nuestro ratón en el icono de apache2 que hay al lado del reloj y seleccionamos "restart"
Creamos un nuevo fichero albergado en c:/server/web denominado phpinfo.php, que en su interior habrá únicamente <?php phpinfo(); ?>
Abrimos nuestro navegador y colocamos en la ruta nuestra ip seguida del archivo que hemos creado: http://192.168.0.10/phpinfo.php

INSTALAR MYSQL 5.0

Ejecutamos el fichero "mysql-essential-5.0.24a-win32.msi" para su instalación.
En la instalación, seleccionamos la opción de "Custom", ya que es la única que nos permite seleccionar el directorio donde queremos instalarlo.


Pulsamos el botón "Change" para cambiar el directorio, y colocamos "c:\server\MySQL Server 5.0\"

Una vez terminada la instalación, nos solicita si deseamos logearnos o crear una nueva cuenta en la web de mysql. En nuestro caso seleccionaremos "Skip Sign-up".

Nos indica si deseamos configurar nuestro servidor MySQL, dejamos la opción marcada, y continuamos (una vez instalado el MySQL, se puede volver a ejecutar este wizard desde el menú inicio).

Indicamos que deseamos realizar la configuración detallada.

Indicamos que será una maquina para desarrollo. Podéis indicar cualquier otra opción si lo deseáis.

Indicamos que utilizamos bases de datos multifuncional. Estos nos permite diferentes tipos de bases de datos.

La dejamos tal cual...

Nos solicita que le indiquemos aproximadamente el número de conexiones concurrentes al servidor MySQL. Lo dejamos tal cual.

Si vamos a necesitar acceso a nuestra base de datos desde el exterior lo dejamos por defecto.

Lo dejamos por defecto.

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.

Nos pregunta si deseamos utilizar MySQL con el usuario "root" con contraseña, o si deseamos crear un usuario anónimo. En nuestro caso, indicamos un password para el usuario root, y marcamos que permitimos acceso desde el exterior (esto depende de la gente que pueda tener acceso a vuestro servidor y del nivel de seguridad de vuestra red).

Ya podemos utilizar nuestro php con base de datos mysql.

 

    Bibliografía
  1. Página inicial de Apache
    http://www.apache.org/
  2. Página inicial de php
    http://www.php.net
  3. Página inicial de MySQL
    http://www.mysql.com/