Popular channels

Servidor Web Apache

Servidor Web Apache en Windows





Apache es un programa que te permitirá crear un servidor http en tu propio ordenador de una forma rápida y sencilla.
Es el software más usado mundialmente para crear servidores http (bajo linux claro). En este manual aprenderemos a crear el servidor bajo windows, ya que está mas extendido y es mas sencillo de usar. Es recomendable que hagamos el servidor usando Windows 2000 o NT, ya que su estabilidad es mayor que los sistemas basados en Win9X,Me, etc. De todas formas, no hay ningun problema en hacer funcionar el software en estos sistemas.
La versión que he utilizado de el sofware es la 2.2.6.

Requisitos mínimos
Los requerimientos mínimos para hacer funcionar el "Apache" son:

-Un sistema Windows NT 4.0 y Windows 2000, aunque también funcionan sobre un sistema W9X, aunque no es tan estable.
-Un protocolo TCP/IP.
-Si estamos trabajando con NT 4.0, es recomendable instalar el Service Pack 3 ó 6, ya que el Service Pack 4 creó una serie de fallos de integridad en el protocolo TCPIP/WinSock que fueron resueltos en posteriores Service Packs.
-Si estamos trabajando con un sistema Windows 95 o similar, necesitaremos el winsock 2. Una vez que tengamos todos los requerimientos, procederemos a la instalación y configuración de el programa.
Descargar el programa desde aqui



-en el caso de tener router o firewall se debe abrir el puerto 80 en los dos ,ya que sino , no se podran ver las paginas web alojas en el servidor desde internet y el servidor solo funcionara local .


Instalación de Apache en Windows


Para comenzar la instalación, se deberá descargar al ordenador local el fichero de instalación apache_2.2.6-win32-x86-no_ssl.msi de la dirección web http://www.apache.org/dist/httpd/binaries/win32/apache_2.2.6-win32-x86-no_ssl.msi . Una vez copiado en nuestro ordenador, bastará con hacer doble click sobre él para que comience la instalación, ya que es un fichero instalable de Windows.

Si se quiere que todos los usuarios de un ordenador puedan arrancar y parar el servidor web desde Inicio >> Programas >> Apache HTTP Server 2.0.50, la instalación deberá hacerse desde la cuenta Administrador o desde una cuenta con derechos de Administrador. Si se instala desde una cuenta que no tenga derechos de administrador, solo se podrá arrancar y parar el servidor ejecutando directamente el fichero apache.exe almacenado en la carpeta donde se instaló el servidor web(C:Archivos de programaApache GroupApache2).

Durante la instalación irán apareciendo las siguientes pantallas:

Pantalla de Bienvenida, pulsamos Next.



Pantalla de Licencia, el programa de instalación pregunta si aceptamos las condiciones de la licencia para instalación. Seleccionamos I accept the terms in the license agreement, confirmando que sí aceptamos la licencia:



Pantalla de Información General de Apache, ¿qué es? ¿donde se puede descargar la última versión? ¿donde está la documentación asociada?, pulsamos Next:



Pantalla de Información del ordenador, donde estamos haciendo la instalación, nos pedirá los siguientes datos:

Al igual que podemos identificar en una red a un ordenador mediante su dirección IP, también se le puede identificar mediante un nombre dentro del dominio de nombres (red de nombres) donde está ubicado. Estos nombres se guardan en un servidor de nombres (DNS). Este servidor de nombres suele tener asociado al menos un dominio, al cual vamos "enganchando" los distintos equipos (simplemente poniendo como "apellido" al equipo el nombre de dominio).

Normalmente en los centros educativos o en los equipos domésticos, los equipos no están registrados en ningún DNS, así que durante esta instalación, bastará con poner cualquier dato en estos apartados (es una información obligatoria en la instalación de Apache que posteriormente no se utilizará). Sin embargo, nuestro servidor web funcionará, ya que los ordenadores que se quieran conectar a nuestro servidor web deberán poner como URL(dirección en el navegador de páginas web), la dirección IP de nuestro servidor.

Network Domain, el dominio de DNS donde se registrará el servidor web. Por ejemplo, micentro.es.

Server Name, el nombre del equipo en el dominio de DNS . Normalmente está formado por el nombre del equipo seguido de un punto y el nombre del dominio al que está asociado (nombre que se ha puesto en el apartado anterior). Por ejemplo, miequipo.micentro.es.

