Intalación de PHP 5 como módulo de Apache 2.x

 

 

Primero que nada voy a especificar las versiones de PHP y Apache que utilice para realizar este manualillo.

 

PHP:

php-5.2.10-Win32.zip 

Apache:

apache_2.2.13-win32-x86-openssl-0.9.8k.rar  

OK. Ya con esto aclarado podemos empezar con nuestro manual para una instalación limpia y sin mayores complicaciones…

 

EMPECEMOS 

Cabe mencionar de una vez que, PHP 5 ya trae soporte nativo para conectarse a Oracle (esto a través de su extensión: oci8)

  1. INSTALACION DE APACHE 2.3.13 EN WINDOWS 

EJECUTAMOS EL INSTALADOR DE APACHE DE FORMA NORMAL vamos recorriendo las pantallas hasta que salga una donde nos piden unos datos, en cuyo caso pondremos:

 Network Domain: 127.0.0.1 

Server Name: 127.0.0.1 

Administrator’s Email Address: nuestro e-mail, aunque no es totalmente necesario. 

For All Users, on Port 80, as a Service: seleccionamos esta opción.

 

AUNQUE TAMBIEN PODEMOS SIMPLEMENTE COLOCARLE AL NETWORK DOMAIN: localhost

Server name: localhost o dejamos el valor por defecto.

 

 

La ruta que escoge apache por defecto es: 

C:\Archivos de programa\Apache Software Foundation\ 

Pero si escogemos la forma  personalizada  podremos cambia esta ruta de acceso a nuestro gusto.

 

 

  1. INSTALACION DE PHP 5.2.10 EN WINDOWS 

Lo que tenemos que hacer con esta instalación es: 

Descomprimir el zip, rar, o el formato en el que lo hayas bajado, menos  .msi    (el Microsoft installer,   porque para esta configuración no nos sirve instalarlo de esa forma) , en una carpeta colocada en el C:\   con el nombre que mejor  les parezca (yop por ejemplo  lo coloque en  "C:\servidor\php"). 

OK. 

Y ahora hay que COPIAR todos los archivos DLL localizados en la carpeta principal (c:\SERVIDOR\PHP) Y PEGARLOS EN c:\WINDOWS\SYSTEM32

 

 

El siguiente paso es configurar el php.ini. Renombramos o copiamos el archivo

C:\Servidor\PHP\php.ini-dist y le ponemos php.ini Ahora lo editamos con el mismo block de notas. Si lo necesitáramos (lee antes la explicación), editamos la línea register_globals = Off y la colocamos el valor: register_globals = On

 

 

  

A continuación vamos a indicar a PHP dónde se guardan las extensiones. Dentro del php.ini buscamos extension_dir y le ponemos la carpeta que contiene los archivos php_xxx.dll, que por defecto es la carpeta ext dentro de PHP.

IMPORTANTE: durante toda la configuración de directorios, debes utilizar esta barra "/" y no esta "\", además de ponerlo entre comillas. O sea, que debe quedar así: 

; Directory in which the loadable extensions (modules) reside.
extension_dir = "C:/Servidor/PHP/ext/"

 

En nuestro archivo quedara algo como esto.

 

 

 

 

Además podemos activar las extensiones que queramos o necesitemos, Para lo cual buscamos Windows Extensions y para cargar las extensiones les quitamos el (punto y coma)  ; de delante.

Por ejemplo, si quisiéramos cargar la extensión gd2.dll (para manejar las funciones PHP relativas a imágenes) deberíamos cambiar ;extension=php_gd2.dll por extension=php_gd2.dll Puedes ver para qué sirve cada extensión en el Manual oficial de PHP.

Como nota adicional, resaltar que hay algunas extensiones que requieren de librerías extra que no vienen en el paquete completo de PHP, y para hacerlas funcionar tendremos que buscar dichas librerías. No actives todas las librerías a diestro y siniestro porque luego saldrán errores de que no se encuentra tal archivo; antes de instalar una librería, comprueba que en la carpeta de PHP tienes los archivos DLL correspondientes.

IMPORTANTE: la librería php_mysql.dll es la que permite manejar las funciones relacionadas con MySQL, y por defecto en PHP5 viene desactivada, por tanto vamos a activarla de la forma que indicamos antes: buscamos ;extension=php_mysql.dll y le quitamos el ; de delante.    

Ahora, si vamos a hacer pruebas con upload de archivos via HTTP, debemos indicar el directorio donde los archivos se almacenarán temporalmente. Para ello buscamos upload_tmp_dir y le damos el valor de una carpeta que exista. Por ejemplo, en nuestro directorio C:\Servidor\PHP\ creamos una carpeta uploads, por lo que quedará algo así:

 

; Temporary directory for HTTP uploaded files (will use system default if not
; specified).
upload_tmp_dir = "C:/Servidor/PHP/uploads/"

 

 

 

 

Para trabajar con sesiones, debemos especificar un directorio donde se guarden los archivos temporales. Al igual que 2 pasos antes, buscamos session.save_path y le damos el valor de un directorio que exista (o lo creamos): 

session.save_path = "C:/Servidor/PHP/sessions/"

 

 

A continuación copiamos el php.ini a la carpeta C:\Windows\ i Ahora vamos a decirle al Apache que tenemos el PHP!  

  1. Configuración del archivo httpd.conf de Apache

 

 
 
*Observación: Antes de empezar a modificar el httpd.conf (o cualquier otro archivo de este manual) les recomiendo primordialmente que le saquen una copia a dicho archivo. Por lo que, si se les presentan problemas al terminar este manual… puedan examinar nuevamente sus pasos y ver las modificaciones que realizaron..
 
