Para facilitar las cosas
A lo largo de este proceso –y en otros sucesivos– vas a encontrar ficheros que tienen el mismo nombre y que
se dife- rencian sólo por la extensión.
Sería una buena idea tener Windows configurado de forma que se
visualicen siempre las
extensiones de todos los tipos de ficheros.
Te sugerimos que hagas esta modificación. Por si nunca has usado esa opción de Windows, te describimos cómo hacerlo.
Bastará con que hagas
doble click en el icono
Mi PC y vayas a la opción
Ver (en el caso de
Windows2000 o
XP habrás de ir a la opción
Herramientas) de la ventana que se abre. En el submenú de esa opción elige
Opciones de Carpeta.
Una vez en
Opciones de Carpeta debes elegir la opción
Ver de la nueva ventana y
buscar la línea en la que dice
Ocultar extensiones para los tipos de archivos conocidos y,
desmarcando su
casilla de verificación y pulsando sobre
Aplicar y
Aceptar ya podrás visualizar las extensiones de todos los ficheros.
Efecto de los cambios
en httpd.conf
La configuración de Apache permite múltiples opciones y ofrece muchas posibilidades. Tantas, que justificarían todo un curso dedicado al estudio de este servidor y sus opciones de configuración.
No entraremos en ese ámbito, pero sí trataremos de conocer –de forma somera– los
por qués de las modificaciones que comentamos a la derecha.
En la
primera modificación le hemos indicado a Apache que
deberá cargar un
módulo que se encuentra en el sitio que indican
la ruta y el
nombre del fichero. Este
módulo es el que permite que el servidor interactúe con PHP cuando sea necesario.
La segunda de las modificaciones resulta de gran importancia a efectos de seguridad. En la parte derecha tienes comentados las efectos que produce el uso de esa directiva de configuración
Mediante la tercera de ellas le estamos diciendo a Apache que cuando reciba una
petición –dirigida a uno cualquiera de los directorios accesibles a través de HTTP– en la que no se especifique ningún nombre de página, debe
comprobar si en ese directorio
existe alguna página llamada
index.html.
En caso de que dicha página existiera la mostraría y en caso contrario
volvería a comprobar para ver si existe alguna otra llamada
index.php (el segundo nombre de página contenido en esa línea).
En caso de no encontrar esa
coincidencia deberá continuar comprobando una a una, y de forma secuencial, la existencia de las páginas siguientes hasta encontrar alguna cuyo nombre coincidiera con uno de la lista establecida en la configuración de
httpd.conf. En el caso de que no encontrara ninguna que coincida con los nombres indi- cados en esta
directiva daría un mensaje de error del tipo:
File not found.
Esta opción de configuración de Apache es la que nos permite escribir direcciones del estilo
www.isftic.mepsyd.es en las que –sin especificar ningún nombre de página– nos aparece en pantalla el mismo contenido que si hubiéramos escrito:
www.isftic.mepsyd.es/index.html
Como podrás ver, esta opción de configuración añade mayor comodidad para al usuario.
Mediante la
cuarta modificación
AddType application/x-httpd-php se le indica a Apache que los únicos ficheros susceptibles de contener
scripts que deban ser ejecutados por el intérprete de PHP son aquellos que tienen como extensión
.php.
Si un fichero con extensión distinta contuviera
scripts PHP éstos
no serían ejecutados.
Por último, la inclusión de la línea PHPIniDir (una novedad respecto a versiones anteriores de Apache y PHP) permite indicar la ruta de acceso al fichero de configuración de PHP (php.ini) sobre cuya configuración trataremos en la página siguiente.
Otras modificaciones
en httpd.conf
A lo largo de curso iremos incorporando algunos
servicios que requerirán algunos otros cambios en la configuración de Apache.
Hablaremos de ellos cuando sea necesario realizarlos.
Modificación del fichero httpd.conf
para configurar PHP como módulo de Apache
Tal como comentábamos en la página anterior la utilización de PHP requiere introducir algunos cambios en la configuración de Apache.
En el momento en el que se instala Apache se crea automáticamente en el
subdirectorio C:\ServidoresLocales\Apache\conf un
fichero llamado
httpd.conf que contiene la configuración por defecto del servidor Apache. Como recordarás lo hemos editado y modificado durante el proceso de instalación para que el servidor utilizara el puerto 80
Tendremos que hacer algunas modificaciones más. Pero, como precaución por si tenemos algún problema y necesitamos volver a utilizar el fichero de la configuración por defecto, vamos a hacer una
copia de seguridad.
Abriremos el documento
httpd.conf con un editor de textos cualquiera –lo más cómodo será utilizar
PHP Coder que señala los números de línea– y con la opción
guardar como crearemos una copia con el nombre
httpd.orig
¡Cuidado!
Si has utilizado el block de notas de Windows es probable que en el proceso anterior no te haya guardado como httpd.orig sino como httpd.orig.txt.
Comprueba los ficheros del directorio c:\ServidoresLocales\Apache\conf y si te ha ocurrido lo que comentamos tendrás que recurrir al conocido método de pulsar sobre el icono del fichero con el botón derecho del ratón, elegir la opción Cambiar nombre y quitar el .txt que aparece al final del nombre del archivo.
Una vez hecho esto ya podremos hacer las modificaciones con toda tranquilidad, así que volveremos a abrir el fichero
httpd.conf para hacer los cinco cambios siguientes:
Fichero inicial | httpd.conf |
Guardar como | httpd.conf |
Modificaciones en el fichero inicial |
Línea | Cambios |
127 |
Donde dice: |
(línea en blanco) |
cambiar por: |
LoadModule php5_module C:/ServidoresLocales/php5/php5apache2_2.dll
|
217 |
Donde dice: |
Options Indexes FollowSymLinks MultiViews |
cambiar por: |
Options -Indexes FollowSymLinks MultiViews
|
239 |
Donde dice: |
DirectoryIndex index.html |
cambiar por: |
DirectoryIndex index.html index.htm index.php
|
382 |
Donde dice: |
(línea en blanco) |
cambiar por: |
AddType application/x-httpd-php .php
|
383 |
Donde dice: |
# |
sustituir por: |
PHPIniDir "C:/ServidoresLocales/php5"
|
Una vez efectuados estos cambios ya podremos guardar el fichero, sin cambiar su nombre original –
httpd.conf–, y tendremos lista la nueva configuración de Apache.
Algunos detalles importantes sobre httpd.conf
Si –con la configuración descrita más arriba– intentamos acceder a la dirección:
http://localhost/images/ nos aparecería un mensaje con este:
esto ocurre como consecuencia de haber puesto el
signo menos delante de Indexes (
¡cuidado! debe ir pegado a Indexes sin ningún espacio intermedio) en la línea
Options -Indexes FollowSymLinks MultiViews.
El subdirectorio
images no contiene ficheros con nombre
index.html, ni tampoco
index.php ni
index.htm (los especificados en la directiva
DirectoryIndex) y el
signo menos lo que hace es denegar el acceso (en el caso de no indicar el nombre de algún documento en la dirección) a los directorios que no los contengan.
Si no hubiéramos modificado esa directiva nos aparecería una lista con todos los ficheros contenidos en ese subdirectorio, tal como puedes ver en esta imagen.
Aunque no vamos a modificarlos, es conveniente saber que existen algunos otros elementos importantes en
httpd.conf.
DocumentRoot "C:/ServidoresLocales/Apache/htdocs"
Esta línea que se ha incluido automáticamente al hacer la instalación indica la ruta y el nombre del directorio en el que,
obligatoriamente, han de estar los documentos –y los subdirectorios– susceptibles de ser
servidos a través del protocolo HTTP.
Cualquier documento que estuviera
fuera de este directorio sería inaccesible, por lo tanto todos los documentos que vayamos generando a lo largo del curso,
deberemos guardarlos dentro de este directorio
htdocs.
Como es lógico, bastaría cambiar esa línea de la configuración para utilizar como
raíz del servidor otro directorio cualquiera.
ServerName localhost
Esta otra línea –también contenida en httpd.conf– es la que determina el nombre del servidor y a través de ella se identifican las peticiones que el navegador realiza a ese servidor. Por esta razón, cuando probábamos la instalación de Apache, escribíamos como dirección
http://localhost.