Administrator's Email Address, esta es la dirección de correo electrónico, en la que se recibirán los avisos que nos envíen los que visiten nuestras páginas, y se mostrará cuando haya mensajes de error en el ordenador que intente acceder a páginas de nuestro servidor web. Debe ser una dirección de correo real si queremos que nos lleguen mensajes desde las personas que lean nuestras páginas.

A continuación, se pregunta si se quiere lanzar el servidor web como un servicio para todos los usuarios (for All Users, o­n Port 80, as a Service), o si se lanzará manualmente y únicamente para el usuario actual (only for the Current User, o­n port 8080). Pulsamos sobre la primera de las opciones. Así cuando se encienda el ordenador en el se está instalando el servidor web se pondrá en funcionamento automáticamente el servidor y además todos los usuarios de dicho ordenador podrán lanzarlo o pararlo(si estamos haciendo la instalación desde una cuenta sin derechos de administrador no se nos hará esta pregunta y se instalará solo para el usuario actual).



Pantalla de Tipo de Instalación, nos da opción a instalación típica(con los componentes predeterminados) o instalación personalizada(en la que nosotros deberemos elegir qué componentes queremos instalar). Elegimos instalación típica, Typical, y pulsamos Next:



Pantalla de Directorio de Instalación, donde se va a instalar el servidor web. Nos da la opción a cambiar el directorio que el programa de instalación propone por defecto, C:Archivos de programaApache GroupApache2. Si no queremos cambiar el lugar de instalación, pulsamos Next:



Pantalla de Continuar con la Instalación, pulsamos Install:



Después aparecerá la siguiente pantalla, no tenemos que hacer nada aquí:



Por último, cuando el proceso se ha completado, aparece la siguiente pantalla, pulsamos Finish y se da por terminada la instalación. Entonces el servidor web se arrancará automáticamente.



Podemos comprobar que ha aparecido en nuestra barra de tareas el siguiente símbolo:

Este nos informará de cuando está arrancado (punto interior en verde) o parado (punto interior en rojo) el servidor web.

Para comprobar si funciona correctamente el servidor web, será suficiente poner cualquiera de las siguientes URL en una pantalla del navegador:

http://localhost/ ó http://127.0.0.1/

A lo cual el navegador, si todo ha ido bien, mostrará la siguiente pantalla:



Desde donde podemos manejar el servidro web

Desde el menú Inicio >> Programas >> Apache HTTP Server 2.0.50 >> Control Apache Server.



O bien, haciendo doble click sobre el icono de la barra de tareas . Donde aparecerá la siguiente pantalla:



Operaciones que se pueden realizar con el servidor web

*Start, lanzar o iniciar el servidor web.
*Stop, parar el servidor web.

*Restart, si se han hecho cambios en la configuración, se deberá parar el servidor y volver a arrancarlo.

*Services, abrir una ventana para ver los servicios del ordenador(entre ellos está el del servidor web).

*Connect, conectarse a un servidor web remoto(instalado en otro ordenador) para administrarlo desde el ordenador local.

*Disconnect, desconectarse del servidor remoto.

Hacer que el servidor web no arranque automaticamente

Pulsando en el botón Services del monitor (como se explica en el apartado anterior), aparece la pantalla con los servicios que se ejecutan en nuestro ordenador. Otra forma de abrir esta pantalla es pulsando Inicio >> Configuración >> Panel de Control >> Herramientas Administrativas >> Servicios.

Entre ellos se busca el servicio Apache2:



Haciendo doble click sobre la palabra Apache2 de la columna de la izquierda, aparece la pantalla con la configuración del servicio:



En Tipo de inicio aparece el valor Automático, se debe cambiar a Manual. Así solo se arrancará el servidor web cuando nosotros lo hagamos y no cada vez que se encienda el ordenador en el cual está instalado. Después de hacer los cambios pulsamos Aceptar.

Configurar Apache Windows

Cuando se instala este servidor, automáticamente se almacena en el ordenador en que se ha instalado una documentación de referencia a la que se puede acceder através de la dirección http://localhost/manual/index.html.

Toda la configuración del servidor web Apache en Windows se guarda en el fichero C:/Archivos de Programa/Apache Group/Apache2/conf/httpd.conf. Todos los cambios en la configuración de nuestro servidor web deberán hacerse en dicho fichero.

En el fichero httpd.conf hay líneas con información útil para ejecutar el servidor(parámetros y sus valores) y otras líneas con anotaciones para entender qué significan las líneas que se ejecutan.Este último tipo de líneas, llamadas comentarios, llevan un # al comienzo, por eso las líneas que realmente se ejecutan de nuestro fichero de configuración son las que no tienen un # al comienzo de la línea.

