Como instalar Apache + PHP + MySQL sin usar instaladores

La gran mayoria usa Appserv, Xampp o algunos de esos paquetes pre-configurados para novatos.
El proposito de este tutorial es explicar paso a paso como armar tu propio paquete a partir de los .zip sin usar instalador.
De esta manera te aseguras de tener la ultima version de los tres componentes basicos.
Probado en Windows 2000, XP y Vista.


Descargar los 3 .zip:

Descomprimiendo todo en su lugar:
  • La idea es tener 3 carpetas:
    c:\apache
    c:\php
    c:\mysql
  • Descomprimir el contenido del .zip de Apache en "c:\apache"
  • Mover el contenido de la carpeta "c:\apache\Apache2" a "c:\apache"
  • Borrar la carpeta "Apache2" (porque quedo vacia)
  • Borrar todos los .txt sueltos en "c:\apache" (no es realmente necesario). Quedaria asi:

  • Descomprimir el .zip de PHP en C:\php
  • Descomprimir el .zip de MySQL en C:\ y renombrar la carpeta generada (por ej. mysql-5.0.67-win32) a c:\mysql

Configurar Apache Webserver:
  • Abrir "c:\apache\conf\httpd.conf" (conviene asociarlo con el Bloc de notas) y editar esto:
    ServerRoot "c:/apache"
    DocumentRoot "c:/apache/htdocs"
    ServerAdmin lucianoaibar@telpin.com.ar
    ServerName miservidor.com:80
    <Directory "c:/apache/htdocs">
        Options FollowSymLinks
        AllowOverride None
        Order allow,deny
        Allow from all
    </Directory>
    <IfModule dir_module>
        DirectoryIndex index.php index.html index.htm
    </IfModule>
    ErrorDocument 401 "<html><body bgcolor=#000000><center><h1><br><font face='Verdana' color=#FF0000><b>ACCESO DENEGADO</b></center></font></html>"
    ErrorDocument 403 http://miservidor.com/
    ErrorDocument 404 "<html><h1>Archivo no encontrado.</html>"
    ErrorDocument 500 "<html><h1>ups!... un error.</html>"
  • Instalar Apache Webserver como servicio de Windows ejecutando:
    c:\apache\bin\httpd.exe -k install

Configurar PHP:
  • Renombrar c:\php\php.ini-production a php.ini
  • Copiar c:\php\php5ts.dll a c:\apache\bin
  • Editar php.ini asi:
    doc_root = c:\apache\htdocs
    extension_dir = c:\php\ext
    enable_dl = on       <-- Habilita la funcion dl() para cargar extensiones en tiempo de ejecucion
  • Habilitar las extensiones necesarias eliminando el signo ";" anterior a "extension=php_..."
    No es necesario usar la funcion dl() si de habilita una extension en php.ini
    Aclaracion: algunas extensiones necesitan de DLLs en C:\WINDOWS\SYSTEM32
    Por ejemplo habilitar soporte para MySQL:
    extension=php_mysql.dll
  • De nuevo editar "c:\apache\conf\httpd.conf" y agregar:
    LoadModule php5_module "c:/php/php5apache2_2.dll"
    PHPIniDir "c:/php"
    ... y buscar "<IfModule mime_module>". Abajo agregar:
    AddType application/x-httpd-php .php

Configurar MySQL:
  • Renombrar c:\mysql\my-medium.ini a c:\mysql\my.ini
  • Agregar esto arriba del todo dentro del archivo c:\mysql\my.ini :
    [mysqld]
    basedir=C:\\mysql
    datadir=C:\\mysql\\data
  • Copiar c:\mysql\bin\libmysql.dll a c:\apache\bin
  • Instalar MySQL como servicio de Windows ejecutando:
    Inicio automatico: mysqld.exe --install MySQL --defaults-file=C:\mysql\my.ini
    Inicio manual: mysqld.exe --install-manual MySQL --defaults-file=C:\mysql\my.ini
  • Iniciar MySQL ejecutando:
    NET START MySQL
  • Asignar clave al usuario "root" ejecutando:
    c:\mysql\bin\mysql.exe -u root
    UPDATE mysql.user SET Password = PASSWORD('1234') WHERE User = 'root';
    FLUSH PRIVILEGES;
    exit;

Terminando:
Agregar al inicio de Windows un acceso directo a "c:\apache\bin\ApacheMonitor.exe"
Te queda un iconito a la derecha, pegado a la hora, que te sirve para iniciar el Webserver
Verificar por errores leyendo el archivo "c:\apache\logs\error.log"
y empeza a rellenar c:\apache\htdocs con tu web ^^