Buscamos Dynamic Shared Object (DSO) Support que es donde se cargan los módulos.
Ahí vamos a cargar el módulo de PHP para Apache, dando la dirección del archivo php5apache2.dll (PHP5) que lo contiene. Encontramos hasta un ejemplo:
 

 # Example:
# LoadModule foo_module modules/mod_foo.so
#

  
Y ahora añadimos justo debajo:
 
LoadModule php5_module C:/Servidor/PHP/php5apache2_2.dll
 
Tiene que quedar así:
 
# Example:
# LoadModule foo_module modules/mod_foo.so
#
LoadModule php5_module C:/Servidor/PHP/php5apache2_2.dll
 
*observación: esta es la única ruta de acceso que vamos a dejar con la barra normal "/" y sin comillas al "inicio y al final"
 

 
El directorio predeterminado para guardar nuestras páginas es el htdocs del Apache:
C:\Archivos de programa\Apache Group\Apache\htdocs\
Pero podemos cambiarlo fácilmente. Buscamos DocumentRoot y nos sale esto:
 

#
# DocumentRoot: The directory out of which you will serve your
# documents. By default, all requests are taken from this directory, but
# symbolic links and aliases may be used to point to other locations.
#
DocumentRoot "C:/Archivos de programa/Apache Group/Apache/htdocs"

 
Nosotros sustituimos la carpeta htdocs del Apache por la que queramos Pero en esta ocasión la dejaremos tal y como esta por defecto. Todos los archivos que vayas a probar con el Apache deberán estar localizados en esta carpeta.
Por lo que construiremos toda nuestra página dentro de ese directorio, que equivale al directorio raíz de nuestro host local.
 
Ahora buscamos el DirectoryIndex y nos sale algo como esto:
 
#
# 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

 
 Para que nos auto ejecuté el index predeterminado (si existe) y no nos salga un mensaje de error. Puedes usar más nombres si lo prefieres. Se ejecutarán por orden: si no encuentra el primero, pasa al segundo;
si no está el segundo, pasa al tercero, y así sucesivamente hasta que si no encuentra ninguno entonces da error. En la siguiente línea, si en nuestro directorio tenemos un index.htm y un index.php, por defecto se ejecutará el index.htm ya que está antes.

DirectoryIndex index.html index.htm index.php index.php3 index.php4 index.php5 index.phtml index.html.var

Ahora le añadimos debajo estas líneas (en la primera de ellas, si estamos instalando PHP5 también podemos añadir la extensión .php5 además de las que aparecen):

AddType application/x-httpd-php .php .php3 .php4 .php5 .phtml
AddType application/x-httpd-php-source .phps

La primera indica las extensiones que serán interpretadas por el Apache. Por ejemplo podemos añadir la extensión .htm o .html para que el Apache ejecute el código PHP contenido en esas páginas (es decir, el uso de código PHP no está limitado exclusivamente a archivos *.PHP). La segunda sirve para que si entras en una página loquesea.phps entonces se muestra el código PHP a color, muy útil si queremos por ejemplo mostrar el código fuente a color en una página. De tal forma que al final todo queda así:
 

 
 
Y ya podemos guardar el archivo httpd.conf
 
 
 

  1. Probando nuestro servidor Apache

 

Ahora vamos a probar el Apache y PHP, para lo cual deberemos arrancar el Apache.

 

Para Apache 2.0.X accederemos desde los accesos directos que se crean en el menú de inicio al acceso directo Monitor Apache Servers y aparecerá un icono al lado del reloj. Pinchando en el icono, sale un menú desde donde podremos iniciar, apagar y reiniciar el Apache. Como queremos encenderlo, si no lo hace automáticamente le daremos a Start. Si ya estaba encendido le daremos a Restart útil si cambiamos alguna configuración de PHP "al vuelo") para que al reiniciarlo nos coja los cambios que hemos hecho.

Si todo ha ido bien, podemos crear un archivo llamado por ejemplo info.php dentro de la carpeta de nuestra web cuyo contenido sea exclusivamente el siguiente:

 

<?
phpinfo();
?>

 

Si accedemos mediante nuestro navegador a la dirección http://127.0.0.1/info.php o http://localhost/info.php (recuerda que 127.0.0.1 = localhost) con el Apache activo deberemos visualizar una página de información de PHP. Si no sale, algo ha fallado, revisa los pasos.

 

 
 
Como has podido observar, para acceder a nuestro servidor local y así poder probar nuestros script y las páginas de nuestra web, siempre accederemos con la dirección 127.0.0.1 o localhost (sin WWW) en el navegador pues esta es la dirección del host local de nuestro ordenador. En general, para visualizar o acceder a cualquier archivo (PHP, HTML, TXT, ZIP, GIF, JPG, etc.) que tengamos en nuestra carpeta de la
web, lo haremos de la siguiente forma:

http://localhost/CARPETA/ARCHIVO.EXT

Donde CARPETA es la carpeta (o serie de carpetas) relativas a la raiz en que se encuentra el ARCHIVO.EXT

Por tanto resaltar que no sólo podemos hacer llamadas a script PHP, sino también a páginas HTML, descarga de archivos, imágenes, etc., tan solo poniendo la dirección correcta en el navegador. Es simplemente un servidor. De esta forma, podemos tener nuestra web funcionando en nuestro propio ordenador para construirla desde cero o bien hacer las pruebas que necesitemos sin tener que estar conectados a Internet.
 
Bueno espero que les halla gustado.. Pero mas que eso halla sido de utilidad para la configuración de su Apache y PHP.. Ya con esto podrán empezar a desarrollar a nivel web.