El modo de funcionamiento del servidor web dependerá de los valores que tengan los parámetros(¡¡OJO!!, siempre se pone un único espacio en blanco entre el nombre y el valor del parámetro). El formato de un parámetro es:

nombre_parámetro valor_del_parámetro

A la hora de modificar este fichero se pueden seguir las siguientes recomendaciones:

Reglas generales para modificar un fichero de configuración:

1. Hacer una copia del fichero que vamos a modificar. Esta copia la podemos guardar en otra carpeta diferente o bien en el directorio en que estamos trabajando cambiándole el nombre(poniéndole el mismo nombre + un número correlativo, p.ej: para el fichero httpd.conf, la copia que creemos puede llamarse httpd-1.conf, así para cada cambio que vayamos haciendo tendremos una versión anterior al cambio que acabamos de realizar).
2. Abrir el fichero de configuración original con el Bloc de Notas, ya que al escribir en él, otros programas como el Word o el Wordperfect introducen caracteres que nosotros no vemos y los programas que utilizan estos ficheros de configuración dejan de funcionar correctamente.
3. Realizar en el fichero los cambios necesarios. Otra norma no escrita al realizar cambios en los ficheros de configuración consiste en poner un comentario antes o al lado del cambio que hayamos hecho. También se suelen ir haciendo cambios de uno en uno para comprobar que funciona bien cada uno de ellos.
4. Guardar el fichero.
5. Comprobar si los cambios han conseguido el resultado esperado. Si todo ha ido bien, podemos borrar el fichero copia que hicimos antes. Si no funciona bien, debemos restituir el fichero de configuración que duplicamos antes de realizar los cambios en el fichero, comprobar otra vez que todo va bien tras el paso de vuelta atrás y volver al punto 1.

En nuestro caso, para comprobar si los cambios funcionan o no, se debe reiniciar el Servidor Apache(no hace falta reiniciar el ordenador, solo el servidor web).

Para realizar cambios en parámetros concretos es muy útil el uso de la herramienta de búsqueda del bloc de notas, ya que así le podemos poner el nombre del parámetro a cambiar y ésta lo encuentra dentro del fichero de configuración:



A continuación, se da un repaso a los parámetros básicos para una correcta configuración del servidor web como son: el directorio donde se guardan las páginas web, a quién se deja acceder a ciertas páginas, las páginas web asociadas a usuarios del ordenador(donde se instala el servidor), qué se pondrá en la barra de direcciones del navegador para llegar a nuestras páginas(cual es la URL para acceder a nuestras páginas), por donde escucha nuestro ordenador las peticiones de páginas que le llegan de fuera, etc.

Antetodo quiero comentar como explicaré el contenido de este fichero. El texto que aparece en color verde representa texto original encontrado en el fichero httpd.conf. Cuando cuente como se modifican ciertos parámetros o etiquetas, el texto que deberemos copiar o con el cual sustituir el contenido original aparecerá en color rojo.

Donde poner nuestras paginas web

Las páginas web de nuestro servidor deben estar todas guardadas en una misma carpeta. Dentro de esta podremos crear más subcarpetas y clasificar así nuestros contenidos guardando cada página donde consideremos más oportuno.

Cómo sabe el servidor web, cuando se va a ejecutar, dónde buscar los archivos que debe mostrar a los navegadores que le pedirán las páginas; mediante el parámetro DocumentRoot. Por defecto al instalar el servidor, este parámetro tiene el valor C:/Archivos de programa/Apache Group/Apache2/htdocs.

Este parámetro aparece por defecto en nuestro fichero de configuración de la siguiente forma:
DocumentRoot "C:/Archivos de programa/Apache Group/Apache2/htdocs"



Si quisiéramos colgar nuestras páginas web de otra carpeta distinta a la propuesta por defecto, por ejemplo de C:/Mis paginas web, deberíamos cambiar el valor del parámetro en el fichero de configuración, poniendo en esa línea:
DocumentRoot "C:/Mis paginas web"
( Además, deberemos guardar los cambios en el fichero y volver a lanzar el servidor web para que el cambio sea efectivo).

fichero que intenta abrir el servidor web

Cuando desde un ordenador intentan acceder a las páginas de nuestro servidor, el servidor web sabe que tiene que ir a buscar esas páginas a donde le diga DocumentRoot. Pero de esa carpeta, ¿el servidor qué archivo muestra?

El archivo o archivos a mostrar es lo que se indica en el parámetro DirectoryIndex, en el fichero httpd.conf aparece con el siguiente valor por defecto:

DirectoryIndex index.html index.html.var

