Está en la página 1de 117

Instalación y administración de servidores web. http://localhost:51236/temp_print_dirs/eXeTempPrintDir_Wm1vWv/S...

Instalación y administración de servidores


web.

Caso práctico
Eva ya tiene registrado para la asociación
cultural el dominio centroelacebo.com. Desde
hace tiempo tiene previsto tener un sitio web
con varias páginas web, en las que se
informe sobre varias temáticas relacionadas
inju (CC BY-NC-SA)
con las actividades de la asociación, y sobre el
turismo y la cultura en el municipio. Eva le ha
propuesto a Jana que se encargue de organizar y administrar el sitio web
así como de editar los contenidos de las páginas.

Jana está encantada con el ofrecimiento y está dispuesta a afrontar el reto, va


a realizar funciones de webmistress administrando y `programando el sitio
web. La realización de este trabajo le va a servir para estudiar la unidad de
“Instalación y administración de servidores web” y también para aplicar lo que
aprendió en el módulo “Lenguajes de marcas” de primero.

Hasta que tenga el sitio web preparado para que sea accesible por Internet,
va a montar un servidor web en la red local y en una de las máquinas
virtuales de su portátil para realizar todas las pruebas necesarias. Cuando esté
preparado el sitio web, Jana y Eva tomarán la decisión sobre contratar con una
compañía de hosting, el alojamiento y la distribución del sitio web o bien
almacenar y distribuir el sitio web en un servidor web de la red local del centro.

Jana ha hablado con su compañera Noiba para que realice el diseño de las
páginas web del sitio. Noiba tiene conocimientos previos en diseño gráfico y
colabora actualmente en la editorial de una revista.

Materiales formativos de FP Online propiedad del Ministerio de


Educación y Formación Profesional.

1 de 117 14/10/22, 11:23


Instalación y administración de servidores web. http://localhost:51236/temp_print_dirs/eXeTempPrintDir_Wm1vWv/S...

Aviso Legal

2 de 117 14/10/22, 11:23


Instalación y administración de servidores web. http://localhost:51236/temp_print_dirs/eXeTempPrintDir_Wm1vWv/S...

1.- Características generales de un


servidor web.

Caso práctico
Antes de instalar un servidor web en la red del centro y
en una de sus máquinas virtuales, Jana ha estado
buscando información sobre las características que
deben tener un equipo servidor web y el software
servidor web.

Durante la búsqueda de la información ha leído cosas


interesantes sobre la estructura de la World Wide Web
(WWW).

Alain Bachellier (CC BY-NC-SA)

¿Sabes ya la función de un servicio web? ¿Conoces


cuáles son las características de los servidores que
ofrecen este servicio?

El servicio web es el más utilizado por los usuarios de


Internet. Hacemos uso del servicio cada vez que
abrimos una página web con nuestro navegador web
(Internet Explorer, Mozilla Firefox, Google Chrome,
etc.). El navegador web no es más que un cliente web
que realiza la petición de una página web a un
servidor web especificando en la petición el nombre DNS del equipo que tiene instalado el
servidor web y la ruta y nombre de la página web solicitada. El servidor lee en el sitio web el
archivo correspondiente a la página web solicitada y se lo envía al cliente.

En esta unidad vamos a utilizar dos conceptos que ya habrás usado anteriormente. Vamos a
ver una definición de ellos.

Página web: Archivo escrito en un lenguaje de marcas que, además de


texto, contiene como elementos principales hipervínculos o hiperenlaces
que enlazan la página con otras partes de la misma o con otras páginas que

3 de 117 14/10/22, 11:23


Instalación y administración de servidores web. http://localhost:51236/temp_print_dirs/eXeTempPrintDir_Wm1vWv/S...

estén en el mismo equipo o en otros equipos de la red.

Sitio web: Conjunto de páginas web y archivos complementarios que se


distribuyen en Internet y/o en una Intranet bajo un mismo nombre DNS. Por
ejemplo, el sitio www.mec.es está formado por el conjunto de páginas web
y archivos complementarios de los que se accede a través del nombre
www.mec.es.

Un equipo servidor web tiene que tener unas características apropiadas para dar servicio a
los clientes. En función del tipo de contenidos que ofrezca, del número de clientes que
puedan acceder simultáneamente al servicio, del número de sitios web que sirva, etc., se
deberá hacer una estimación de la memoria que deberá tener el equipo, las unidades de
disco, el procesador o los procesadores, el ancho de banda de la conexión a red y otras
características hardware y software.

Hay una gran variedad de software servidor web tanto libre como propietario (Microsoft IIS,
Apache Web Server, Sun Java Web System Server, etc.). Las características que se deben
valorar de este software son, entre otras:

Si es software libre o propietario.


Recursos que consume.
Posibilidad de administrar varios sitios.
Control de acceso a usuarios.
Seguridad en las transmisiones.
Integración de módulos de servidor (PHP, ASP, Perl, etc.).

4 de 117 14/10/22, 11:23


Instalación y administración de servidores web. http://localhost:51236/temp_print_dirs/eXeTempPrintDir_Wm1vWv/S...

1.1.- Estructura de la World Wide Web.


Habitualmente, los usuarios utilizamos expresiones como
"buscar en la web" o "navegar en la web". Pero, ¿A qué nos
referimos con "la web"?.

Web es el término que usamos frecuentemente para referirnos


a "World Wide Web" o WWW. "World Wide Web" significa Red
Global Mundial.

En 1989, Tim Berners Lee y Robert Caillou, investigadores del HikingArtist.com (CC BY-ND)

CERN propusieron la creación de la World Wide Wide.


Después colaboraron en su desarrollo mediante su participación en la elaboración de
diversos estándares o especificaciones.

La World Wide Web es un sistema global de documentos o páginas web


enlazados entre sí mediante hipervínculos o hiperenlaces.

El funcionamiento de la WWW se basa en:

Una red de documentos enlazados a través de


hipervínculos o hiperenlaces. Cada
documento es un nodo de la red.
Una red de servidores encargados de alojar y
distribuir los documentos.
Programas clientes llamados navegadores
que muestran los documentos con los Fräulein Schiller (CC BY-NC-ND)
hiperenlaces de forma que si se pulsa con el
ratón sobre ellos se abren las páginas web
con las que están enlazados.

Los documentos web deben estar escritos en un lenguaje de marcas que los describe. El
lenguaje de marcas más utilizado es HTML. En los inicios, los hiperenlaces enlazaban con
otros documentos web por lo que a estos documentos se les llamó hipertextos. A los
documentos web se les han ido añadiendo nuevos elementos como imágenes, sonidos,
animaciones y otros. A estos documentos web que integran otros elementos se les llama
hipermedios.

Actualmente los hiperenlaces no sólo enlazan con otros documentos web sino que pueden
enlazar con cualquier otro tipo de archivo o con recursos de otros servicios como
direcciones de correo electrónico.

5 de 117 14/10/22, 11:23


Instalación y administración de servidores web. http://localhost:51236/temp_print_dirs/eXeTempPrintDir_Wm1vWv/S...

Para saber más


Puedes aprender mucho más sobre WWW visitando este enlace.

La World Wide Web.

Autoevaluación
El elemento de un documento web que sirve para enlazar con otro
documento web se llama:

Hipertexto.
Hipermedio.
Hipervínculo.
HTML.

No, eso no es un elemento de un documento sino un documento.

No es correcto, deberías leer otra vez este apartado para saber responder
correctamente.

Si, muy bien. Ya sabes que también se le puede llamar hiperenlace.

Respuesta incorrecta, puede que no hayas leído bien la pregunta ya que


HTML es un lenguaje de descripción.

Solución

6 de 117 14/10/22, 11:23


Instalación y administración de servidores web. http://localhost:51236/temp_print_dirs/eXeTempPrintDir_Wm1vWv/S...

1. Incorrecto
2. Incorrecto
3. Opción correcta
4. Incorrecto

7 de 117 14/10/22, 11:23


Instalación y administración de servidores web. http://localhost:51236/temp_print_dirs/eXeTempPrintDir_Wm1vWv/S...

1.2.- URL.
Supongo que ya sabes lo que es una URL. Al menos, es seguro que utilizas URLs
habitualmente cuando estás usando Internet. En este apartado vas a conocer el contenido
completo de una URL y para qué sirve cada una de sus partes o de sus elementos.

En el RFC 1738 se define la URL (Uniform Resources Locator, Localizador Uniforme de


Recursos).

Una URL es una secuencia de caracteres con un formato determinado que


permite localizar un recurso en Internet o en otra red cualquiera.

El Protocolo seguro de transferencia de hipertexto


o Hyper Text Transfer Protocol Secure (HTTPS) es un
protocolo de aplicación basado en el protocolo HTTP,
destinado a la transferencia segura de datos de hipertexto,
es decir, es la versión segura de HTTP. La «S» al final de
HTTPS significa «secure» o seguro en inglés. Es un protocolo
de comunicación de Internet que protege la integridad y la confidencialidad de los datos de
los usuarios entre sus ordenadores y el sitio web.

Los certificados SSL (Secure Sockets Layer o «capa de sockets seguros»), a veces
denominados «certificados digitales», se utilizan para establecer una conexión cifrada entre
un navegador o el ordenador de un usuario y un servidor o un sitio web.
Por ejemplo, la URL correspondiente a la página web principal del Ministerio de Educación y
Formación Profesional es:
https://www.educacionyfp.gob.es/portada.html

Una URL tiene el siguiente formato:

Protocolo://usuario:contraseña@máquina:puerto/ruta_recurso

En la siguiente tabla describe cada elemento de una URL cuando el protocolo es http:

Elementos de una URL.

Elemento URL Descripción

Especifica el protocolo mediante el que se accede al recurso.


Protocolo:// Para páginas web el protocolo es http. Pueden especificarse
otros protocolos como FTP.

Es un elemento que se puede excluir en una URL. Se debería


Usuario:contraseña@ usar cuando en el servidor se controla el acceso al recurso

8 de 117 14/10/22, 11:23


Instalación y administración de servidores web. http://localhost:51236/temp_print_dirs/eXeTempPrintDir_Wm1vWv/S...

Elemento URL Descripción


mediante un nombre de usuario y una contraseña indicados en la
URL. Casi nunca se utilizan y se desaconseja su utilización por
seguridad. Hay otras formas de controlar el acceso y más
seguras.

Es el nombre DNS o la dirección IP de la máquina donde se


encuentra el servicio que proporciona el recurso que se trata de
máquina localizar. Una URL para una página web consta como mínimo del
protocolo y de la máquina, como por ejemplo
http://www.mec.es.

Especifica el puerto del servidor con el que hay que conectar. No


es obligatorio, si no se especifica se asume uno por defecto para
:puerto
el protocolo usado. Por ejemplo, para http se asume por defecto
el puerto 80. Si hubiera que usar otro, habría que especificarlo.

Especifica la ruta donde tiene que localizar el recurso el servidor y


/ruta_recurso el nombre del recurso. Si no se especifica, el servidor asume un
nombre de recurso por defecto (es habitual que sea index.html).

Se especifican después de la ruta y sirven para enviar datos al


otros servidor para que los procese. Por ejemplo, se usan cuando
solicitamos una búsqueda en Google.

La siguiente captura de pantalla del navegador Mozilla Firefox contiene la URL


correspondiente a una página web. El protocolo usado es http, el nombre de la máquina es
todofp.es y la ruta de la página indica que el nombre del recurso es spainskills.html y se
encuentra en la ruta o bajo la carpeta /formación.

Mozilla (MPL)

9 de 117 14/10/22, 11:23


Instalación y administración de servidores web. http://localhost:51236/temp_print_dirs/eXeTempPrintDir_Wm1vWv/S...

Recomendación
En el siguiente enlace puedes ver más sobre el protocolo https:

Https

Para saber más


En el siguiente enlace puedes ver cómo instalar un certificado SSL:

Instalar un certificado SSL.

10 de 117 14/10/22, 11:23


Instalación y administración de servidores web. http://localhost:51236/temp_print_dirs/eXeTempPrintDir_Wm1vWv/S...

2.- Protocolo HTTP.

Caso práctico
Jana quiere comprender cómo se desarrolla
una comunicación entre un navegador web y
un servidor. Para ello se le ha ocurrido utilizar el
programa Wireshark para capturar las tramas
que se envían entre el navegador web y el
servidor web.

Ha observado que el navegador envía mensajes


de tipo petición y que el servidor envía
John Sloan (CC BY-NC-SA)
mensajes de tipo respuesta. Además ha
observado que durante la transmisión de una
página web se intercambian varios mensajes de este tipo.

El protocolo HTTP (HyperText Transfer Protocol) es un protocolo de


transferencia de hipertexto que sigue el modelo cliente/servidor y establece las
normas para el intercambio de la información contenida en las páginas web.

El protocolo HTTP ha sido desarrollado desde 1990 por W3C y IETF. Se han desarrollado las
versiones 0.9, 1.0 y 1.1. La versión 1.1 ha sido publicada en el RFC 2616.

Las características más relevantes del funcionamiento de HTTP son las siguientes:

Un servidor HTTP utiliza por defecto el puerto 80, aunque puede usar otros puertos.
Para establecer una comunicación HTTP entre cliente y servidor se necesita crear
previamente una conexión TCP.
La comunicación entre clientes y servidores se realiza mediante mensajes de petición
y de respuesta codificados en ASCII.
Cada elemento de una página web (documento, imágenes, vídeos, etc.), se transfiere
independientemente con su mensaje de petición y su mensaje de respuesta.

El contenido de una página web que se transfiere entre un servidor y un cliente está
codificado en un lenguaje de marcas que describe como se ha de visualizar la página web.
De los lenguajes de marcas para descripción de páginas web, sin duda es HTML el más
utilizado. Los navegadores web son clientes HTTP que interpretan el contenido de una
página web escrita en HTML o en otro lenguaje para crear una representación de la página

11 de 117 14/10/22, 11:23


Instalación y administración de servidores web. http://localhost:51236/temp_print_dirs/eXeTempPrintDir_Wm1vWv/S...

para ser visualizada por el usuario.

Cuando en un navegador web escribimos la URL


de una página web:

Se solicita al servidor DNS que resuelva el


nombre de equipo servidor web o HTTP
usado en la URL.
Obtenida la IP del servidor HTTP, se
establece una conexión TCP entre cliente y
Huasonic (CC BY-NC)
servidor HTTP.
Establecida la conexión TCP, se hace la
petición del documento web al servidor y éste devuelve su contenido en un mensaje de
respuesta.
Si el documento web incluye elementos adicionales como imágenes, hay un proceso
de envío petición/respuesta por cada imagen.

Debes conocer
Debes visualizar la siguiente animación para saber cómo se desarrolla una
comunicación HTTP:

COMUNICACIÓN HTTP

Comunicación HTTP

12 de 117 14/10/22, 11:23


Instalación y administración de servidores web. http://localhost:51236/temp_print_dirs/eXeTempPrintDir_Wm1vWv/S...

En el cliente http se está ejecutando un navegador


web y se escribe en la URL http://www.mec.es.

Comunicación HTTP

El cliente http llama al cliente DNS para que le solicite


al servidor DNS resolver el nombre DNS de la

13 de 117 14/10/22, 11:23


Instalación y administración de servidores web. http://localhost:51236/temp_print_dirs/eXeTempPrintDir_Wm1vWv/S...

máquina www.mec.es.

Comunicación HTTP

El servidor DNS responde con la IP 193.147.0.29.

Comunicación HTTP

14 de 117 14/10/22, 11:23


Instalación y administración de servidores web. http://localhost:51236/temp_print_dirs/eXeTempPrintDir_Wm1vWv/S...

El cliente http solicita establecer una conexión TCP


con el equipo de IP 193.147.0.29 (el servidor HTTP).

15 de 117 14/10/22, 11:23


Instalación y administración de servidores web. http://localhost:51236/temp_print_dirs/eXeTempPrintDir_Wm1vWv/S...

Comunicación HTTP

El servidor HTTP le responde aceptando y


estableciendo la conexión.

Comunicación HTTP

16 de 117 14/10/22, 11:23


Instalación y administración de servidores web. http://localhost:51236/temp_print_dirs/eXeTempPrintDir_Wm1vWv/S...

El cliente HTTP usa la conexión TCP establecida para


hacer la petición HTTP del documento /index.html al
servidor HTTP.

Comunicación HTTP

El servidor HTTP le responde con un mensaje de

17 de 117 14/10/22, 11:23


Instalación y administración de servidores web. http://localhost:51236/temp_print_dirs/eXeTempPrintDir_Wm1vWv/S...

respuesta que incluye el contenido del documento


(/index.html).

Comunicación HTTP

Cuando llega el mensaje de respuesta al cliente, el


navegador lo interpreta y representa la página web
recibida en la pantalla del ordenador.

Autoevaluación
Rellena los huecos con los conceptos adecuados:
El protocolo HTTP es un protocolo de transferencia de . Por
defecto, establece el puerto como puerto con el que se comunica el
servidor con los . Para realizar una comunicación entre un
servidor y un cliente se necesita establecer previamente una conexión . En
una comunicación HTTP el cliente envía mensajes de y el servidor

18 de 117 14/10/22, 11:23


Instalación y administración de servidores web. http://localhost:51236/temp_print_dirs/eXeTempPrintDir_Wm1vWv/S...

envía mensajes de .
Enviar

Texto

19 de 117 14/10/22, 11:23


Instalación y administración de servidores web. http://localhost:51236/temp_print_dirs/eXeTempPrintDir_Wm1vWv/S...

2.1.- Mensajes HTTP.


Desde que un cliente HTTP (navegador web) establece una conexión con un servidor HTTP,
para descargar una página web hasta que la descarga de forma completa, se desarrolla una
sesión HTTP. Normalmente, en una sesión HTTP se producen varias transacciones de
mensajes de petición y respuesta entre cliente y servidor.

Por cada recurso adicional (imagen, audio, vídeo, etc.) que contiene una página web se envía
un mensaje de petición del recurso desde el cliente hacia el servidor y un mensaje de
respuesta desde el servidor al cliente con el recurso solicitado o con una indicación de que el
recurso no se ha podido obtener.

La siguiente imagen muestra una captura de pantalla de la página web del Ministerio de
Educación http://www.educacion.gob.es/portada.html. Sobre la captura se destacan los
recursos adicionales y se representan los mensajes de petición y respuesta que enviaría y
recibiría un cliente HTTP que consultase esa página web.

Luis Herrero (CC BY-NC-SA)

Los mensajes son textos codificados en ASCII y


constan de cuatro campos:

Línea de petición o de respuesta (según


sea el caso): contiene la información
principal sobre la petición o la respuesta.
Encabezados: contienen información
adicional sobre opciones relativas al mensaje,
(una línea de encabezado por cada opción
que se especifique). Luis Herrero (CC BY-NC-SA)
Una línea vacía: se ha generado con un
ENTER. La consideramos como un campo
aunque no es más que un separador entre las líneas de encabezados y el cuerpo del
mensaje.
Un cuerpo de mensaje: este campo es opcional. En los mensajes de respuesta se usa
para enviar el contenido del recurso solicitado.

20 de 117 14/10/22, 11:23


Instalación y administración de servidores web. http://localhost:51236/temp_print_dirs/eXeTempPrintDir_Wm1vWv/S...

2.2.- Mensajes de petición.


Acabamos de ver el formato de los mensajes HTTP. Ahora vamos a profundizar un poco más
en el estudio de los mensajes de petición. Como ya sabes un mensaje de petición es
enviado al servidor HTTP desde el cliente.

En un mensaje de petición, la línea de petición contiene tres datos separados


por un espacio:

Método de la petición.
Dirección URI del recurso.
Versión de HTTP.

La siguiente imagen muestra un ejemplo de un mensaje de petición para solicitar mediante el


método GET el recurso escudo-ministerio.gif.

Luis Herrero (CC BY-NC-SA)

El método de la petición indica la acción que se pretende realizar sobre el recurso


indicado en la petición. Los métodos más utilizados son GET y POST.
La dirección URI del recurso especifica la ruta del recurso dentro del directorio raíz del
sitio web del que se solicita el recurso. Por ejemplo, la URI /imag/escudo.gif indica
que el recurso solicitado es escudo.gif y se encuentra en el directorio imag bajo el
directorio raíz del sitio.
Las líneas de encabezados indican varias opciones relativas a la petición. Cada
encabezado se representa con una línea de texto con el nombre de la opción o del
encabezado, el carácter ":" y el valor asignado a la opción.
El cuerpo de la petición está vacío si la petición usa el método GET y contiene
información que se envía al servidor si usa el método POST.

Puedes instalar una extensión para tu navegador que te permita ver el contenido
de los mensajes de petición y respuesta HTTP de las conexiones que

21 de 117 14/10/22, 11:23


Instalación y administración de servidores web. http://localhost:51236/temp_print_dirs/eXeTempPrintDir_Wm1vWv/S...

establezcas. Para Mozilla Firefox la extensión se llama "Live Http Headers". Para
Internet Explorer, una posible extensión es "IEWatch".

Autoevaluación
Señala cuales de los siguientes datos forman parte de una línea de
petición de un mensaje HTTP:
Encabezado.

Versión de protocolo.

Método.

Cuerpo.

Línea vacía.

URI.

Servidor.

Mostrar retroalimentación

Solución

22 de 117 14/10/22, 11:23


Instalación y administración de servidores web. http://localhost:51236/temp_print_dirs/eXeTempPrintDir_Wm1vWv/S...

1. Incorrecto
2. Correcto
3. Correcto
4. Incorrecto
5. Incorrecto
6. Correcto
7. Incorrecto

23 de 117 14/10/22, 11:23


Instalación y administración de servidores web. http://localhost:51236/temp_print_dirs/eXeTempPrintDir_Wm1vWv/S...

2.3.- Métodos y encabezados de los


mensajes de petición.
Debes recordar que:

El método de una petición HTTP indica la acción que se quiere realizar sobre el
recurso objeto de la petición.

En la versión 1.0 de HTTP sólo se admitían tres


métodos.

GET: el cliente solicita que el servidor le envíe


una representación del recurso indicado en la
petición. Con representación nos referimos al
contenido del archivo correspondiente al
recurso. Siempre que pulsamos con el ratón
en un enlace de una página web a cualquier
recurso o escribimos una URL en la barra de
direcciones del navegador, éste envía al
menos un mensaje de petición con el método GET.
POST: mediante este método, el cliente envía información al recurso indicado del
servidor para que sea procesada por una aplicación. Normalmente se usa este método
cuando hemos rellenado un formulario de una página web y pulsamos un botón como
"Enviar", "Confirmar" o cualquiera similar. En el cuerpo del mensaje se envía la
información a procesar.
HEAD: se solicita al servidor que envíe solamente los encabezados correspondientes a
la petición del recurso que se indique. Para un mismo recurso, el servidor respondería
con la misma línea de respuesta y los mismos encabezados que para una petición GET
pero no enviaría el contenido del recurso. Lo usan los navegadores por ejemplo para
saber si una página web que tienen almacenada en caché ha sido actualizada en el
servidor.

Para saber más

24 de 117 14/10/22, 11:23


Instalación y administración de servidores web. http://localhost:51236/temp_print_dirs/eXeTempPrintDir_Wm1vWv/S...

Si quieres conocer para qué sirven los nuevos métodos soportados por HTTP
1.1 lee el pdf:

Métodos de petición en HTTP 1.1. (0.14 MB)

Los encabezados de una petición permiten indicar opciones relativas a la petición. Algunos
de los encabezados para los mensajes de petición son:

Encabezados de peticiones HTTP

Encabezado Significado

Host. Equipo al que se envía la petición.

User-Agent. Nombre y versión del cliente (navegador) y del sistema operativo.

Accept. Tipo de contenido que acepta el navegador.

Accept-
Idiomas que espera el navegador en las páginas recibidas.
Language.

Accept- Sistema de codificación que espera el navegador para el recurso a


Encoding. recibir.

Accept-Charset. Juego o conjunto de caracteres que espera recibir el navegador.

URL desde donde se originó la petición (URL de la página que


Referer.
contenía el enlace).

Contenido de la cookie almacenada en el equipo cliente y relativa al


Cookie.
sitio web al que se hace la petición.

25 de 117 14/10/22, 11:23


Instalación y administración de servidores web. http://localhost:51236/temp_print_dirs/eXeTempPrintDir_Wm1vWv/S...

2.4.- Mensajes de respuesta.


Los mensajes HTTP de respuesta son enviados por el servidor HTTP a clientes HTTP en
respuesta a una petición. En un mensaje de respuesta hay una línea de petición, varias líneas
de encabezados, una línea vacía y un cuerpo del mensaje. En el cuerpo del mensaje, el
servidor envía el contenido del recurso que se le ha solicitado (cuando se solicita su envío).
Por ejemplo, puede contener el código HTML de una página web.

En un mensaje de respuesta, la línea de respuesta (también llamada línea de


estado) contiene tres datos:

Versión del protocolo.


Código de respuesta o código de estado.
Descripción de respuesta o descripción de estado.

El código de respuesta es un valor numérico que representa como ha sido recibida y


procesada la petición a la que se está respondiendo. La descripción es una frase corta que
describe lo que se está indicando con el código de respuesta (a cada código corresponde
una descripción).

La siguiente imagen muestra cada uno de los elementos que forman parte de un mensaje de
respuesta HTTP.

Luis Herrero (CC BY-NC-SA)

Los encabezados de una respuesta indican opciones relativas a la respuesta. Algunos de


esos encabezados son:

Encabezados de respuestas HTTP

Encabezado Significado

Date. Fecha y hora en que ha comenzado el envío del recurso solicitado.

26 de 117 14/10/22, 11:23


Instalación y administración de servidores web. http://localhost:51236/temp_print_dirs/eXeTempPrintDir_Wm1vWv/S...

Encabezado Significado

Server. Nombre del software servidor.

Content-
Tamaño en bytes del cuerpo del mensaje.
Length.

Content- Código del idioma en que está escrito el recurso que se envía en el
Language. cuerpo del mensaje.

Content- Sistema de codificación que se utiliza en la representación del recurso


Encoding. dentro del cuerpo del mensaje.

Sirve para indicar si el servidor mantiene la conexión TCP para las


siguientes transacciones HTTP desde el cliente. Si tiene el valor keep-
Connection. alive mantiene la conexión y si tiene el valor close la cierra, en cuyo
caso, si el cliente tiene que enviar una nueva petición HTTP tendrá que
solicitar previamente una nueva conexión TCP.

Autoevaluación
Señala cuáles de los siguientes datos no forman parte de una línea de
respuesta de un mensaje HTTP:
Encabezado.

Versión de protocolo.

Método.

Cuerpo.

Código de estado.

Descripción de estado.

27 de 117 14/10/22, 11:23


Instalación y administración de servidores web. http://localhost:51236/temp_print_dirs/eXeTempPrintDir_Wm1vWv/S...

Servidor.

Mostrar retroalimentación

Solución

1. Correcto
2. Incorrecto
3. Correcto
4. Correcto
5. Incorrecto
6. Incorrecto
7. Correcto

28 de 117 14/10/22, 11:23


Instalación y administración de servidores web. http://localhost:51236/temp_print_dirs/eXeTempPrintDir_Wm1vWv/S...

2.5.- Códigos de respuesta.

Un código de respuesta o código de estado es un número de tres cifras que se


incluye en la línea de respuesta de un mensaje de respuesta HTTP, y que sirve
para indicar si una petición se ha recibido y atendido correctamente, o si se ha
producido cualquier problema o circunstancia que haya alterado una normal
recepción y atención de la petición.

El primer dígito del código representa un grupo de


respuestas. Identifica de forma general el tipo de
respuesta. Los dos dígitos siguientes permiten especificar
la respuesta concreta dentro del grupo. Por ejemplo, el
código de respuesta 200 para una petición GET indica que
se está respondiendo con una respuesta que incluye el
recurso que se ha solicitado y el código 201 indica que se
ha creado en el servidor el recurso que se ha solicitado.
PxHere (CC0)

En la siguiente tabla se representan los posibles grupos de


códigos de respuesta y una descripción de lo que se indica en las respuestas pertenecientes
a cada grupo.

Códigos de respuesta

Código Descripción

Respuesta Informativa: Le indica al cliente que se ha recibido la petición y se


está continuando. Se trata de una respuesta provisional y hay que realizar una
1xx
nueva transacción HTTP para que se pueda obtener la repuesta definitiva. No
se aconseja que los servidores envíen estas respuestas.

Petición correcta: Indica que la petición recibida anteriormente ha sido


2xx
recibida, aceptada y procesada correctamente en el servidor.

Redirección: Se le indica al cliente HTTP que tiene que realizar alguna acción
3xx adicional para que se pueda resolver completamente la petición que se ha
realizado.

Errores del cliente: Se recibió una petición con una sintaxis errónea o no se
4xx
ha podido procesar la petición.

Error de servidor: Se ha producido un error en el servidor que le ha impedido


5xx
atender y procesar la petición.

29 de 117 14/10/22, 11:23


Instalación y administración de servidores web. http://localhost:51236/temp_print_dirs/eXeTempPrintDir_Wm1vWv/S...

Para saber más


Puedes visitar el siguiente enlace para conocer todos los códigos de respuesta
existente para HTTP 1.1.

Códigos de respuesta

30 de 117 14/10/22, 11:23


Instalación y administración de servidores web. http://localhost:51236/temp_print_dirs/eXeTempPrintDir_Wm1vWv/S...

3.- Tipos MIME.

Caso práctico
Noiba está preparando el diseño previo de algunas de
las páginas web para el sitio web
www.centroelacebo.com.

Le ha dicho a Jana que vaya recopilando fotografías


para seleccionar las más adecuadas para su
integración en las páginas web.

Jana dispone de una amplia colección de fotografías e


ilustraciones adecuadas para las páginas web, pero las
tiene guardadas en varios tipos de archivos de imagen,
y no sabe si el servidor web puede enviar cualquier tipo Alain Bachellier (CC BY-NC-SA)
de archivo de imagen.

Ha consultado sobre el tema y ha leído que para el protocolo http se han


añadido las MIME que permiten que el protocolo HTTP pueda transmitir
muchos tipos de archivos.

El protocolo HTTP transmite la información en código ASCII. Entonces, ¿Cómo puede


transmitir archivos no ASCII como los de imagen, de vídeo y otros muchos? La respuesta es:
usando MIME.

MIME o Multipurpose Internet Mail Extensions (Extensiones Multipropósito de


Correo de Internet), establece un conjunto de especificaciones para que se
puedan enviar varios tipos de archivo mediante correo electrónico. En principio
MIME estaba orientado a usarse en el correo electrónico. MIME se usa también
en el protocolo HTTP para dar mayor funcionalidad a éste permitiendo que pueda
transmitir multitud de tipos de archivos siempre que navegador y servidor
soporten MIME.

Un tipo MIME es la especificación de un tipo de archivo que puede transmitirse usando las
extensiones MIME para HTTP o para correo electrónico. MIME ha sido desarrollado por IETF
y publicado en los RFCs 2045, 2046, 2047, 2077, 4288 y 4289.

MIME establece una serie de encabezados que se pueden añadir a los ya existentes para

31 de 117 14/10/22, 11:23


Instalación y administración de servidores web. http://localhost:51236/temp_print_dirs/eXeTempPrintDir_Wm1vWv/S...

HTTP, y que se pueden usar en las líneas de encabezados de los


mensajes HTTP. Dos de estos encabezados son:

Mime-version: versión de MIME (la actual es 1.0).


Content-type: especifica el tipo MIME para un archivo
enviado. Por ejemplo. para un archivo de imagen "JPG", el
tipo MIME es "image/jpeg".

zeus (GNU/GPL)

Si un servidor HTTP envía un archivo sin especificar el tipo MIME asociado o


especificándole de forma incorrecta, puede ocurrir que el navegador web no abra
el archivo correctamente porque desconozca la aplicación que tiene que abrirlo.

Para saber más


Si quieres conocer todos los tipos MIME reconocidos actualmente, los tipos de
archivos asociados y una breve descripción de estos, sigue el enlace:

Lista de tipos MIME

Autoevaluación
En principio, MIME se desarrolló para permitir la transmisión de multitud
de tipos de archivos mediante:
El protocolo HTTP.
El Protocolo FTP.
El correo electrónico.
El protocolo DNS.

No, aunque se usa en HTTP, no se desarrolló en un principio para este


propósito.

No es correcto, como veremos más adelante FTP no necesita MIME para

32 de 117 14/10/22, 11:23


Instalación y administración de servidores web. http://localhost:51236/temp_print_dirs/eXeTempPrintDir_Wm1vWv/S...

nada.

Sí, correcto, aunque HTTP también lo utiliza, se desarrolló para el correo


electrónico.

No es la opción correcta, en el protocolo DNS no se transmiten archivos.

Solución

1. Incorrecto
2. Incorrecto
3. Opción correcta
4. Incorrecto

33 de 117 14/10/22, 11:23


Instalación y administración de servidores web. http://localhost:51236/temp_print_dirs/eXeTempPrintDir_Wm1vWv/S...

4.- Servidores web.

Caso práctico
Jana va a instalar un servidor HTTP en uno de los
equipos de la red del centro El Acebo que tiene
instalado el sistema operativo Ubuntu, con el objetivo
de realizar pruebas para desarrollar y configurar el
sitio web.

También va a instalar un servidor HTTP en una de las


máquinas virtuales de su portátil para poder hacer
pruebas sobre el servicio web o HTTP en cualquier
momento.

jwyg (CC BY-SA) Ha decidido que el servidor que va a instalar y


configurar es Apache porque parece ser que es el
servidor más utilizado, además de ser software libre, gratuito y multiplataforma
(por lo que va a poder instalarlo tanto en una máquina Linux Ubuntu como en
una máquina Windows).

A la hora de decidirnos por un servidor web o HTTP, podemos optar entre varios servidores
disponibles. En la siguiente tabla se listan y describen los servidores web más utilizados.

Servidores web

Servidor Descripción

Es el más usado en Internet. Desarrollado por Apache Software


Apache. Foundation. Es software libre, gratuito y multiplataforma (Unix, Linux,
Windows. Netware).

Microsoft IIS. Es software propietario y sólo se puede instalar en sistemas Windows.

Sun Java
Está desarrollado por Sun y se usa principalmente en sistemas Sun.
System Web
Actualmente es software libre, gratuito y multiplataforma.
Server.

Al igual que Apache está desarrollado por Apache Software Foundation.


Tomcat. Es software libre, gratuito y multiplataforma. Usa una tecnología distinta
a la de Apache. Permite trabajar con algunas páginas dinámicas con las

34 de 117 14/10/22, 11:23


Instalación y administración de servidores web. http://localhost:51236/temp_print_dirs/eXeTempPrintDir_Wm1vWv/S...

Servidor Descripción
que no puede trabajar Apache. Puede trabajar como un servidor de
aplicaciones.

Es un servidor que consume muy pocos recursos. Se puede instalar en


Ngnix.
sistemas Unix/Linux y Windows. Es software libre y gratuito.

Es también un servidor que consume muy pocos recursos y muy fácil de


Lighhttp. configurar con su herramienta gráfica de configuración. Es software
libre, gratuito y multiplataforma.

Su principal objetivo es ser rápido y muy funcional. Es software libre,


Cherokee.
gratuito y multiplataforma.

A partir de ahora, abordaremos la mayoría de los contenidos aplicados al servidor http


Apache desarrollado por Apache Software Foundation.

The Apache Software Foundation (Apache 2.0)

35 de 117 14/10/22, 11:23


Instalación y administración de servidores web. http://localhost:51236/temp_print_dirs/eXeTempPrintDir_Wm1vWv/S...

4.1.- Servidor Apache. Instalación.


Para instalar el servidor http Apache en sistemas Linux Debian/Ubuntu, debes instalar el
paquete apache2, ejecutando:

# apt-get install apache2

o bien

$ sudo apt-get install apache2

También puedes instalar el servidor http apache mediante el gestor de paquetes Synaptic
seleccionando e instalando el paquete apache2. Se instalarán o actualizarán otros paquetes
de los que depende apache2 como apache2.x-common y apache2.x-bin.

Synaptic (GNU/GPL)

Tras haber instalado el servidor, puedes probar su funcionamiento ya que durante la


instalación se ha creado un documento llamado index.html y está almacenado en la carpeta
/var/www que se ha configurado como carpeta raíz del sitio web. El servidor queda iniciado
tras la instalación (si no ha ocurrido nada anormal), y ha sido configurado para que el
documento index.html sea la página de inicio del sitio web.

36 de 117 14/10/22, 11:23


Instalación y administración de servidores web. http://localhost:51236/temp_print_dirs/eXeTempPrintDir_Wm1vWv/S...

Para comprobar que el servidor funciona, debes iniciar el navegador web en la


misma máquina donde has instalado el servidor y dirígete a la URL:

http://localhost

o bien,

http://127.0.0.1

También puedes hacer la prueba ejecutando el navegador en otra máquina de la red y


dirigiéndote a la URL http://nombre_DNS_servidor o bien http://dirección_IP_servidor. En
cualquiera de los casos, debes ver en el navegador una página como ésta:

Mozilla (MPL)

Autoevaluación
Una vez que has instalado el servidor web Apache, ¿Qué carpeta es
tomada como carpeta raíz del sitio web?
/var/www.
/var/lib/apache2.
/etc/apache2.
/etc/init.d/apache2.

Muy bien, has prestado atención al estudiar la instalación del apache.

No, debes volver a leer este apartado para saber responder.

No es correcto, en esta carpeta se guardan los archivos de configuración


de apache.

No es la opción correcta, en la carpeta /etc/init.d normalmente se

37 de 117 14/10/22, 11:23


Instalación y administración de servidores web. http://localhost:51236/temp_print_dirs/eXeTempPrintDir_Wm1vWv/S...

almacenan scrpts de inicio y parada de servicios.

Solución

1. Opción correcta
2. Incorrecto
3. Incorrecto
4. Incorrecto

38 de 117 14/10/22, 11:23


Instalación y administración de servidores web. http://localhost:51236/temp_print_dirs/eXeTempPrintDir_Wm1vWv/S...

4.2.- Arranque y parada de Apache.


Cuando se ha instalado el servidor Apache, éste queda
iniciado y preparado para iniciarse automáticamente cada
vez que se inicie el equipo servidor. En cualquier momento
puedes detener, iniciar o reiniciar el servicio Apache para
aplicar cambios realizados, por un funcionamiento anómalo
o por cualquier otro motivo. En particular, cuando hayamos
modificado los archivos de configuración de Apache
debemos reiniciar el servicio.
Salva Mendez (CC BY)

Tras instalar Apache en Debian/Ubuntu, puedes controlar el


servicio mediante el script /etc/init.d/apache2.

Control del servicio apache con script

Acción Comando

Comprobar el estado del servicio. /etc/init.d/apache2 status

Detener el servicio. /etc/init.d/apache2 stop

Iniciar el servicio. /etc/init.d/apache2 start

Reiniciar el servicio. /etc/init.d/apache2 restart

También podemos usar el comando service para controlar el servicio.

Control del servicio apache con el


comando service

Acción Comando

Comprobar el estado del servicio. service apache2 status

Detener el servicio. service apache2 stop

Iniciar el servicio. service apache2 start

Reiniciar el servicio. service apache2 restart

39 de 117 14/10/22, 11:23


Instalación y administración de servidores web. http://localhost:51236/temp_print_dirs/eXeTempPrintDir_Wm1vWv/S...

Ubuntu (GNU/GPL)

Si dispones de una herramienta gráfica de configuración como webmin podrás controlar el


servicio fácilmente. Si instalas el servidor apache en Windows, quedará instalado un
programa monitor que permite iniciar y parar fácilmente el servicio.

Para saber más


Puedes ver como se instala el servidor Apache Ubuntu viendo este vídeo:

APACHE LINUX #1 - INSTALAR Servidor WEB y Host VIRTUALES en


Ubuntu

📢 APACHE LINUX #1💻 IN…

Resumen textual alternativo

40 de 117 14/10/22, 11:23


Instalación y administración de servidores web. http://localhost:51236/temp_print_dirs/eXeTempPrintDir_Wm1vWv/S...

4.3.- Configuración inicial de Apache.


Cuando has realizado la instalación del servidor Apache en Ubuntu o en Debian, todos los
archivos de configuración del servidor se encuentran en la carpeta /etc/apache2.

Ubuntu (GNU/GPL)

El archivo de configuración principal del servidor Apache en Debian/Ubuntu es /etc/apache2


/apache2.conf. Este archivo está constituido por varias directivas que establecen como
debe configurarse el servidor cada vez que se inicia o se reinicia. Si editas este archivo verás
que muchas de las líneas comienzan por el carácter "#". Estas líneas, al igual que en otros
archivos de configuración, son comentarios.

En apache2.conf hay varias directivas includeque establecen que se incluya en


apache2.conf el contenido del archivo indicado en la directiva. Así, por ejemplo, está
establecido que se incluya el contenido de los archivos /etc/apache2/ports.conf y
/etc/apache2/httpd.conf.

El archivo httpd.conf está vacío después de la instalación del servidor apache. Es


aconsejable que el administrador del servidor edite este archivo para añadir, modificar o
eliminar directivas generales del servidor en lugar de editar en el archivo apache2.conf. De
esta forma el administrador sabe cuales son las directivas editadas por él (todas las que
haya en httpd.conf).

Reflexiona
Uno de los archivos de configuración del servidor Apache es ports.conf.
Visualizando el contenido de este archivo, ¿se te ocurre para qué se usa este
archivo?

Mostrar retroalimentación

41 de 117 14/10/22, 11:23


Instalación y administración de servidores web. http://localhost:51236/temp_print_dirs/eXeTempPrintDir_Wm1vWv/S...

Sirve para establecer los puertos en los que el servidor escucha a los
clientes. Por defecto el servidor se comunica con los clientes en el
puerto 80. También se establece que use el puerto 443 pero sólo
cuando se use HTTP seguro (HTTPS). También sirve para especificar
que se puedan usar servidores virtuales basados en nombre pero esto
lo estudiaremos más adelante.

Dentro de la carpeta /etc/apache2 de configuración del servidor hay varias carpetas. La


carpeta sites-available contiene archivos de configuración para servidores virtuales. Las
carpetas mods-available y mods-enabled sirven para añadir módulos al servicio HTTP.

Autoevaluación
Tras instalar el servidor Apache en un sistema Debian, el archivo principal
de configuración es:
/etc/apache/httpd.conf.
/etc/apache2/apache2.conf.
/etc/apache/apache2.conf.
/var/www.

No, el contenido de este archivo se incluye en el principal.

Correcto, este es el archivo principal de configuración aunque no se suele


editar directamente ya que se aconseja editar los que se incluyen en el
archivo.

No es correcto y además no existe inicialmente este archivo.

Respuesta incorrecta, esto es un directorio o una carpeta que inicialmente


funciona como directorio raíz del sitio.

Solución

42 de 117 14/10/22, 11:23


Instalación y administración de servidores web. http://localhost:51236/temp_print_dirs/eXeTempPrintDir_Wm1vWv/S...

1. Incorrecto
2. Opción correcta
3. Incorrecto
4. Incorrecto

43 de 117 14/10/22, 11:23


Instalación y administración de servidores web. http://localhost:51236/temp_print_dirs/eXeTempPrintDir_Wm1vWv/S...

4.4.- Servidor Apache. Directorio raíz del


sitio.

Cuando has instalado el servidor Apache se ha creado la estructura inicial de un


sitio web. En la configuración del servidor Apache en Debian/Ubuntu se establece
inicialmente que la carpeta raíz del sitio sea /var/www.

Esto quiere decir que todas las páginas web y todos los recursos complementarios incluidos
en las páginas web deben estar en esa carpeta /var/www.

Ubuntu (GNU/GPL)

Cuando has instalado el servidor Apache se ha establecido que el documento


índice o documento por defecto de las carpetas del sitio web sea index.html.

Esto quiere decir que si escribimos en un navegador una URL terminada en un nombre de
carpeta, el servidor correspondiente nos enviará el documento índice que haya en esa
carpeta (si es que lo hay).

EJEMPLOS:

Si vas a probar el funcionamiento del servidor ejecutando el navegador web en el


mismo ordenador servidor, escribe en la URL:

a. http://localhost o http://localhost/ : El servidor envía el documento


index.html que se encuentra en la carpeta raíz del sitio, es decir, en
/var/www.
b. http://localhost/privado o http://localhost/privado/ : El servidor envía el
documento index,html que se encuentra en la carpeta "privado" de la
carpeta raíz del sitio, es decir, en /var/www/privado.

44 de 117 14/10/22, 11:23


Instalación y administración de servidores web. http://localhost:51236/temp_print_dirs/eXeTempPrintDir_Wm1vWv/S...

Para que en el navegador se pueda ver cualquier página que no sea índice del sitio web, hay
que escribir en la URL la ruta del archivo de página bajo la carpeta raíz (incluyendo el nombre
del archivo).

EJEMPLOS:

Si he creado en la carpeta /var/www/privado la página web mipagina.html, para


ver en un navegador esa página, tengo que escribir en la URL del navegador:

http://nombre_servidor/privado/mipagina.html

Recomendación
Puedes modificar el archivo index.html de la carpeta raíz del sitio, crear
nuevas carpetas en el sitio, crear nuevos documentos web en esas carpetas,
añadir imágenes a los documentos web, etc. y tratar de acceder con el
navegador a esos documentos.

45 de 117 14/10/22, 11:23


Instalación y administración de servidores web. http://localhost:51236/temp_print_dirs/eXeTempPrintDir_Wm1vWv/S...

4.5.- Configuración básica del servidor


Apache.
Anteriormente hemos dicho que inicialmente la carpeta raíz
del sitio web creado por Apache es /var/www y que el
nombre del archivo índice o por defecto es index.html.
Pero, ¿Cómo se puede modificar este comportamiento y
otros del servidor Apache? Modificando los archivos de
configuración. Vamos a verlo.

Para modificar la configuración del servidor Apache,


podemos editar el archivo principal de configuración Ario BatesArio Bates (CC BY-NC-SA)

/etc/apache2/apache2.conf o editar alguno de los archivos


que incluye este archivo. Hay un gran número de directivas que podemos usar para la
configuración del servidor. La siguiente tabla describe las que se pueden considerar
directivas necesarias para realizar una configuración básica.

Directivas de configuración básica

Directiva Descripción Ejemplo de uso

Nombre de equipo y puerto que usa el servidor


ServerName
ServerName para identificarse ante los clientes. En
www.aulaubuntu.org:80
definitiva, indica el nombre del sitio web.

Indica la carpeta en la que se ha instalado el


ServerRoot /usr/local
ServerRoot servidor. No es la carpeta de archivos de
/apache
configuración.

Especifica los puertos del servidor en los que


escucha a los clientes y opcionalmente las Listen 80
Listen
direcciones IP de los adaptadores de red que Listen 192.168.3.5:8080
utiliza.

Máximo tiempo en segundos que el servidor


Tiemout espera un nuevo mensaje de un cliente para no Timeout 300
cerrar la conexión.

Para indicar que se mantenga (on) o no (off)


KeepAlive on
KeepAlive una conexión con un cliente para varias
KeepAlive off
transacciones.

Carpeta raíz que contiene todos los archivos


DocumentRoot DocumentRoot var/web/
del sitio web.

46 de 117 14/10/22, 11:23


Instalación y administración de servidores web. http://localhost:51236/temp_print_dirs/eXeTempPrintDir_Wm1vWv/S...

Directiva Descripción Ejemplo de uso

Indica los nombres de las páginas web índice


DirectoryIndex
que puede entregar el servidor por defecto
DirectoryIndex index.html
cuando en la petición HTTP la URL contiene
home.html index.php
sólo un nombre de carpeta.

Especifica las direcciones IP y puerto en los


que el servidor recibirá peticiones para sitios
web virtuales basados en nombre. Si se usa
NameVirtualHost NameVirtualHost *:80
esta directiva, se deben definir los sitios
virtuales dentro de una directiva <VirtualHost>
… </VirtualHost>.

Para saber más


Para conocer todo sobre las directivas de configuración del servidor Apache
puedes visitar este enlace:

Directivas de configuración de Apache Server.

Autoevaluación
La directiva de configuración de Apache "ServerRoot /apache" indica que:
Los archivos de configuración del servidor están en /apache.
La carpeta raíz del sitio web es /apache.
Las páginas web del sitio se almacenan bajo la carpeta /apache.
El servidor está instalado en la carpeta /apache.

No, es mejor que vuelvas a consultar las directivas básicas.

No es correcto, esto se realiza con la directiva DocumentRoot.

Respuesta incorrecta, analiza bien cuál sería la directiva para establecer


esto.

47 de 117 14/10/22, 11:23


Instalación y administración de servidores web. http://localhost:51236/temp_print_dirs/eXeTempPrintDir_Wm1vWv/S...

Has acertado, espero que también hayas entendido para que sirven las
otras directivas.

Solución

1. Incorrecto
2. Incorrecto
3. Incorrecto
4. Opción correcta

48 de 117 14/10/22, 11:23


Instalación y administración de servidores web. http://localhost:51236/temp_print_dirs/eXeTempPrintDir_Wm1vWv/S...

4.6.- Integración del sitio web en la zona


DNS.
Para que se pueda acceder a nuestro sitio web desde cualquier equipo cliente mediante un
nombre DNS es necesario que dispongamos de un servidor DNS que resuelva al menos el
nombre del equipo servidor web. Si no se puede resolver el nombre del equipo servidor
habrá que acceder al sitio web usando en la URL la dirección IP del equipo servidor.

Luis Herrero (CC BY-NC-SA)

EJEMPLO:

Si tenemos un equipo servidor web en nuestra red que se llama www con
dirección IP 192.168.3.2 y no tenemos servidor DNS para resolver los nombres de
equipos o lo tenemos y no está registrado ese nombre, para acceder desde un
navegador al sitio web tendremos que escribir en la URL:

http://192.168.3.2

Si queremos que, por ejemplo, se acceda al sitio web administrado por un servidor web cuya
dirección IP sea 192.168.3.2 con un nombre de dominio como www.aulaubuntu.com,
tendremos que tener en la zona “aulaubuntu.com” de un servidor DNS el registro:

www.aulaubuntu.com. IN A 192.168.3.2

Otra posibilidad es tener otro nombre para el equipo servidor y utilizar un alias para accede
al servidor con ese alias:

49 de 117 14/10/22, 11:23


Instalación y administración de servidores web. http://localhost:51236/temp_print_dirs/eXeTempPrintDir_Wm1vWv/S...

pc1.aulaubuntu.com. IN A 192.168.3.2
www.aulaubuntu.com. IN CNAME pc1.aulaubuntu.com.

Cuando acceden un gran número de clientes a un sitio web con un solo servidor web,
aumenta considerablemente la carga de trabajo del servidor, con lo que las respuestas dadas
por nuestro servidor van a tardar un tiempo excesivo. Cuando ocurre esto, se deben tener
varios servidores web para el mismo sitio y establecer un sistema de reparto de carga entre
los servidores web. Se puede realizar un reparto de carga entre servidores mediante los
registros SRV en la zona DNS correspondiente al sitio web. Esto ya lo tratamos en la unidad
1.

Salva Méndez (CC BY)

EJEMPLO:

Supongamos que tenemos dos servidores web llamados S1 y S2 para el sitio web
www.aulaubuntu.com, que tienen las direcciones IP 192.168.3.1 y 192.168.3.2 y
que usan el puerto 80 como puerto de escucha. Los registros que tenemos que
escribir en la zona para que el 60% de la carga sea para S1 y el 40% para S2
son:

S1.aulaubuntu.com. IN A 192.168.3.1
S2.aulaubuntu.com. IN A 192.168.3.2
_http._tcp.www.aulaubuntu.com. IN SRV 0 60 80 S1.aulaubuntu.com.
_http._tcp.www.aulaubuntu.com. IN SRV 0 40 80 S2.aulaubuntu.com.

50 de 117 14/10/22, 11:23


Instalación y administración de servidores web. http://localhost:51236/temp_print_dirs/eXeTempPrintDir_Wm1vWv/S...

5.- Navegadores web.

Caso práctico
Jana está realizando pruebas iniciales sobre
el funcionamiento del servidor web. Ha
creado en el sitio web algunas páginas con
imágenes y está comprobando si su
navegador accede a ellas y las muestra
Mozilla (MPL)
correctamente.

Jana está usando indistintamente los navegadores web Mozilla Firefox y


Konqueror sobre un ordenador con el sistema operativo Linux Ubuntu.

Jana ha realizado algunas modificaciones en la configuración de Firefox para


adaptar a sus gustos y necesidades el funcionamiento y la apariencia del
navegador.

Un navegador web es un cliente http o cliente del servicio web pero no todo cliente del
servicio web es un navegador.

Aldo Aldoz (CC BY-NC-SA)

51 de 117 14/10/22, 11:23


Instalación y administración de servidores web. http://localhost:51236/temp_print_dirs/eXeTempPrintDir_Wm1vWv/S...

Un navegador web es un programa cliente web que interpreta los documentos


recibidos (generalmente en código HTML), como páginas web y los presenta en
pantalla mostrando enlaces que permiten que el usuario interactúe con ellos para
acceder a otros documentos web. También a partir del código HTMl, un
navegador representa en pantalla marcos, viñetas, colores de fondo, imágenes y
otros muchos elementos.

Existe un amplio abanico de navegadores web. La siguiente tabla muestra algunos de ellos.
Hay muchos más pero los que aparecen en la tabla son de los más destacados.

Navegador Windows Linux Comentario

Es muy utilizado por estar integrado en los sistemas


Internet
Sí No Windows. Facilita y acelera la interacción con otros
Explorer
servicios.

Dispone de una gran cantidad de complementos y


Mozilla
Sí Sí extensiones que se pueden instalar para realizar
Firefox
diversas tareas adicionales.

Desarrollado por Google y de más reciente


Google
Sí Sí aparición que el resto de navegadores. Es muy
Chrome
funcional y fácil de usar.

Muy innovador. Incluye una función de navegación


Opera Sí Sí turbo para acelerar el acceso a algunas páginas
web.

Desarrollado por Apple se incluye en sus sistemas


Apple Safari Sí No operativos. Tiene una apariencia con una estética
muy cuidada.

Interfaz muy simple pero la navegación es muy


Konqueror No Sí
rápida.

Ephipany No Sí Adaptado para el escritorio GNOME.

Autoevaluación
De los siguientes navegadores web, señala cuales tienen distribución para

52 de 117 14/10/22, 11:23


Instalación y administración de servidores web. http://localhost:51236/temp_print_dirs/eXeTempPrintDir_Wm1vWv/S...

sistemas Linux.
Ephipany.

Google Chrome.

Opera.

Safari.

Internet Explorer.

Firefox.

Mostrar retroalimentación

Solución

1. Correcto
2. Correcto
3. Correcto
4. Incorrecto
5. Incorrecto
6. Correcto

53 de 117 14/10/22, 11:23


Instalación y administración de servidores web. http://localhost:51236/temp_print_dirs/eXeTempPrintDir_Wm1vWv/S...

5.1.- Parámetros de apariencia.


Los parámetros de apariencia u opciones de configuración de apariencia sirven para cambiar
la interfaz de usuario del navegador. Vamos a ver como se cambia la apariencia del
navegador Mozilla Firefox para Linux Ubuntu.

Mozilla (MPL)

En menú Ver podemos:

Mostrar o no barras de herramientas.


Añadir o quitar elementos en las barras de herramientas.
Mostrar o no un panel lateral en el navegador.

En menú Editar > Preferencias (en Windows sería en Menú Herramientas > Opciones):

Ficha General: se puede indicar si se muestra o no una página inicial y cuál es esa
página. También se puede configurar como se desarrollarán las descargas.
Ficha Pestañas: permite indicar si las ventanas nuevas se abren en nuevas pestañas,
si se advierte que se van a cerrar varias pestañas al cerrar Firefox, etc.
Ficha Contenido: permite indicar el tipo, tamaño y color de la letra predeterminada y
de la letra de los enlaces , y elegir el idioma preferido para ver las páginas web.

Mozilla (MPL)

54 de 117 14/10/22, 11:23


Instalación y administración de servidores web. http://localhost:51236/temp_print_dirs/eXeTempPrintDir_Wm1vWv/S...

5.2.- Parámetros de uso.


En la configuración de los parámetros de uso de
un navegador web, podemos configurar las
acciones que se realizan cuando se está
navegando, los sistemas de seguridad y privacidad
que se aplican, los complementos que se añaden al
navegador, etc. Vamos a ver un pequeño resumen
de la configuración de los parámetros de uso del
navegador Mozilla Firefox en Linux Ubuntu (en
Mozilla (MPL)
Windows es prácticamente igual).

En Menú Editar ⇒ Preferencias (En Windows Menú Herramientas ⇒ Opciones):

Ficha Aplicaciones: para establecer lo que se realiza con cada contenido incluido en
una página web. Por ejemplo, se puede indicar que se hace por defecto con un archivo
de audio “mp3” (guardarlo, abrirlo con un determinado reproductor de audio, abrirlo
con un complemento de Firefox o preguntar lo que se debe realizar).
Ficha Privacidad: permite establecer si Firefox debe o no recordar un historial de
navegación. También se puede hacer una configuración personalizada del historial.
Ficha Seguridad: entre otras cosas permite establecer bloqueos sobre sitios
considerados peligrosos, advertir cuando un sitio intenta instalar complementos en
nuestro equipo o la política de uso de contraseñas para acceso a los sitios que las
requieran.
Ficha Avanzado: entre otras cosas permite establecer si Firefox se conecta a la red a
través de un proxy o sin él, si se buscan actualizaciones de Firefox y la operación
que se realiza en su caso, o que técnicas de cifrado y certificados se usan para
acceder a sitios seguros.

Una de las características más destacadas de Mozilla Firefox es que permite agregar al
navegador de forma sencilla una gran variedad de complementos.

Los complementos son software que tratan de ampliar o modificar la


funcionalidad de un navegador.

En Firefox se administran los complementos en Menú Herramientas ⇒ Complementos.


Hay tres tipos de complementos:

Extensiones: sirven para que a través del navegador se realicen nuevas funciones (por
ejemplo, la extensión Live http headers que permite que se puedan capturar las
cabeceras de todos los mensajes http).
Apariencia: para instalar nuevos temas que modifican la apariencia general de Firefox.
Pluggins: para que se puedan abrir correctamente determinados tipos de archivos.

55 de 117 14/10/22, 11:23


Instalación y administración de servidores web. http://localhost:51236/temp_print_dirs/eXeTempPrintDir_Wm1vWv/S...

Para saber más


Si quieres tener más información sobre Complementos de Firefox, sigue este
enlace:

Complementos de Firefox.

Autoevaluación
¿En qué ficha de la configuración de Firefox se configura el historial de
navegación?
General.
Privacidad.
Seguridad.
Avanzado.

No, en esta ficha se configuran principalmente parámetros de apariencia.

Si, efectivamente, en esta ficha puedes personalizar como se guarda un


historial sobre los sitios visitados.

No es correcto, puedes comprobarlo viendo lo que se puede realizar en


esta ficha.

No es la opción correcta, en esta ficha se configura el cifrado y el uso de


certificados.

Solución

56 de 117 14/10/22, 11:23


Instalación y administración de servidores web. http://localhost:51236/temp_print_dirs/eXeTempPrintDir_Wm1vWv/S...

1. Incorrecto
2. Opción correcta
3. Incorrecto
4. Incorrecto

57 de 117 14/10/22, 11:23


Instalación y administración de servidores web. http://localhost:51236/temp_print_dirs/eXeTempPrintDir_Wm1vWv/S...

6.- Herramientas gráficas de


configuración.

Caso práctico
Jana ha estado realizando algún cambio en los
archivos de configuración del servidor Apache en
Ubuntu con lo que ya sabe algo sobre el tema. Al
escribir las directivas ha cometido algún error que
provocaba que el servidor no arrancara y le
respondiera con algún mensaje de error. En algún
caso le ha costado bastante solucionar el error.

Aunque entiende que debe saber trabajar con los


archivos de configuración, ha decidido utilizar una
herramienta gráfica de configuración de Apache.
shane_curcuru (CC BY-NC)
Ha optado por webmin ya que lo tenía instalado
en el ordenador, y está habituada a manejarlo. Sin
embargo, ha estado probando algunas herramientas específicas para
configurar y administrar Apache como la herramienta rApache.

Para facilitarnos la instalación, configuración y administración del


servidor Apache existen varias herramientas gráficas.

Nuevamente, la herramienta webmin incluye un módulo para


administrar y configurar en este caso el servidor web Apache. Este
módulo queda cargado automáticamente cuando instalas apache.
No tienes más que hacer clic en la opción "Refreh modules" de la
ventana principal de webmin tras haber instalado Apache. El
módulo quedará accesible a través del grupo servicios de
webmin.

Existen muchas herramientas gráficas para la configuración de Alex Light (CC BY-NC)

servidores web. En sistemas Linux se suelen usar paquetes de


herramientas de instalación que incluyen la herramienta de configuración del servidor web
Apache. En la siguiente tabla, se enumeran y comentan brevemente varias aplicaciones
gráficas que permiten la configuración y el control de servidores web, y entre ellos del
servidor web Apache.

58 de 117 14/10/22, 11:23


Instalación y administración de servidores web. http://localhost:51236/temp_print_dirs/eXeTempPrintDir_Wm1vWv/S...

Herramientas gráficas de configuración de servidores web

Sistema
Herramienta Comentario
Operativo

Herramienta específica para la


rApache Linux
configuración de Apache web server.

Herramienta específica desarrollada en Java


netLoony Linux/Windows para la configuración de Apache web
Server.

Herramienta específica para controlar y


ApacheMon Windows
monitorizar el servidor web Apache.

Herramienta específica para la


Apache Admin Windows
configuración del servidor web Apache

Herramienta específica para la


configuración y el control de Apache web
System-config-httpd Linux
server. Se usa en distribuciones Red Hat y
Fedora.

Paquete de herramientas que puede incluir


Yast2 Suse Linux un módulo de configuración de Apache web
server. Integrado en distribuciones Suse.

Herramienta administrativa para configurar y


Herramienta
controlar el servidor web IIS. Integrada
administrativa Windows
dentro de los sistemas operativos Windows
Administrador IIS
Server.

Herramienta gráfica de configuración del


lighthttpd Linux/Windows servidor web lighthttpd. Integrada en la
distribución del servidor.

59 de 117 14/10/22, 11:23


Instalación y administración de servidores web. http://localhost:51236/temp_print_dirs/eXeTempPrintDir_Wm1vWv/S...

6.1.- Webmin. Módulo Apache.


La herramienta gráfica Webmin incluye un módulo de administración y control del servidor
web Apache. Este módulo queda instalado en webmin cuando se ha instalado el servidor
web Apache y se han “refrescado” los módulos en webmin. Para ejecutar este módulo en
webmin, debes seleccionar “Servidores > Servidor web Apache”. La ventana principal de
este módulo es como la que se muestra en la imagen siguiente:

Webmin (BSD)

Los enlaces “Aplicar Cambios”, “Parar/Iniciar Apache” y “Buscar Documentos” tienen la


misma función que la descrita ya para otros servidores.

En la ventana principal hay tres fichas o pestañas:

a. Global Configuration: permite configurar parámetros globales de funcionamiento del


servicio.
b. Existing Virtual Host: muestra una lista de todos los sitios web que administra el
servidor. Inicialmente muestra dos elementos. El primero de la lista (servidor por
defecto) sirve para establecer una configuración para el único sitio web (cuando no se
permiten sitios virtuales). El segundo sirve para configurar el sitio web principal cuando
hay sitios virtuales. Habrá más elementos en la lista cuando se añadan más sitios web
o sitios virtuales.
c. Create virtual host: sirve para crear un nuevo sitio web virtual. Para que el servidor
web pueda administrar otros sitios web.

Desde el enlace “configuración de módulo” puedes acceder a una ventana en la que se


puede configurar el entorno de trabajo del propio módulo de configuración así como la
“configuración del sistema” donde se pueden consultar y modificar las rutas y nombres de
los archivos de configuración de Apache y los comandos de control del servicio. La imagen
siguiente muestra una captura de pantalla de la configuración del sistema.

Webmin (BSD)

60 de 117 14/10/22, 11:23


Instalación y administración de servidores web. http://localhost:51236/temp_print_dirs/eXeTempPrintDir_Wm1vWv/S...

Autoevaluación
Tras haber instalado el servidor Apache, ¿Cuántos elementos se muestran
en la pestaña "Existing Virtual Host" del módulo de configuración de
Apache en webmin?
Ninguno.
Uno.
Dos.
Tres.

No, alguno si se muestra.

No es correcto, anteriormente se ha dicho cuantos elementos aparecen


inicialmente, es decir, tras la instalación de Apache.

Muy bien, uno para el sitio principal y otro para el sitio cuando no hay
sitios virtuales.

Respuesta incorrecta, ¿No te parecen demasiados?

Solución

1. Incorrecto
2. Incorrecto
3. Opción correcta
4. Incorrecto

61 de 117 14/10/22, 11:23


Instalación y administración de servidores web. http://localhost:51236/temp_print_dirs/eXeTempPrintDir_Wm1vWv/S...

6.2.- Webmin. Configuración Global del


servidor Apache.
Anteriormente hemos visto que en la ventana principal de configuración de Apache hay una
ficha llamada “Global Configuration” o configuración global.

Webmin (BSD)

En la ventana hay varios iconos con enlaces a otras ventanas de configuración de


parámetros globales del servidor.

a. Límites y procesos: permite establecer limitaciones sobre el tamaño de los mensajes


HTTP de petición Y sobre el número de procesos que puede mantener en ejecución
simultánea el servidor Apache.
b. Redes y direcciones: se configuran las direcciones IP y los puertos en los que
escucha el servidor. Pueden establecerse para todos los sitios o particularizarse para
cada sitio virtual.

Webmin (BSD)

c. Tipos MIME: permite mostrar, editar o añadir tipos MIME con los que trabaja el
servidor.
d. Usuarios y grupos: para seleccionar el usuario que ejecuta por defecto el servicio y el
grupo al que pertenece.
e. Varios: configura parámetros con objetivos diversos. Uno de ellos sirve para indicar la
información que envía el servidor en los mensajes de respuesta HTTP:
f. Programas CGI: relacionado con contenidos dinámicos mediante programas CGI.
g. Archivos de opciones de Por-Directorio: para crear archivos “.htaccess” en carpetas
de un sitio web que permiten establecer opciones sobre esas carpetas.
h. Configurar módulos de Apache: muestra un listado con los módulos disponibles para
Apache, indicando si están o no activados actualmente y permitiendo activarlos o
desactivarlos.
i. Editar parámetros definidos: para escribir parámetros que se le pasan al servicio
cuando este es iniciado, (estos parámetros no se guardan en los archivos de
configuración).
j. Editar archivos de configuración: para mostrar o modificar el contenido de los

62 de 117 14/10/22, 11:23


Instalación y administración de servidores web. http://localhost:51236/temp_print_dirs/eXeTempPrintDir_Wm1vWv/S...

archivos de configuración. Es interesante mostrar un archivo de configuración cuando


se realiza alguna modificación de la configuración con webmin.

63 de 117 14/10/22, 11:23


Instalación y administración de servidores web. http://localhost:51236/temp_print_dirs/eXeTempPrintDir_Wm1vWv/S...

6.3.- Webmin. Configuración para servidor


principal.
Permite establecer una serie de parámetros de configuración aplicables al sitio web principal.
Se accede a esta configuración desde la Ventana principal del módulo Servidor Apache ⇒
Ficha Existing Virtual Hosts ⇒ Servidor por Defecto. Se muestra la ventana Opciones de
configuración para servidor por defecto con varios iconos y enlaces a otras ventanas de
configuración.

Webmin (BSD)

Importante: Se considera servidor principal el que atiende las peticiones de los


clientes web cuando no se han configurado servidores virtuales por nombre.
Cuando se instala el servidor Apache se configuran los servidores virtuales por
nombre. Por ello, las opciones que se configuran aquí no tendrán ningún efecto,
salvo que se desactiven los servidores virtuales por nombre. Este tema lo
trataremos más adelante en esta misma unidad.

De todas las opciones de configuración para servidor principal, pueden destacarse:

Redes y Direcciones: permite especificar el nombre de máquina de servidor,


(directiva ServerName) para indicar el nombre DNS con el que se accede al sitio web,
y la dirección de correo del administrador del servidor (directiva ServerAdmin).
Alias y redireccionamiento: sirve para redirigir las peticiones de un cliente HTTP sobre
un archivo, o sobre una carpeta hacia otro archivo u otra carpeta que puede
encontrarse incluso fuera del sitio web.
Archivos de bitácora: permite especificar el archivo que registra los errores del
servicio.
Opciones de Documento: permite especificar la carpeta raíz donde se almacena el
sitio web principal. Debemos recordar que por defecto la carpeta raíz para el sitio web
principal es /var/www. También permite establecer el nombre de los archivos de
configuración de directorios o carpetas (.htaccess).
Indizado de directorio: declara los archivos índice del sitio (recordar el parámetro de
configuración DirectoryIndex). Permite establecer también opciones relativas a estos

64 de 117 14/10/22, 11:23


Instalación y administración de servidores web. http://localhost:51236/temp_print_dirs/eXeTempPrintDir_Wm1vWv/S...

archivos.
Mostrar directivas: las que corresponden a las opciones de configuración para
servidor por defecto.

65 de 117 14/10/22, 11:23


Instalación y administración de servidores web. http://localhost:51236/temp_print_dirs/eXeTempPrintDir_Wm1vWv/S...

Autoevaluación
Si quieres establecer en webmin, en el módulo de configuración del servidor
web Apache que el sitio web principal se almacene bajo la carpeta /webs,
debes acceder dentro de la ventana Opciones de configuración para
servidor por defectoa la opción:
Redireccionamiento.
Archivos de bitácora.
Indizado de directorio.
Opciones de documento.

No es correcto, esto es para redirigir de un archivo solicitado por un


cliente a otro.

No, puedes comprobar que dentro de esta opción no puedes realizar esa
configuración.

Respuesta incorrecta, y debes tener bien claro para que sirve esta opción.

Efectivamente, dentro de esta opción se puede establecer la carpeta por


defecto para sitios web.

Solución

1. Incorrecto
2. Incorrecto
3. Incorrecto
4. Opción correcta

66 de 117 14/10/22, 11:23


Instalación y administración de servidores web. http://localhost:51236/temp_print_dirs/eXeTempPrintDir_Wm1vWv/S...

6.4.- Webmin. Opciones de servidor virtual.


En el apartado anterior hemos destacado que cuando se instala el servidor Apache se
configuran los servidores virtuales por nombre. En la ficha Ventana principal del módulo
Servidor Apache ⇒ Ficha Existing Virtual Hosts ⇒ Servidor Virtual se establece una
configuración para un primer servidor virtual por nombre que, en principio, atiende todas las
peticiones web realizadas por clientes al servidor Apache.

Webmin (BSD)

La configuración que se establezca configura un sitio web en el servidor al que se accede


desde un cliente web mediante:

a. http://nombre_DNS_servidor
b. http://dirección_IP_servidor

Donde el nombre DNS es cualquiera de los nombres DNS que estén registrados para el
servidor en la zona DNS a la que pertenezca.

Más adelante aprenderemos a crear servidores virtuales por nombre y, entonces, cada
servidor virtual gestionará un sitio virtual al que se accederá con uno sólo de los nombres
DNS del equipo.

La ventana de Opciones de Servidor Virtual tiene prácticamente los mismos elementos que
la ventana Opciones de configuración para servidor por defecto vista en el apartado
anterior. En la parte inferior de la ventana se tienen las opciones que se muestran en la
siguiente imagen.

Webmin (BSD)

En dirección y en puerto se puede indicar la dirección IP y el puerto en los que el servidor


escucha las peticiones de los clientes. Por defecto escucha en todas las direcciones IP, es
decir, en todos sus adaptadores de red. En Raíz de Documento se indica la carpeta raíz del
sitio web. La carpeta debe existir cuando se establezca como carpeta raíz. El Nombre del
servidor es el nombre con el que el servidor se identifica ante los clientes.

Todos los cambios realizados para opciones de servidor virtual realizan modificaciones en

67 de 117 14/10/22, 11:23


Instalación y administración de servidores web. http://localhost:51236/temp_print_dirs/eXeTempPrintDir_Wm1vWv/S...

el archivo de configuración de servidor virtual por defecto /etc/apache2/sites-available


/default.

Recomendación
Realiza pruebas sobre la configuración de la carpeta raíz del sitio web en el
servidor web Apache de Ubuntu o Debian. Establece por ejemplo que esta
carpeta sea /var/web. Crea y copia en ella o en subcarpetas documentos html
a partir del archivo index.html y modifica su contenido. Ejecuta en otro
ordenador un navegador web y comprueba que se accede a las páginas html
mediante varias URLs como:

http://dirección_IP_servidor
http://nombre_DNS_servidor
http://nombre_DNS_servidor/documentoHTML
http://nombre_DNS_servidor/subcarpeta/documentoHTML

68 de 117 14/10/22, 11:23


Instalación y administración de servidores web. http://localhost:51236/temp_print_dirs/eXeTempPrintDir_Wm1vWv/S...

7.- Módulos de Apache.

Caso práctico
Jana está desarrollando las páginas web
del sitio www.centroelacebo.com. Ha
visto que en otros sitios, sobre todo en los
de Universidades y otros centros
educativos, los profesores y otros
miembros de la organización tienen un
espacio web personal en el que publican
sus páginas web. Quiere realizar lo mismo
para que los miembros de la asociación
puedan disponer de su espacio web babegeik (CC BY-NC-ND)
personal en el sitio y editar sus contenidos.

Para hacer esto tiene que activar un módulo de Apache llamado userdir y
configurarlo adecuadamente. Después publicará información en la asociación
sobre la posibilidad de que sus miembros dispongan de sus espacios web
personales.

El caso práctico anterior no es más que uno de los muchos


casos en que se puede necesitar recurrir a la activación y
configuración de un módulo de Apache. Se necesita activar
y configurar otros módulos para otras situaciones como
establecer sistemas de control de acceso al sitio web,
enlazar con programas que interpreten páginas web
dinámicas escritas en lenguajes como PHP, etc.

El software servidor web Apache está construido mediante


Alice Barlett (CC BY-NC)
módulos. Varios de estos módulos constituyen el núcleo del
servidor, es decir, el que dota al servidor de una
funcionalidad básica. La distribución de Apache incluye una serie de módulos adicionales
para proporcionar nuevas funcionalidades al servidor. Además es posible la instalación de
otros módulos que no se hayan incluido en la distribución.

Los módulos de Apache deben estar compilados para el sistema operativo que corresponda
a la instalación del servidor web Apache.

Por ejemplo, el módulo userdir permite que los usuarios del sistema puedan disponer de un
espacio web personal dentro del sitio web. Dispondrán de una carpeta personal en la que
podrán guardar todos los archivos de su espacio web.

69 de 117 14/10/22, 11:23


Instalación y administración de servidores web. http://localhost:51236/temp_print_dirs/eXeTempPrintDir_Wm1vWv/S...

En los sistemas Debian/Ubuntu, los módulos de Apache instalados se encuentran


almacenados en la carpeta /usr/lib/apache2/modules/ y tienen la extensión
“.so”.

Recomendación
Abre la carpeta /usr/lib/apache2/modules/ para ver los módulos Apache que
hay actualmente instalados.

Los módulos adicionales de Apache son cargados dinámicamente cada vez que se inicia el
servidor. Para que el servidor pueda cargarlos es necesario que estén activados y
configurados correctamente.

Para saber más


Puedes obtener información sobre todos los módulos incluidos en la
distribución del servidor web Apache en:

Módulos de Apache

70 de 117 14/10/22, 11:23


Instalación y administración de servidores web. http://localhost:51236/temp_print_dirs/eXeTempPrintDir_Wm1vWv/S...

7.1.- Instalación y activación.


Los módulos instalados para Apache se consideran módulos disponibles. Para que Apache
pueda cargarlos es necesario además que estén activados.

Si quisiéramos instalar un módulo Apache no instalado en sistemas Debian/Ubuntu,


podríamos hacerlo con apt-get sabiendo el nombre del paquete que incluya al módulo. Para
la administración de los módulos, el servidor web Apache utiliza dos carpetas:

/etc/apache2/mods-available: Carpeta para todos los módulos disponibles. Incluye


un archivo de carga con extensión “.load” para cada módulo disponible. Para algunos
módulos incluye un archivo de configuración de módulo con extensión “.conf”, que
contiene directivas para una configuración básica del módulo. Este archivo se puede
modificar para adaptar la configuración a nuestras necesidades.

Ubuntu (GNU/GPL)

/etc/apache2/mods-enabled: Contiene enlaces simbólicos a los archivos de la


carpeta mods-available. Contiene sólo enlaces a los archivos de los módulos que
están activados.

En el archivo principal de configuración de Apache (/etc/apache2/apache2.conf) se tienen


dos directivas para que se incluyan los contenidos de los archivos de carga y de
configuración de todos los módulos activados.

1 Include mods-enabled/*.load
2 Include mods-enabled/*.conf

Cada archivo de carga contiene una directiva “load” que hace que se cargue el módulo
cuando se inicie el servidor. Por ejemplo, la directiva de carga del archivo userdir.load para
el módulo userdir es:

1 LoadModule userdir_module /usr/lib/apache2/modules/mod_userdir.so

Para activar y desactivar un modulo de Apache, pueden usarse los comandos a2enmod

71 de 117 14/10/22, 11:23


Instalación y administración de servidores web. http://localhost:51236/temp_print_dirs/eXeTempPrintDir_Wm1vWv/S...

(activar) y a2dismod (desactivar). Es necesario que el módulo esté disponible y el archivo de


carga exista en la carpeta mods-available. Por ejemplo, para activar el módulo userdir
habrá que ejecutar:

$ sudo a2enmod userdir

Al ejecutar el comando, se crean los enlaces necesarios en la carpeta /etc/apache2/mods-


enabled. Tras activar el módulo, hay que reiniciar el servidor para que quede cargado el
módulo.

Autoevaluación
¿En qué carpeta se encuentran los archivos de carga de todos los
módulos instalados para Apache?
/usr/lib/apache2/modules.
/etc/apache2/modules.
/etc/apache2/mods-enabled.
/etc/apache2/mods-available.

No, en esta carpeta se almacenan los módulos y no los archivos de carga.

No es correcto, esta carpeta ni siquiera se crea al instalar Apache.

Respuesta incorrecta, en esta carpeta hay enlaces simbólicos a archivos


de carga de módulos activados.

Si, esta es la carpeta que almacena los archivos de carga de los módulos
disponibles.

Solución

72 de 117 14/10/22, 11:23


Instalación y administración de servidores web. http://localhost:51236/temp_print_dirs/eXeTempPrintDir_Wm1vWv/S...

1. Incorrecto
2. Incorrecto
3. Incorrecto
4. Opción correcta

73 de 117 14/10/22, 11:23


Instalación y administración de servidores web. http://localhost:51236/temp_print_dirs/eXeTempPrintDir_Wm1vWv/S...

7.2.- Configuración.
Para configurar un módulo hay que editar el archivo de configuración del módulo que se
encuentra en /etc/apache2/mods-available. Por ejemplo, para configurar el módulo userdir
hay que editar el archivo de configuración userdir.conf. Este archivo tiene inicialmente varias
directivas de configuración. Como en la mayoría de los archivos de configuración de
módulos, las directivas se encierran dentro de un bloque:

1 <IfModule nombre_modulo> … </IfModule>

Este bloque significa que se deben tener en cuenta las directivas que hay dentro del bloque
para configurar el servidor si el módulo está instalado. Por ejemplo, el contenido inicial del
archivo de configuración userdir.conf para el módulo userdir es:

1 <IfModule mod_userdir.c>
2 UserDir public_html
3 UserDir disabled root
4 <Directory /home/*/public_html>
5 AllowOverride FileInfo AuthConfig Limit Indexes
6 Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
7 <Limit GET POST OPTIONS>
8 Order allow,deny
9 Allow from all
10 </Limit>
11 <LimitExcept GET POST OPTIONS>
12 Order deny,allow
13 Deny from all
14 </LimitExcept>
15 </Directory>
16 </IfModule>

La directiva UserDir public_html establece que cada


usuario del sistema puede tener dentro de su carpeta
personal de usuario (/home/nombre_usuario), una carpeta
llamada public_html donde puede guardar documentos
web para su espacio web personal dentro del dominio. La
directiva UserDir disabled root establece que el usuario
root no puede disponer de este espacio personal. La
directiva <Directory /home/*/public_html> establece un
conjunto de directivas aplicables a todas las carpetas de
nombre public_html dentro de cualquier carpeta personal Mike Rohde (CC BY-NC)

de usuario (/home/*).

74 de 117 14/10/22, 11:23


Instalación y administración de servidores web. http://localhost:51236/temp_print_dirs/eXeTempPrintDir_Wm1vWv/S...

Cada usuario puede guardar en su carpeta public_html documentos html, archivos de


imagen, archivos de vídeo, y cualquier otro archivo necesario para las páginas web de su
espacio web personal.

75 de 117 14/10/22, 11:23


Instalación y administración de servidores web. http://localhost:51236/temp_print_dirs/eXeTempPrintDir_Wm1vWv/S...

7.3.- Uso.
Un módulo adicional de Apache da una nueva funcionalidad
al servidor Apache. Aquí nos vamos a limitar a explicar el
uso que se da a uno de los módulos, al módulo userdir al
que nos venimos refiriendo anteriormente.

El módulo permite que cada usuario de un sistema Linux


pueda crear en su carpeta personal del sistema (/home
/usuario), una carpeta public_html que será carpeta raíz
para su espacio personal en el sitio web. En esa carpeta
puede organizar todos los archivos de su espacio web. Si ivanpw (CC BY)
por ejemplo, Ana es una usuaria del sistema, podrá tener en
su carpeta personal /home/Ana una carpeta llamada
public_html para los archivos de su espacio web.

Si Ana ha almacenado en public_html un documento web llamado uno.html, y el nombre


del sitio web es www.aulaubuntu.com, para acceder a ese documento con un navegador
web habrá que escribir en la URL:

http://www.aulaubuntu.com/~Ana/uno.html

Como puede observarse, el carácter "~" debe preceder al nombre de usuario. Ese
carácter simboliza la ruta /home/.

Si se quiere que, en el caso anterior, se pueda acceder al espacio web personal de Ana, sin
usar el carácter "~", hay que crear un alias en el archivo de configuración /etc/apache2
/sites-available/default. En ese archivo habría que añadir la directiva:

Alias /Ana/ "/home/Ana/public_html/"

Tras reiniciar el servidor, ya se puede acceder al espacio web personal de Ana


mediante:

http://www.aulaubuntu.com/Ana/uno.html

Visualiza la siguiente presentación flash para saber de qué modo se activan módulos
Apache, como se crean alias y como se crea un espacio web personal.

76 de 117 14/10/22, 11:23


Instalación y administración de servidores web. http://localhost:51236/temp_print_dirs/eXeTempPrintDir_Wm1vWv/S...

CREAR ESPACIO WEB


PERSONAL

Crear un espacio Web personal


Vamos a ver como se realiza un proceso completo para que los
usuarios del sistema puedan disponer de un espacio web personal
en el sitio web.

En primer lugar, tenemos que tener activado el módulo userdir que


da esa funcionalidad el servidor Apache. Para ello tenemos que
hacer click en "Configurar Modulos Apache" dentro de la ficha
"Configuración Global" de la ventana principal de la
configuración de Apache.

77 de 117 14/10/22, 11:23


Instalación y administración de servidores web. http://localhost:51236/temp_print_dirs/eXeTempPrintDir_Wm1vWv/S...

Webmin (BSD)

Crear un espacio Web personal


Vemos la lista de todos los módulos disponibles, estando
seleccionados aquellos que están activados actualmente. Hay que
marcar el módulo userdir que queremos activar, después pulsar en
"enable selected modules" y volver a lista de servidores. Habrá
que salvar los cambios y reiniciar el servidor para que se cargue el
módulo. Ahora ya los usuarios pueden disponer de su espacio web
personal.

78 de 117 14/10/22, 11:23


Instalación y administración de servidores web. http://localhost:51236/temp_print_dirs/eXeTempPrintDir_Wm1vWv/S...

Webmin (BSD)

79 de 117 14/10/22, 11:23


Instalación y administración de servidores web. http://localhost:51236/temp_print_dirs/eXeTempPrintDir_Wm1vWv/S...

Crear un espacio Web personal


Ahora vamos a crear un alias para que se pueda acceder con un
navegador al espacio web del usuario luis escribiendo el nombre
en la URL en lugar de "~luis" con la tilde. Para ello, hay que
acceder a la configuración de servidor virtual.

Webmin (BSD)

Crear un espacio Web personal


En la ventana Opciones de Servidor Virtual, hay que pulsar en el
icono Alias y Redireccionamientos.

80 de 117 14/10/22, 11:23


Instalación y administración de servidores web. http://localhost:51236/temp_print_dirs/eXeTempPrintDir_Wm1vWv/S...

Webmin (BSD)

Crear un espacio Web personal


En la ventana Alias y Redireccionamientos hay que añadir el
nuevo alias en Aliases de directorio de documento. Para el caso
del usuario luis, hay que escribir en:

De: /luis/

Para: /home/luis/public_html/

Si la carpeta configurada para el espacio web de usuarios tuviese


un nombre distinto a public_html habría que escribir ese nombre
en lugar de public_html. Finalmente debemos guardar los
cambios y reiniciar el servidor Apache.

81 de 117 14/10/22, 11:23


Instalación y administración de servidores web. http://localhost:51236/temp_print_dirs/eXeTempPrintDir_Wm1vWv/S...

Webmin (BSD)

Crear un espacio Web personal


Cuando el usuario luis quiera crear su espacio web personal
tendrá que crear en su carpeta personal del sistema la carpeta
public_html para alojar dicho espacio. En esa carpeta podrá
añadir subcarpetas, archivos html y cualquier otro archivo para su
espacio web. Para comprobar que el espacio web funciona puede
añadir un documento index.html con un contenido apropiado.

82 de 117 14/10/22, 11:23


Instalación y administración de servidores web. http://localhost:51236/temp_print_dirs/eXeTempPrintDir_Wm1vWv/S...

Ubuntu (GNU/GPL)

Crear un espacio Web personal


Ahora puede ejecutar un navegador desde otro ordenador de la
red y escribir en la URL de Internet Explorer, por ejemplo:

http://www.aulaubuntu.com/~luis

http://www.aulaubuntu.com/~luis/index.html

y se mostrará la página web del espacio personal de luis.

83 de 117 14/10/22, 11:23


Instalación y administración de servidores web. http://localhost:51236/temp_print_dirs/eXeTempPrintDir_Wm1vWv/S...

Microsoft (Todos los derechos reservados)

Crear un espacio Web personal


También se puede comprobar que el alias creado funciona
correctamente escribiendo en la URL:

http://www.aulaubuntu.com/luis

http://www.aulaubuntu.com/luis/index.html

84 de 117 14/10/22, 11:23


Instalación y administración de servidores web. http://localhost:51236/temp_print_dirs/eXeTempPrintDir_Wm1vWv/S...

Microsoft (Todos los derechos reservados)

Autoevaluación
Para establecer que los usuarios del sistema Debian/Ubuntu dispongan de
un espacio web personal bajo una carpeta llamada web tengo que escribir
en el archivo de configuración del módulo la directiva:
Userdir web.
Directory web.
DirectoryIndex web.
DocumentRoot /var/web.

Muy bien, esa es la directiva correcta.

No, la directiva Directory incluye otras directivas para una carpeta.

No es correcto, deberías comprobar para qué se utiliza esta directiva.

Respuesta incorrecta, esto sería para establecer la carpeta raíz del sitio
web.

85 de 117 14/10/22, 11:23


Instalación y administración de servidores web. http://localhost:51236/temp_print_dirs/eXeTempPrintDir_Wm1vWv/S...

Solución

1. Opción correcta
2. Incorrecto
3. Incorrecto
4. Incorrecto

86 de 117 14/10/22, 11:23


Instalación y administración de servidores web. http://localhost:51236/temp_print_dirs/eXeTempPrintDir_Wm1vWv/S...

8.- Servidores virtuales.

Caso práctico
Jana y sus amigos quieren tener un sitio web
para el club de motos de Peñas Blancas.

Jana pretende que el servidor web Apache del


centro aloje también el sitio
www.motoclubpblancas.com. Dado que el
servidor web Apache administra ya el sitio
www.centroelacebo.com, tiene que crear un
servidor virtual para el sitio del club de motos. Jano2106 (CC BY-NC-SA)

Ha leído información sobre cómo hacer esto,


pero le ha pedido consejo a Vindio para realizarlo correctamente. En un
principio va a realizar las pruebas oportunas en una de las máquinas virtuales
de su portátil.

Los servidores virtuales permiten que un mismo servidor web pueda trabajar como servidor
para varios sitios web. Así, usando servidores virtuales podremos hacer que un servidor web
Apache administre los sitios www.motoclubpblancas.com y www.centroelacebo.com.
Las empresas de hosting usan los servidores virtuales para poder alojar varios sitios web.

Se pueden crear tres tipos de servidores virtuales:

a. Basados en direcciones IP: por cada dirección IP del equipo servidor web se tendrá
un servidor web virtual. Para tener esta configuración se necesitaría tener en el equipo
varios adaptadores de red o, lo que sería mejor, crear varias interfaces virtuales de red
sobre un mismo adaptador de red y dar una IP a cada una de las interfaces virtuales.
b. Basados en puertos: el servidor web usará un puerto de escucha por cada servidor
virtual. Esto se realiza por ejemplo cuando un servidor tiene dos servidores virtuales y
uno escucha en el puerto 80 y el otro escucha en el puerto 443 debido a que tiene que
usar el protocolo https.
c. Basados en nombres: el servidor web puede alojar varios sitios web pertenecientes a
distintos dominios usando para todos ellos la misma dirección y el mismo puerto de
escucha.

En los siguientes apartados nos vamos a centrar únicamente en los servidores virtuales
basados en nombres. Cuando se instala el servidor web Apache, queda configurado para
que pueda usar servidores virtuales basados en nombre. En el archivo de configuración
/etc/apache2/ports.conf se debe tener la siguiente directiva para que se puedan crear
servidores virtuales basados en nombre escuchando a los clientes en cualquiera de las

87 de 117 14/10/22, 11:23


Instalación y administración de servidores web. http://localhost:51236/temp_print_dirs/eXeTempPrintDir_Wm1vWv/S...

direcciones IP del equipo servidor Apache y en el puerto 80:

1 NameVirtualHost *:80

Si quisiéramos que los servidores virtuales sólo escuchen en la IP 192.169.3.1, tendríamos


que escribir la directiva:

1 NameVirtualHost 192.168.3.1:80

Para saber más


Si quieres conocerlo todo sobre la directiva NameVirtualHost, sigue el enlace:

Directiva NameVirtualHost.

88 de 117 14/10/22, 11:23


Instalación y administración de servidores web. http://localhost:51236/temp_print_dirs/eXeTempPrintDir_Wm1vWv/S...

8.1.- Creación de un servidor virtual.


Puedes crear con webmin un servidor virtual basado en nombre en la ficha Create virtual
host de la ventana principal de configuración de Apache. Es necesario especificar el nombre
de la carpeta raíz del sitio y el nombre del servidor virtual o, lo que es lo mismo, el nombre
del sitio. En la imagen siguiente se muestra que se ha establecido /var/web/motoclub como
carpeta raíz y www.motoclubpblancas.com como nombre del servidor. Los demás
parámetros se pueden dejar como los ofrece webmin por defecto.

Webmin (BSD)

Al crear el servidor virtual, se muestra un icono para ese servidor en la ficha Existing Virtual
Hosts de la ventana principal de configuración de Apache. Pulsando en el icono se accede a
una ventana de configuración del servidor virtual.

Importante: El nombre del servidor virtual debe ser resuelto por algún servidor
DNS. Por ello es necesario tener un servidor DNS que resuelva en la zona
correspondiente y que resuelva el nombre del servidor virtual con la dirección IP
del equipo servidor.

Una vez creado el servidor virtual tienes que reiniciar


el servidor Apache para que se apliquen los
cambios.

Ya podrás almacenar algún archivo HTML en la


carpeta raíz del nuevo sitio, y comprobar con un
navegador web que se accede correctamente al sitio
a través del servidor virtual.

Al crear con webmin el servidor virtual se habrá


Ubuntu (GNU/GPL)
creado en la carpeta /etc/apache2/sites-available
un archivo de configuración como el señalado en la
imagen de la derecha para el servidor virtual www.motoclubpblancas.com.

En la carpeta /etc/apache2/sites-available se habrá creado un enlace simbólico al archivo


de configuración del servidor virtual.

89 de 117 14/10/22, 11:23


Instalación y administración de servidores web. http://localhost:51236/temp_print_dirs/eXeTempPrintDir_Wm1vWv/S...

Autoevaluación
La directiva de configuración de Apache, para establecer que se pueden
usar servidores virtuales basados en nombre es:
VirtualHost.
NameVirtualHost.
Sites-available.
ServerAlias.

No es correcta, esta directiva es para configurar un servidor virtual.

Efectivamente, y hay que indicar la dirección IP y el puerto de escucha.

Respuesta incorrecta, esto no es una directiva.

No, esta directiva permite usar nombres alternativos para el servidor


Apache.

Solución

1. Incorrecto
2. Opción correcta
3. Incorrecto
4. Incorrecto

90 de 117 14/10/22, 11:23


Instalación y administración de servidores web. http://localhost:51236/temp_print_dirs/eXeTempPrintDir_Wm1vWv/S...

8.2.- Configuración de un servidor virtual.


Puedes configurar un servidor virtual mediante webmin o editando directamente el archivo
de configuración para el servidor virtual. Este archivo de configuración ya hemos visto que se
encuentra en la carpeta /etc/apache2/sites-available. Si por ejemplo el servidor virtual aloja
el sitio www.ejemplo.com, el nombre de este archivo es www.ejemplo.com.conf.

Para configurar un servidor virtual con webmin, hay que pulsar en el icono que representa al
servidor virtual dentro de la ficha Existing Virtual Hosts, de la ventana principal de
configuración de Apache. Se accede a una ventana de configuración idéntica a la que ya
hemos visto para la configuración de opciones de servidor virtual en el apartado 6.4 de
esta unidad.

Webmin (BSD)

Tras la creación de un servidor virtual como el propuesto en el apartado anterior, el contenido


del archivo de configuración sería:

1 <VirtualHost 80>
2 DocumentRoot "/var/web/motoclub"
3 ServerName www.motoclubpblancas.com
4 <Directory "/var/web/motoclub">
5 allow from all
6 Options +Indexes
7 </Directory>
8 </VirtualHost>

La directiva <VirtualHost *:80> indica que el servidor virtual escucha las peticiones de los clientes
en el puerto 80 de todos los adaptadores de red del equipo. Dentro de esta directiva se
tienen todas las directivas que configuran un servidor virtual. En este caso se trata de un
servidor virtual para el sitio www.motoclubpblancas.com que aloja los archivos del sitio en
la carpeta /var/web/motoclub. Dentro de la directiva <Directory> se incluyen otras directivas
que configuran el comportamiento de la carpeta correspondiente. En este archivo podemos
modificar, añadir o eliminar directivas. Siempre que lo hagas deberás reiniciar el servidor para
que se apliquen los cambios.

91 de 117 14/10/22, 11:23


Instalación y administración de servidores web. http://localhost:51236/temp_print_dirs/eXeTempPrintDir_Wm1vWv/S...

Para saber más


Si quieres aprender más sobre servidores virtuales basados en nombre, sigue
el enlace:

Soporte de hosting virtual basado en nombres.

92 de 117 14/10/22, 11:23


Instalación y administración de servidores web. http://localhost:51236/temp_print_dirs/eXeTempPrintDir_Wm1vWv/S...

8.3.- Utilización de un servidor virtual.


Una vez que tenemos creado y configurado un servidor virtual para un sitio web, podemos
añadir a la carpeta raíz del sitio los archivos y las carpetas necesarias para los contenidos de
las páginas web del sitio.

Por ejemplo, si en el servidor virtual para el sitio www.motoclubpblancas.com tenemos


como carpeta raíz del /var/web/motoclub, podemos ir añadiendo a la carpeta contenidos y
que contenga algo como lo que reflejamos en la siguiente imagen:

Ubuntu (GNU/GPL)

Cuando hagas modificaciones en los contenidos del sitio, no hay que reiniciar el servidor
Apache para que esos cambios tengan efecto. Ahora por ejemplo, para ver con un
navegador web la página web motos.html del sitio anterior, tendrías que escribir en la URL
del navegador:

http:// www.motoclubpblancas.com/motos.html

Para poder usar el nombre DNS del sitio web www.motoclubpblancas.com en la URL es
necesario que un servidor DNS resuelva nombres en la zona correspondiente, es decir, en
motoclubpblancas.com. Además es necesario que en esa zona se tenga registrado el
nombre DNS del sitio para que se resuelva con la dirección IP del servidor.

93 de 117 14/10/22, 11:23


Instalación y administración de servidores web. http://localhost:51236/temp_print_dirs/eXeTempPrintDir_Wm1vWv/S...

Recomendación
Crea usando webmin un servidor virtual para el sitio www.misitio.org que se
aloje en una carpeta raíz a tu elección. Una vez creado muestra el contenido
del archivo de configuración. Añade documentos web y carpetas al sitio y
comprueba que se accede correctamente con un navegador al sitio.

Autoevaluación
En la configuración de un servidor virtual, la directiva DocumentRoot debe
escribirse en el archivo de configuración del servidor virtual:
Antes del comienzo de la directiva VirtualHost.
Después de finalizar la directiva VirtualHost.
Dentro de la directiva VirtualHost.
Antes de comenzar la directiva NameVirtualHost.

No es correcta, así no afectaría al servidor virtual.

Incorrecta, puedes verlo mostrando un archivo de configuración de


servidor virtual.

Si, esta es la respuesta correcta.

No, esta directiva no se encuentra en archivos de configuración de


servidores virtuales.

Solución

1. Incorrecto

94 de 117 14/10/22, 11:23


Instalación y administración de servidores web. http://localhost:51236/temp_print_dirs/eXeTempPrintDir_Wm1vWv/S...

2. Incorrecto
3. Opción correcta
4. Incorrecto

95 de 117 14/10/22, 11:23


Instalación y administración de servidores web. http://localhost:51236/temp_print_dirs/eXeTempPrintDir_Wm1vWv/S...

9.- Autenticación y control de acceso.

Caso práctico
Eva le ha sugerido a Jana que para acceder a
algunos de los contenidos del sitio web con un
navegador sea necesario que el usuario se
identifique con un nombre y con una
contraseña. También desea que algunos de los
contenidos estén accesibles sólo desde
equipos de la red local y no desde equipos
externos.
Jeremy Brooks (CC BY-NC)

Jana se ha informado sobre el tema y sabe que


tiene que establecer un sistema de autenticación y de control de acceso. Por el
momento va a intentar establecer sistemas simples aunque un tanto inseguros.
Más adelante intentará establecer otros sistemas mejores.

a. Un sistema de autenticación verifica la identidad de un usuario para dejarle acceder o


no a un servicio, en este caso al servicio web. Si se establece la autenticación en un
sitio web, al acceder al sitio web desde un navegador, se pide un nombre de usuario y
una contraseña. Si son válidos, se envía al navegador la página web solicitada y si no
es así, se envía una respuesta HTTP de error por fallo en la autenticación. Otros
sistemas de autenticación más avanzados usan los certificados en lugar de nombres
de usuario y contraseñas.
b. Un sistema de control de acceso comprueba la identidad del ordenador cliente que
solicita un recurso, y establece limitaciones sobre el acceso al recurso en función de la
identificación del ordenador. Sobre un mismo recurso, se puede establecer un sistema
de control de acceso y un sistema de autenticación. El control de acceso controla la
máquina cliente, mientras que la autenticación controla al usuario cliente. Para el
acceso a un recurso, el servidor Apache realiza primero el control de acceso y después
la autenticación.

Hay tres sistemas de autenticación:


1. Básica: el usuario introduce su nombre y su contraseña en el cliente web y son
transmitidos sin cifrar o encriptar hacia el servidor.

2. Digest: el usuario introduce su nombre y contraseña en el cliente y se transmiten

96 de 117 14/10/22, 11:23


Instalación y administración de servidores web. http://localhost:51236/temp_print_dirs/eXeTempPrintDir_Wm1vWv/S...

cifrados hacia el servidor.

3. Por certificado: el cliente dispone de un certificado digital que envía al servidor al


conectarse.

97 de 117 14/10/22, 11:23


Instalación y administración de servidores web. http://localhost:51236/temp_print_dirs/eXeTempPrintDir_Wm1vWv/S...

9.1.- Establecimiento de autenticación


básica.
Vamos a ver con un ejemplo como se establece con webmin en el servidor Apache una
autenticación básica. Queremos establecer autenticación en el servidor virtual
www.motoclubpblancas.com sobre la carpeta privado perteneciente al sitio web. Se
supondrá que la carpeta raíz del sitio es /var/web/motoclub.

1. Para poder usar la autenticación básica hay que tener activado el módulo Apache
auth_basic.

Webmin (BSD)

2. Establece en webmin ⇒ Otros ⇒ Directorios Protegidos las carpetas en que se


establecerá la autenticación.
3. Pulsa el botón crear. En la siguiente ventana tienes información sobre la carpeta
protegida y puedes agregar usuarios que serán autenticados para acceder a ella.
Selecciona agregar un nuevo usuario, da su nombre, contraseña y créalo.

Webmin (BSD)

4. Puedes seguir añadiendo usuarios.


Ahora debes hacer las siguientes
comprobaciones:

En la carpeta protegida debe haber un


archivo .htpasswd que contenga los
nombres de usuarios y las contraseñas
encriptadas.
En la carpeta protegida debe haber un

98 de 117 14/10/22, 11:23


Instalación y administración de servidores web. http://localhost:51236/temp_print_dirs/eXeTempPrintDir_Wm1vWv/S...

archivo .htaccess donde se pueden Microsoft (Todos los derechos reservados)

establecer directivas que configuren el


acceso a la carpeta donde está este archivo, es decir, la carpeta que se ha
protegido.
Por último, comprueba que la autenticación está establecida colocando un archivo
index.html en la carpeta protegida y ejecutando un navegador en otro ordenador y
escribiendo la URL de la carpeta protegida (http://www.motoclubpblancas.com
/privado). Si se realiza con Internet Explorer se muestra una ventana de autenticación
como la de la derecha.

Para saber más


Si quieres conocer más detalles sobre la autenticación, sigue el enlace:

Autenticación

99 de 117 14/10/22, 11:23


Instalación y administración de servidores web. http://localhost:51236/temp_print_dirs/eXeTempPrintDir_Wm1vWv/S...

9.2.- Establecimiento de control de acceso.


Si la autenticación comprueba quienes son los usuarios que
solicitan el servicio, el control de acceso comprueba de
donde proceden los usuarios, es decir, desde que
ordenador solicitan el servicio. El control de acceso se
establece sobre directorios y/o sobre archivos.

Para establecer el control de acceso, se usan las directivas


Order, Allow y Deny. Estas directivas se incluyen dentro de una
directiva <Directory> … </Directory> para establecer control de
drewzhrodague (CC BY)
acceso a una carpeta y dentro de <File> …</File> para
establecer control de acceso a un directorio. Estas
directivas pueden incluirse en los archivos de configuración de servidores virtuales y en los
archivos de configuración .htaccess (archivos por-directorio) que puede haber en cada
carpeta de un sitio web.

Allow: permite el acceso a los clientes que tengan las direcciones IP o los nombres de
dominio indicados.
Deny: deniega el acceso a los clientes que tengan las direcciones IP o los nombres de
dominio indicados.
Order: indica el orden en el que se deben ejecutar las directivas Allow y Deny.

En la tabla siguiente se describen algunos ejemplos de uso de estas directivas.

Directivas de control de acceso

Directiva Descripción

Allow from all Se permite el acceso a cualquier cliente.

Se permite el acceso a clientes con direcciones IP que


Allow from 192.168.3
comiencen por 192.168.3 y al que tenga la dirección IP
86.70.89.1
86.70.89.1.

Deny from all Se deniega el acceso a cualquier cliente.

Deny from com Se deniega el acceso a clientes de dominios .com y del dominio
hackers.net hackers.net.

Si queremos establecer que a la carpeta /var/www/privado sólo puedan acceder los


clientes del dominio aulaubutu.com, dentro del archivo de configuración del servidor virtual
tendremos que tener las directivas:

1 <Directory "/var/www/privado">

100 de 117 14/10/22, 11:23


Instalación y administración de servidores web. http://localhost:51236/temp_print_dirs/eXeTempPrintDir_Wm1vWv/S...

Order deny, allow


Deny from all
Allow from aulaubuntu.com
</Directory>

Si en este caso no usáramos la directiva Deny y solo usáramos la directiva Allow, se


permitiría el acceso a los clientes de aulaubuntu.com pero también a todos los clientes ya
que no habría nada que lo denegara. Si en vez de "order deny, allow" se usara "order
allow, deny" se ejecutaría deny al final con lo cual se denegaría el acceso a todos los
clientes.

Si hemos observado que un cliente con la dirección IP 81.81.81.81 accede al sitio web cuya
carpeta raíz es /var/www no cumpliendo unas normas de comportamiento, podremos
denegarle el acceso al sitio web. Para ello, debemos escribir dentro de la directiva Directory
para la carpeta raíz en el archivo de configuración del servidor virtual las siguientes
directivas:

1 Order allow,deny
2 Allow from all
3 Deny from 81.81.81.81

Autoevaluación
Si para la configuración de control de acceso a una carpeta se tienen las
directivas:

Order Deny, Allow Allow from All Deny from ejemplo.com


Se establece que:
Se deniega el acceso a todos los clientes.
Se permite el acceso a todos los clientes.
Se permite sólo el acceso a los clientes del dominio ejemplo.com.
Se permite el acceso a todos los clientes excepto los a los del dominio
ejemplo.com.

No, la directiva Deny no indica eso.

Muy bien, ya que se ejecuta al final Allow from All.

101 de 117 14/10/22, 11:23


Instalación y administración de servidores web. http://localhost:51236/temp_print_dirs/eXeTempPrintDir_Wm1vWv/S...

No es correcta, creo que no has entendido bien las directivas de control


de acceso.

Respuesta incorrecta, debes fijarte bien en la directiva order.

Solución

1. Incorrecto
2. Opción correcta
3. Incorrecto
4. Incorrecto

102 de 117 14/10/22, 11:23


Instalación y administración de servidores web. http://localhost:51236/temp_print_dirs/eXeTempPrintDir_Wm1vWv/S...

10.- El protocolo HTTPS.

Caso práctico
Jana ha observado que en varios sitios web,
especialmente en aquellos dedicados al
comercio electrónico y aquellos que gestionan
información confidencial se utiliza el protocolo
HTTPS (así se muestra en las URL) y no el
protocolo HTTP. Ha leído información sobre
HTTPS y parece que utiliza conceptos un poco
complejos.
Yourdon (CC BY-SA)

También ha observado que cuando se accede


por primera vez a un sitio que utiliza el protocolo HTTPS el navegador nos
pregunta si queremos instalar un certificado para poder acceder al sitio.

Aunque para los contenidos del sitio web no va a ser necesario usar el
protocolo HTTPS, va a intentar instalar un servidor virtual para HTTPS en su
máquina virtual Ubuntu.

Habitualmente estableces con el navegador


conexiones usando el protocolo HTTPS. Por
ejemplo, webmin es una aplicación web que usa
HTTPS. Cuando estableces por primera vez desde
un navegador web una conexión con webmin, el
navegador te indica que no está verificada la
conexión y te pedirá que obtengas un certficado.
Éste será usado en las posteriores conexiones para
garantizar la identidad del servidor.
Mozilla (MPL)
El protocolo HTTPS (HTTP Secure) utiliza el
protocolo HTTP combinado con el protocolo SSL, (Secure Sockets Layer, Protocolo de
Capa de Conexión Seguro), o con el protocolo TSL (Transport Layer Security, Seguridad
en la Capa de Transporte), para transmitir los mensajes HTTP cifrados y para garantizar la
identidad del servidor ante los clientes.

Un servidor HTTPS usa por defecto el puerto 443 como puerto de escucha. Un cliente web,
para conectarse con un servidor HTTPS tiene que escribir en la URL el protocolo https:// en
lugar de http://.

En una conexión https, al usar los protocolos SSL o TSL, se garantiza:

103 de 117 14/10/22, 11:23


Instalación y administración de servidores web. http://localhost:51236/temp_print_dirs/eXeTempPrintDir_Wm1vWv/S...

a. La confidencialidad: los mensajes transmitidos están cifrados.


b. La integridad: si un mensaje se modifica accidentalmente o intencionadamente, el
receptor detecta que se ha producido esa modificación.
c. La autenticación: se puede asegurar la identidad del servidor y/o del cliente mediante
el uso de certificados digitales.

Para que se pueda tener en nuestro servidor Apache un servidor HTTPS que usa
SSL, hay que tener activado el módulo ssl.

Para poder crear servidores virtuales https, se deben incluir en el archivo /etc/apache2
/ports.conf las directivas:

1 <IfModule mod_ssl.c>
2 NameVirtualHost *:443
3 Listen 443
4 </IfModule>

Por el momento, no intentes instalar el servidor HTTPS ya que habrá que instalar los
certificados para que pueda iniciarse correctamente el servidor.

104 de 117 14/10/22, 11:23


Instalación y administración de servidores web. http://localhost:51236/temp_print_dirs/eXeTempPrintDir_Wm1vWv/S...

11.- Certificados.

Caso práctico
Jana ha estado intentando crear mediante
webmin un servidor virtual para conexiones
seguras mediante HTTPS usando el puerto
443 como puerto de escucha.

Ha dado el nombre del servidor virtual, la


carpeta raíz del sitio y el puerto de escucha
como había hecho anteriormente con otros
servidores virtuales. Pero al intentar crear el
diegonavarro.org (CC BY-NC-SA)
servidor, no lo ha podido realizar pues le ha
aparecido un mensaje de error "Error al
salvar opciones SSL: when SSL is enabled, a certifícate file must be
selected". Por lo visto, tiene que obtener un certificado digital que será usado
en todas las conexiones HTTPS del sitio e instalarlo. Ha averiguado que puede
obtener el certificado de una entidad autoridad de certificación o generarlo con
una aplicación.

Un servidor web HTTPS debe disponer de un certificado para poder establecer conexiones
seguras con los clientes.

Un certificado digital o electrónico es un documento digital emitido por una


entidad Autoridad de Certificación (AC) que sirve para garantizar la identidad de
un usuario en una conexión.

Para establecer conexiones seguras HTTPS, el servidor web tiene que tener instalado un
certificado que habrá obtenido de una Autoridad de Certificación. Al disponer de un
certificado, el servidor envía los mensajes firmados con una clave privada. La primera vez
que un cliente se conecta con un servidor HTTPS recibe una clave pública, que le servirá
para descifrar los mensajes enviados por el servidor y verificar su identidad. El cliente cifrará
los mensajes con la clave pública, y el servidor los descifrará con la clave privada.

Cuando un navegador web se conecta por primera vez con un sitio HTTPS, recibe la clave
pública desde el servidor, nos da información sobre el certificado correspondiente y nos pide
confirmación sobre si consideramos válido el certificado y, por tanto, deseamos usar la clave

105 de 117 14/10/22, 11:23


Instalación y administración de servidores web. http://localhost:51236/temp_print_dirs/eXeTempPrintDir_Wm1vWv/S...

pública para conectarnos con el servidor. Las siguientes conexiones del cliente con el
servidor verificarán de forma automática la identidad del servidor y no nos pedirán
autorización.

Los navegadores web normalmente disponen de una lista de Autoridades de Certificación,


que les permite establecer conexiones automáticamente (sin tener que confirmar) con
servidores HTTPS, que disponen de un certificado emitido por alguna de esas Autoridades
de Certificación.

Autoevaluación
Rellena los huecos con los conceptos adecuados.
Un es un documento digital emitido por una entidad
de , que sirve para garantizar la de un
usuario en una conexión. La primera vez que un cliente se conecta con un
servidor HTTPS, recibe una clave que le servirá para los
mensajes enviados por el servidor, y verificar su identidad.
Enviar

106 de 117 14/10/22, 11:23


Instalación y administración de servidores web. http://localhost:51236/temp_print_dirs/eXeTempPrintDir_Wm1vWv/S...

11.1.- Autoridades de Certificación.

Una Autoridad de Certificación es una entidad considerada de confianza que se


encarga de emitir certificados para usuarios que sirvan para garantizar la
identidad de éstos ante otros usuarios.

Para que un servidor web pueda trabajar con HTTPS, debe


obtener un certificado de una Autoridad de Certificación.
De esta forma, los clientes web podrán confiar en la
identidad del servidor web al estar certificado por una
entidad considerada de confianza.
FNMT (Todos los derechos reservados)

Como veremos después, es posible generar un certificado


autofirmado en un ordenador con un determinado software, sin que lo haya emitido una
Autoridad de Certificación. Pero los usuarios difícilmente confiarían en sitios con certificados
autofirrnados. Nosotros usaremos esta técnica para realizar pruebas con certificados.
Normalmente, hay que pagar para obtener un certificado de una AC además de tener que
cumplir unos requisitos.

Hay varias Autoridades de Certificación a las que podemos solicitar un certificado, entre
ellas:

VeriSign.
GlobalSign.
CyberTrust.
RSA Security.

La Fábrica Nacional de Moneda y Timbre se encarga de emitir certificados para que los
ciudadanos se identifiquen ante las Administraciones Públicas, Empresas Públicas,
Universidades, etc.

Para saber más


En el siguiente enlace puedes solicitar el certificado digital:

FNMT. Ceres

Si quieres comprender lo fundamental sobre certificados y firmas digitales,


visualiza el vídeo:

Certificados y firmas digitales

107 de 117 14/10/22, 11:23


Instalación y administración de servidores web. http://localhost:51236/temp_print_dirs/eXeTempPrintDir_Wm1vWv/S...

¿Qué es el Certi-cado Digi…

Resumen textual alternativo

108 de 117 14/10/22, 11:23


Instalación y administración de servidores web. http://localhost:51236/temp_print_dirs/eXeTempPrintDir_Wm1vWv/S...

11.2.- Obtención de un certificado.


Para obtener un certificado de una AC, hay que crear una clave privada y un archivo de
"petición de firma del certificado". Después accedemos a la web de una AC y solicitamos el
certificado para lo cual tendremos que enviar el archivo de petición y la clave privada. La AC
nos enviará un archivo que será el certificado digital y que podremos instalar para el servidor
web, o para otros servidores como los de correo electrónico.

En este apartado vamos a ver como generamos un certificado autofirmado en nuestro propio
equipo con un sistema Debian/Ubuntu. Este certificado nos va servir para utilizarlo en el
servidor HTTPS, aunque tendrá el problema de que no será reconocido por un navegador
como emitido por una AC. Antes de iniciar el proceso debemos instalar el paquete openssl.
Los pasos para generar el certificado son:

1. Situarnos en la carpeta donde queremos crear los archivos necesarios para el


certificado.
2. Generar una clave privada de 4096 bytes que se almacene en un archivo de claves
llamado server.key. Cuando se pida, introducir una frase de paso. Ejecutar el
comando:

# openssl genrsa -des3 -out server.key 4096

3. Crear una petición de firma del certificado en el archivo server.csr. Tendremos que
introducir la frase de paso editada en el paso anterior y varios datos de identificación
del usuario. Ejecutar el comando:

# openssl req -new -key server.key -out server.csr

Ubuntu (GNU/GPL)

4. Obtener el certificado autofirmado en el archivo server.cst a partir de la petición de


firma del certificado y de la clave privada y para que tenga una validez de 365 días.
Ejecutar el comando:

109 de 117 14/10/22, 11:23


Instalación y administración de servidores web. http://localhost:51236/temp_print_dirs/eXeTempPrintDir_Wm1vWv/S...

# openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

Debes por ultimo comprobar que tienes los archivos server.key, server.csr y server.crt en la
carpeta en la que has realizado el proceso. El certificado es el archivo server.crt y la clave
privada es el archivo server.key.

Autoevaluación
Cuando se ejecuta en Ubuntu el comando para obtener un certificado
autofirmado, ¿Qué archivos se deben indicar dentro del comando?
El archivo del certificado y el de petición de firma del certificado.
El archivo de clave y el de petición de firma del certificado.
El archivo de certificado y el de clave.
El archivo de certificado, el de petición de firma del certificado y el de
clave.

No, si has realizado el proceso deberías haber contestado correctamente.

No es correcto, el nombre del archivo de certificado hay que darle, ya que


es lo que se trata de obtener.

Incorrecta, debes volver a leer los pasos para generar un certificado.

Correcto, hay que indicar los nombre de los tres archivos.

110 de 117 14/10/22, 11:23


Instalación y administración de servidores web. http://localhost:51236/temp_print_dirs/eXeTempPrintDir_Wm1vWv/S...

Solución

1. Incorrecto
2. Incorrecto
3. Incorrecto
4. Opción correcta

111 de 117 14/10/22, 11:23


Instalación y administración de servidores web. http://localhost:51236/temp_print_dirs/eXeTempPrintDir_Wm1vWv/S...

11.3.- Instalación del certificado para


Apache Server.
Si tenemos un certificado, ya sea autofirmado o emitido por una AC, podemos instalarlo para
el servidor Apache para que lo utilice en el servidor HTTPS. En primer lugar debemos
asegurarnos de que esté activo el módulo ssl de Apache. Para realizar la instalación habrá
que hacer lo siguiente en un sistema Debian/Ubuntu:

a. Crear las carpetas:

/etc/apache2/ssl
/etc/apache2/ssl/certificado
/etc/apache2/ssl/certificado/clave

Podrían usarse otras carpetas pero esta estructura deja claro para que es cada una.
b. Copiar el archivo de claves en /etc/apache2/ssl/certificado/clave y el archivo de
certificado en /etc/apache2/ssl/certificado. Si tienes los archivos generados en el
apartado anterior, son los archivos server.key y server.crt.
c. Si no lo tienes creado, crea un servidor virtual para https que escuche en el puerto 443.
Deberás dar el nombre del servidor (www.aulaubuntu.com) y la carpeta raíz que aloja
el sitio, por ejemplo /var/web-ssl.

Webmin (BSD)

d. Accede con webmin a las opciones SSL para el servidor virtual recién creado y
especifica la ruta de los archivos de certificado y de clave privada. Salva los cambios.

Webmin (BSD)

112 de 117 14/10/22, 11:23


Instalación y administración de servidores web. http://localhost:51236/temp_print_dirs/eXeTempPrintDir_Wm1vWv/S...

e. Si ahora intentas reiniciar con webmin el servidor Apache te dará un error relacionado
con la frase de paso. Deberás detener y después arrancar el servidor con comandos
para que al arrancar te pida la frase de paso y pueda iniciarse correctamente.
f. Ya puedes guardar en la carpeta raíz del sitio seguro (supongamos que es
www.aulaubuntu.com) algún documento html y probar el acceso al sitio con un
navegador escribiendo en la URL:
https://www.aulaubuntu.com/index.html

El navegador te avisará que el certificado del sitio web no es fiable (no ha sido emitido por
una AC reconocida por el navegador y solicita que autorices la obtención del certificado para
conectar con el servidor.

113 de 117 14/10/22, 11:23


Instalación y administración de servidores web. http://localhost:51236/temp_print_dirs/eXeTempPrintDir_Wm1vWv/S...

12.- Registro y monitorización.

Caso práctico
Jana ha tenido varios errores al realizar distintas
configuraciones para Apache que provocaron en varios
casos que el servidor no arrancara. Cuando realizó
alguna consulta en los foros de Internet sobre los
errores producidos, le pidieron que consultara el
archivo de registro de errores.

Jana no sabía que archivo era ese, pero desde que lo


descubrió le ha sido muy útil para solucionar y detectar
errores.

Alain Bachellier (CC BY-NC-SA)

El administrador de un servidor web debe conocer donde registra un servidor los errores que
se produzcan, y donde monitoriza la actividad en el servidor y los accesos de los clientes.
Esta información se almacena en archivos (aunque normalmente se los llama Registros).
Además un administrador debe ser capaz de analizar el contenido de esos archivos y sacar
conclusiones que le permitan mejorar las prestaciones del servidor.

En el servidor web Apache se tienen principalmente los


siguientes archivos de registro:

a. Registro de errores: por defecto, en


Debian/Ubuntu, es el archivo /var/log/apache2
/error.log. De cada error o fallo registrado, se
indica la fecha y hora, la gravedad del error, la
dirección IP del cliente que provocó el error (si es
el caso), el mensaje de error y el nombre del
recurso solicitado por el cliente (si es el caso). En Ubuntu (GNU/GPL)
este archivo hay varios avisos que no indican
errores graves pero que alertan de anomalías que
deberían solucionarse.

b. Registro de accesos: por defecto, en Debian/Ubuntu, es el archivo /var/log/apache2


/access.log. Monitoriza o registra información sobre todas las peticiones de clientes
procesadas por el servidor. De cada petición registra la IP del cliente, la fecha y hora de
la petición y el mensaje de petición del recurso. Para cada servidor virtual hay un
registro de acceso. Estos registros de acceso tienen nombres other_vhosts_access

114 de 117 14/10/22, 11:23


Instalación y administración de servidores web. http://localhost:51236/temp_print_dirs/eXeTempPrintDir_Wm1vWv/S...

Para saber más


Puedes obtener una información detallada sobre el registro de errores en:

Registro de errores.

Autoevaluación
Por defecto, el registro de errores de Apache en Debian/Ubuntu se
encuentra en:
/etc/apache2/error-logs.
/var/log/apache2.
/var/www/apache2.
/etc/error/apache.

No, es posible que esta carpeta ni siquiera exista.

Muy bien, ya que dentro de /var/log se tienen carpetas de registro para


cada aplicación.

Incorrecto, compruébalo leyendo otra vez la información sobre el registro


de errores.

No es correcta, esta vez no has respondido correctamente y deberías leer


de nuevo el apartado.

Solución

115 de 117 14/10/22, 11:23


Instalación y administración de servidores web. http://localhost:51236/temp_print_dirs/eXeTempPrintDir_Wm1vWv/S...

1. Incorrecto
2. Opción correcta
3. Incorrecto
4. Incorrecto

116 de 117 14/10/22, 11:23


Instalación y administración de servidores web. http://localhost:51236/temp_print_dirs/eXeTempPrintDir_Wm1vWv/S...

117 de 117 14/10/22, 11:23

También podría gustarte