Así que nosotros tendremos que poner al menos un fichero llamado index.html en la carpeta especificada en DocumentRoot, en nuestro caso en C:/Mis paginas web/index.html. O bien, cambiar el valor del parámetro DirectoryIndex con el nombre de la página que queremos que se abra al invocar a nuestro servidor web:

DirectoryIndex mipagina.html

Si hacemos este cambio cuando al servidor web le llegue una petición de página desde un ordenador, buscará en C:/Mis paginas web, un fichero que se llame mipagina.html y si no lo encuentra entonces enseñará una página como la siguiente:

http://observatorio.cnice.mec.es/images/upload/1observatorio/monografico_servidor/5/imagen04.png

En este parámetro se pueden poner tantas páginas como queramos separadas por un espacio en blanco, e irá buscando una tras otra hasta que encuentre alguna.

Permitir y restringir acceso a algunas de las carpetas web

Se puede dar distintos permisos de acceso a las carpetas y archivos que conforman nuestro espacio web.
Dentro de la carpeta especificada en DocumentRoot se guardarán páginas y carpetas. Para ello se utiliza la etiqueta . Esta etiqueta está formada por un signo < , la palabra Directory, un espacio en blanco, el camino completo de dicha carpeta en nuestro disco duro, y el signo >. Después de poner esta etiqueta se ponen las propiedades que se quiere tenga en cuenta el servidor web respecto a esta carpeta y por último otra etiqueta de cierre.

En el fichero de configuración aparece de la siguiente forma:



Primero, se configura lo que debe hacer el servidor "por defecto"(es decir para cualquier URL con la que se acceda a él y no sabe qué página mostrar). Para este caso normalmente no se permitirá acceder a ningún sitio que nosotros no dejemos. Para conseguirlo, en el código original introduciremos la línea que aparece en color rojo, para denegar acceso:

DIRECTORY /
Options FollowSymLinks
AllowOverride None

Deny from all
/DIRECTORY

Después se dan permisos o restringe el acceso a la carpeta de la que cuelgan todas nuestras páginas y por último se irán dando o quitando permisos a subcarpetas o a archivos concretos que no queremos que se vean. Con el siguiente código, hacemos visible el directorio del que cuelgan todas nuestras páginas. Si ahora ponemos en el navegador http://dirIP_del_ServidorWebnos mostrará la página que hayamos indicado en el parámetro DirectoryIndex, normalmente index.html y que debe estar guardada en C:/Mis paginas web (el valor del parámetro DocumentRoot).

DIRECTORY "C:/Mis paginas web"
Options Indexes FollowSymLinks
AllowOverride None
Order deny,allow
Allow from all
/DIRECTORY


Las propiedades que se pueden definir para cada carpeta son las siguientes:

*Options, son opciones del servidor disponibles para la carpeta a la que se refiere. Valores habituales:
Indexes, si en la carpeta no hay un fichero index.html, se mostrará en el navegador de quien quiera acceder a nuestras páginasun índice con todos los ficheros guardados en la carpeta a la que intenta acceder.
FollowSymLinks, el servidor seguirá enlaces simbólicos a esta carpeta(alias de esa carpeta). Es decir, permitimos que este directorio, tenga otros nombres diferentes al real en nuestro ordenador, y aún así los navegadores de los equipos que intenten acceder a nuestra página , lo entenderán.

*AllowOverride, permite decidir el tipo de directivas(opciones de configuración avanzadas) que se pueden escribir en los ficheros .htaccess(ficheros donde se puede ampliar la configuración que se quiere para una carpeta determinada). En una configuración básica, como la que trata de enseñar este artículo no conviene utilizar este tipo de parámetro. Para inutilizarlo le damos el valor None.

*Deny, si ponemos from all prohibirá el acceso a cualquier navegador a todos los ficheros y carpetas que estén dentro de dicha carpeta. En lugar de all ,se puede indicar un nombre de dominio o un nombre de equipo o una dirección IP o un grupo de direccionesIP.

*Allow, si ponemos from all permitirá acceder a cualquier navegador a todos los ficheros y carpetas que estén dentro de dicha carpeta.En lugar de all ,se puede indicar un nombre de dominio o un nombre de equipo o una dirección IP o un grupo de direccionesIP.

Por ejemplo, con el siguiente código, se permite el acceso a una carpeta llamada contenidos publicos situada dentro de la carpeta C:/Mis paginas web:

DIRECTORY "C:/Mis paginas web/contenidos publicos"
Options Indexes FollowSymLinks
AllowOverride None
Order deny,allow
Allow from all
/DIRECTORY


Con las siguientes líneas se prohibe el acceso a una carpeta llamada contenidos personales situada dentro de la carpeta C:/Mis paginas web:

DIRECTORY "C:/Mis paginas web/contenidos personales"
Options Indexes FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
/DIRECTORY

Por último, si se quiere prohibir el acceso excepto a ciertas direcciones IP, se deberá poner después de la directiva de Deny, una directiva de Allow con las direcciones IP desde las cuales dejamos acceder a nuestras páginas:

.......
Order deny,allow
Deny from all
Allow from 192.168.1.25
/DIRECTORY

O bien, si estamos dentro de un dominio DNS(están registrados los nombres de nuestros ordenadores en algún servidor de nombres, DNS), podremos dar permiso a todo un dominio o a algún equipo dentro de este dominio:

.......
Order deny,allow
Deny from all
Allow from micentro.es
/DIRECTORY


color=blue]Prohibir el acceso a ciertos ficheros de nuestro sitio web[/color]

Se puede prohibir el acceso a un fichero (o tipo de fichero) almacenado en una carpeta determinada.

Si se quiere prohibir el acceso a un fichero(p. ej: prohibido.htm) en una carpeta determinada, se deberá poner un grupo .... entre las etiquetas que determinan las directivas para el directorio en cuestión:

FILES prohibido.htm
Order deny,allow
Deny from all
/FILES
AllowOverride FileInfo
Order allow,deny
Allow from all
/DIRECTORY


Si lo que se quiere es prohibir el acceso a un fichero(p. ej: prohibido.htm) en todo nuestro espacio web, se deberá poner un grupo .... pero fuera de las etiquetas de directorio:

FILES prohibido.htm
Order deny,allow
Deny from all
/FILES


Si lo que se quiere es prohibir el acceso a un tipo de ficheros(p. ej: todos los .htm), pondremos el grupo .... de la siguiente manera:

FILES *.htm
Order deny,allow
Deny from all
/FILES


Crear un enlace simbolico (Alias) a una carpeta

Un alias para una carpeta, permitirá que los navegadores que acceden a nuestras páginas no sepan los nombres que tienen las carpetas del ordenador que contienen las páginas web. Aunque realmente se podrá acceder a las páginas de esa carpeta tanto con el alias como con el nombre del directorio donde se guardan las páginas. Tiene sentido utilizar alias para ocultar el directorio real donde guardamos las páginas web o bien para hacer más sencilla la navegación por nuestras páginas.

Para crear el alias se introduce, antes de la etiqueta < Directory ...... > de la carpeta a la que queremos dar un alias, la siguiente línea:
Alias /nombre_simbolico "camino_de_la_carpeta_en_el_ordenador".

Si el nombre_simbólico lleva la barra / al final, en el camino_real_completo también la tendremos que poner.

Por ejemplo, mediante la siguiente línea llamamos ejercicios a la carpeta "contenidos publicos". Los navegadores que quieran acceder a su contenido podrán poner la dirección http://dirIP_del_ServidorWeb/ejercicios en el navegador:

Alias /ejercicios "C:/Mis paginas web/contenidos publicos"

En el fichero de configuración quedará así:




Crear espacio web asociado a los usuarios de la maquina

Cada usuario del sistema operativo donde estamos instalando el servidor web puede tener su propio directorio web. Los visitantes podrán acceder a dicho directorio poniendo como URL http://dirIP_del ServidorWeb/nombreusuario, donde dirIP_delServidorWeb es la dirección IP de la máquina donde está instalado el servidor web.

Así cada usuario podrá publicar sus páginas web dentro de una carpeta misitio. Deberemos crear esa carpeta en C:/Documents and Settings/ nombre_del_usuario/ y cada usuario debe meter sus páginas en dicha carpeta.

Apache, utiliza la directiva UserDir para especificar la ubicación de directorios de usuario. Windows no admite el mismo método. En su lugar, debe utilizar directivas Alias para asignar un directorio de usuario.

Alias /NombreUsuario "Ruta Directorio Usuario"
DIRECTORY "Ruta Directorio Usuario"
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
/DIRECTORY

De modo, que para poder acceder en local a la carpeta misitio de un usuario llamado 'pilar' tendremos que añadir las siguientes líneas al fichero httpd.conf:

Alias /mike "Cocuments and SettingsmikeMis documentosmisitio"
DIRECTORY "Cocuments and SettingsmikeMis documentosmisitio"
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
/DIRECTORY


Para acceder a este directorio web habrá que poner en la barra del navegador http://localhost/mike.
0
0
0
0No comments yet