0% encontró este documento útil (0 votos)
138 vistas19 páginas

JGGPractica5 2

1) El documento habla sobre la configuración de un servidor HTTP Apache en Ubuntu. 2) Explica la estructura de directorios y archivos de configuración de Apache como apache2.conf, ports.conf, sites-available, sites-enabled y otros. 3) Detalla cómo se configura el servidor virtual por defecto para escuchar en todas las IPs en el puerto 80 y usar /var/www/html como directorio raíz.

Cargado por

guillermo155
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
138 vistas19 páginas

JGGPractica5 2

1) El documento habla sobre la configuración de un servidor HTTP Apache en Ubuntu. 2) Explica la estructura de directorios y archivos de configuración de Apache como apache2.conf, ports.conf, sites-available, sites-enabled y otros. 3) Detalla cómo se configura el servidor virtual por defecto para escuchar en todas las IPs en el puerto 80 y usar /var/www/html como directorio raíz.

Cargado por

guillermo155
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Servidor HTTP

En Ubuntus con Apache

Javier García Gómez

2º Asir B
Índice
Ejercicio 1: ..................................................................................................................................... 3
Ejercicio 2: ..................................................................................................................................... 5
[Link]............................................................................................................................. 6
[Link] .................................................................................................................................. 6
Passwd ....................................................................................................................................... 6
envvars ...................................................................................................................................... 6
Magic ......................................................................................................................................... 6
mods-available .......................................................................................................................... 6
mods-enabled ........................................................................................................................... 6
sites-available ............................................................................................................................ 6
sites-enabled ............................................................................................................................. 6
conf-available ............................................................................................................................ 7
conf-enabled ............................................................................................................................. 7
Ejercicio 3 .................................................................................................................................... 10
log de accesos ......................................................................................................................... 18
log de error .............................................................................................................................. 18
Ejercicio 4. Páginas Personales.................................................................................................... 18
Ejercicio 1:

1.1 Instalación de Apache

Para llevar a cabo esta parte necesitamos conectividad por lo que ponemos nuestra máquina
virtual en configuración adaptador puente y con los dns apuntando al servidor externo de
andared. Esta máquina tendrá alojada un servidor http y un servidor dns. Sin embargo, Como
toda las pruebas las hacemos a través de un cliente windows xp y ubuntus, durante toda la
práctica podemos dejar esta configuración ya que el servidor tiene una ip fija: [Link]. El
único problema sería al acceder al servidor http ya que el servidor dns externo de andared no
nos llevaría a nuestros sitio web. Esto no es problemático porque el acceso al servidor http lo
hacemos con los clientes que si tendrán configurado como servidor dns, nuestro servidor y no
el de andared.

Para llevar a cabo la instalación, nos logueamos como root y lanzamos el comando:

sudo apt-get update

sudo apt-get install apache2

El primero actualiza los paquetes disponibles ya que por defecto ubuntus no trae el paquete
apache2. El segundo nos instala nuestro servidor apache2 con lo básico.

1.2 Comprobarlo abriendo un navegador y escribiendo [Link] en la barra de


direcciones del navegador de nuestro servidor.

Ilustración 1 Ventana de inicio del servidor apache

1.3 Comprueba la versión utilizada

Lanzamos el comando apachectl con la opción -v (Ilustración 2)

Ilustración 2 Versión de apache instalada

Índice Página 3
1.4 Comprueba que se han creado el usuario www-data y el grupo-data

Para la comprobación vamos a irnos al fichero passwd y al fichero group. Ambos alojados en
/etc. Podemos observar su existencia en la Ilustración 3.

Ilustración 3 Usuario www-data y grupo www-data

1.5 comprueba que se ha creado el directorio /var/www y quien es su propietario y grupo

Ejecutamos ls -l /var y podemos ver que existe la carpeta y que el propietario y el grupo son
root (Ilustración 4).

Ilustración 4 Existencia de la carpeta www

1.6 Personaliza la página que viene por defecto.

Para ello debemos modificar el fichero [Link] que se encuentra en


/var/www/html/[Link].

En la Ilustración 5 podemos ver la modificación y en la Ilustración 6 su resultado.

Índice Página 4
Ilustración 5 Modificación del fichero [Link]

1.7 Abre el navegador del servidor y accede a [Link]

Ilustración 6 Resultado de la modificación

Ejercicio 2:
2.1 Abre la carpeta apache2 e indica a continuación los ficheros y directorios que se
encuentran en ella y escribe para que sirven.

En la Ilustración 7 podemos ver que los fichero y directorios son:

Ficheros [Link], envvars, passwd, [Link] y magic.

Directorios conf-available, conf-enabled, mod-available, mod-enabled, sites available, sites-


enabled.

Ilustración 7 Contenido de la carpeta apache2

Índice Página 5
[Link]
Archivo principal de configuración.

Contiene un conjunto de directivas que determinan el comportamiento del servidor.

Las directivas que no se especifican en este fichero, utilizan su valor por defecto

En este fichero se incluyen otros ficheros de configuración (usando la directiva include).

[Link]
En él se definen las IPs y puertos en los que escucha el servidor.

Passwd
Creado posteriormente en la realización de la práctica. Contiene usuarios y credenciales de los
mismos para poder acceder a sitios privados. Podría haberse buscado otra ubicación para este
fichero pero decidí ponerlo en esta carpeta.

envvars
Contiene las variables de entorno de apache

Magic
instrucciones para determinar el tipo MIME en base a los primeros bytes de un archivo.

Echo en falta el fichero [Link] que era el antiguo fichero de configuración de apache.

Actualmente remplazado por [Link]

mods-available
Directorio que contiene los archivos de los diferentes módulos que puede utilizar apache.
Contiene ficheros .load y .conf

Los ficheros .load contienen todo lo necesario para cargar un módulo en concreto

Los ficheros .conf asociados contienen la configuración básica para inicializar el módulo.

mods-enabled
Directorio de configuración de los módulos activos de Apache. Contiene enlaces simbólicos a
los ficheros del directorio mods-available

sites-available
Este directorio tiene archivos de configuración para los Servidores Virtuales. Los servidores
virtuales permiten que Apache2 sea configurado para múltiples sitios que tengan
configuraciones separadas.

sites-enabled
Directorio de configuración, que contiene los hosts virtuales activos.

Índice Página 6
Contiene enlaces simbólicos al directorio /etc/apache2/sites-available. Similarmente cuando
un archivo de configuración en sites-available tiene un enlace simbólico, el sitio configurado
por él será activo una vez que se reinicie Apache2

conf-available
este directorio contiene los archivos de configuración disponibles. Todos los archivos que se
ubicaban anteriormente en /etc/apache2/conf.d deben moverse a /etc/apache2/conf-
available.

conf-enabled
contiene enlaces simbólicos a los ficheros alojados en /etc/apache2/conf-available. Cuando un
fichero tiene un enlace simbólico estará disponible la próxima vez que se reinicie apache.

2.2 Consulta el fichero [Link] y describe su contenido. ¿Están habilitados los


servidores virtuales por nombre en todas las direcciones IP y en el puerto 80 (NameVirtualHost
*80)? Si están habilitados, esto anula el servidor principal en todas las direcciones IP

Ilustración 8 Contenido del fichero [Link]

Vemos que por defecto sólo tenemos escucha por el puerto 80.

Viendo este fichero no podemos saber si están los servidores virtuales habilitados. Si lo
estuvieran, el servidor principal quedaría sin efecto.

2.3 Accede al directorio sites-available y describe el contenido ¿ Está el archivo default?


¿Que contiene este archivo?

Viendo la Ilustración 9 podemos afirmar que existe dicho archivo. En el fichero 000-
[Link] se encuentra la configuración del servidor virtual por defecto.

Índice Página 7
Ilustración 9 Contenido de la carpeta sites-available

2.4 Accede al directorio sites-enabled y comprueba que que existe e fichero 000- default
que es un enlace simbólico a un fichero ¿ a que fichero se refiere y donde está?

Podemos ver que existe el fichero [Link] que apuntará al fichero [Link]
del directorio sites-available.

2.5 Consulta el fichero 000-default y verifica que hay creado un servidor virtual. ¿ En
cuantas direcciones IP escucha? ¿ Cual es su directorio raíz?

Ilustración 10 Archivo [Link]

Vemos que existe un servidor virtual que acepta cualquier ip (ya que tiene *) y escucha por el
puerto 80.

Su directorio raíz es /var/www/htlm.

2.6 Consulta el fichero [Link] ¿Cuál es el valor de la directiva ServerRoot? ¿ Las


directivas User y Group a que usuario y grupo definen?

En la Ilustración 11 podemos ver que ServerRoot viene comentado.

Ilustración 11 ServerRoot

Índice Página 8
Ilustración 12 User y Group

2.7 ¿En que directorio se establecen las variables de entorno?

Las variables de entorno se encuentra dentro del fichero envvars que estaba situado en
/etc/apache2/envvars.

2.8 ¿Cuál es el máximo número de peticiones simultáneas que permite el servidor? ¿ Qué
directivas definen este comportamiento?

En la Ilustración 13 podemos ver que el número máximo es 100.

Ilustración 13 Número máximo de peticiones que permite el servidor.¡

2.9 ¿ Se permiten conexiones persistentes ( en todas las conexiones de un usuario se


atienden en la misma conexión TCP)? ¿ Qué directiva define este comportamiento?

En la Ilustración 14 vemos que por defecto la directiva permite las conexiones persistentes.

Ilustración 14 Conexiones persistentes

2.10 En Apache hay una directiva que especifica el tiempo máximo que puede tardar una
petición en ser atendida. ¿Cuál es esa directiva? Explica para qué puede ser útil.

En la Ilustración 15 podemos ver la directiva y el tiempo que tiene asignado por defecto, que
es de 5 segundos. Si no existiera dicho tiempo, las peticiones podrían acabar colapsando el
servidor. Si pasados estos cinco segundos, no se ha respondido a la petición, el cliente lo sabrá
y podrá actuar en consecuencia.

Ilustración 15 Tiempo máximo en responder

Índice Página 9
2.11 Mostrar los archivos que se utilizaran por Apache como archivos por defecto en la
visualización de un directorio (normalmente [Link]). Si no se encuentra [Link],
incluirlo.

En el archivo [Link] dentro de etc/apache2/[Link] buscamos:

DirectoryIndex [Link] [Link]

Aquí están los ficheros de visualización por defecto. He añadido el [Link].

Ejercicio 3

Debes configurar un servidor Apache, con las siguientes características:

• Servirá dos páginas web: winsurf y kitesurf

• winsuf estará alojada en /var/www/winsurf

• kitesurf estará alojada en /var/www/kitesurf

• El servidor mostrará winsurf cuando se acceda a la dirección [Link] a


través del navegador de cualquier cliente, solo al usuario pepe.

• El servidor mostrará kitesurf cuando se acceda a la dirección [Link] a


través del navegador de cualquier cliente

Para probar el funcionamiento necesitarías un servidor DNS

Como hemos realizado la configuración e instalación del servidor DNS cae fuera de los
objetivos de esta práctica. En la Ilustración 16,Ilustración 17 e Ilustración 18 podemos ver
como ha quedado dicha configuración.

Ilustración 16 Zona Directa e Inversa

Índice Página 10
Ilustración 17 Fichero de configuración de la zona directa

Ilustración 18 Fichero de configuración de la zona inversa

Para que apache reconozca bien el servidor dns interno. Debemos añadir al fichero
[Link] la línea

ServerName Localhost

Una vez creado el servidor DNS vamos a realizar la configuración del servidor http.

Lo primero será crear las carpetas:

mkdir /var/www/kitesurf

mkdir /var/www/windsurf

Luego creamos un fichero [Link] dentro de cada carpeta.

Índice Página 11
echo "A tope con winsurf" > /var/www/windsurf/[Link]

echo "A tope con kitesurf" > /var/www/windsurf/[Link]

Como el servidor windsurf será privado para el usuario pepe tendremos que instalar un
paquete apache2-utils que nos permitirá activar el módulo necesario.

Una vez instalado ya podremos directiva .httaccess

Este comando crea el archivo passwd en la carpeta /etc/apache2 e introduce dentro al usuario
pepe y la clave que introduzcamos por teclado.

Ahora vamos a crear nuestros servidor virtuales. Para ello creamos en sites-available dos
ficheros. [Link] y [Link]. A priori, debería funcionar acabado en .com.
Pero al tratar de crear el enlace simbólico a la carpeta sites-enabled daba problemas que se
resolvieron terminando los fichero en .conf.

Ilustración 19 Fichero del host virtual [Link]

En la podemos ver que el sitio [Link] esta escuchando por el puerto 8080. Ya que
en el siguiente apartado nos pedirán que lo modifiquemos para que su puerto de escucha sea
el 8080. Originalmente, después de la ip ponía :80.

Ilustración 20 Fichero de configuración del sitio [Link]

Índice Página 12
Una vez creado los ficheros debemos ejecutar

a2ensite [Link] y a2ensite [Link] para que se cree el enlace simbólico en


sites-enabled.

Las capturas entrando en los servidores desde los clientes se me han quedado en clase y ahora
mismo la configuración es distinta por lo que no puedo añadirlas.

3.1 Modificar el puerto en el que escucha el servidor Apache del sitio virtual winsurf para
que sea el 8080. Indica el fichero y línea que tienes que modificar y Pruébalo.

Además, de poner 8080 tras la ip, como comenté en el apartado anterior. Debemos decirle al
servidor que también escuche por el puerto 8080. Para ello nos vamos al fichero [Link] y
añadimos la línea Listen 8080.

Ilustración 21 Archivo [Link]

Comprobación:

Ilustración 22 Entrada al sitio [Link] a través dle puerto 8080

Índice Página 13
Ilustración 23 Una vez dentro del sitio [Link]

3.2 Modificar el directorio raíz para la visualización de las web kitesurf para que sea
/C/miweb

Para llevar a cabo esta tarea debemos seguir los siguientes pasos.

Crear el directorio /C con: mkdir /C.

Crear el directorio miweb con: mkdir /C/miweb.

Mover kitesurf de /var/www al /C/miweb con: mv /var/www/kitesurf /C/miweb

Modificar el fichero [Link].

Cambiamos la ruta del DocumentRott y le damos permisos.

3.3 Encuentra la directiva que se utiliza para la visualización de páginas de error.


Personaliza una pagina de error para que cuando desde un navegador de un cliente acceda a
[Link]/[Link] me devuelva un error.

Para llevar a cabo esta labor tenemos diferentes caminos.

Yendo al directorio conf-available, editamos el fichero [Link].

Ilustración 24 Contenido del directorio conf-available

Índice Página 14
Ilustración 25 fichero [Link]

Descomentamos la línea ErrorDocument que queramos y ya tendríamos personalizado nuestro


error.

Otra forma sería dentro de nuestro servidor añadir la línea

Diciendo que error queremos y la ruta relativa al fichero.

3.4 Crea un dirertorio virtual llamado datos en el sitio kitesurf cuyo contenido es un
fichero llamado [Link] que contiene "mis datos son..."

3.5 Crea un fichero [Link] cuyo contenido es "cometa"

Estos dos ejercicios los vamos a hacer juntos. Lo primero será crear la carpeta datos.

mkdir /C/miweb/kitesurf/datos

Posteriormente creamos los dos ficheros.

echo "mis datos son" > /C/miweb/kitesurf/datos/[Link]

echo "cometa" > /C/miweb/kitesurf/datos/[Link]

Ilustración 26 Ficheros [Link] y [Link]

Ahora nos vamos al sitio [Link]

Ilustración 27 Parte del fichero [Link]

Índice Página 15
De esta forma hemos creado el acceso a la carpeta datos. Al poner DirectoryIndex [Link].
Cuando escribamos [Link]/datos directamente se irá al contenido del fichero
[Link]

3.6 Abre el navegador desde un cliente y comprueba que se accede al directorio y al


fichero anteriores

Ilustración 28 Accediendo a la carpeta datos

Ilustración 29 Accediendo a la carpeta datos, al fichero kite

3.7 Renombra el fichero [Link] por el de [Link]. Abre el navegador desde un


cliente y accede al sitio kitesurf . ¿Qué ocurre?

La captura con el error esta en clase. Pero la cambiar el nombre del fichero, no dará un error
ya que por defecto tenemos puesto que el DirectoryIndex sea [Link].

DirectoryIndex [Link],[Link],[Link]

Si tenemos algo así. El navegador trata de ir a [Link] sino lo encuentra a [Link]


y así sucesivamente. Si no encuentra ninguna, mandará un error.

3.8 Ahora quiero que el fichero [Link] se utilice como fichero que se va abrir cuando
accedo a la pagina [Link] ¿Qué tengo que hacer?

Índice Página 16
Ilustración 30 Fichero [Link]

Tan solo hemos tenido que añadir DirectoryIndex datos/[Link] al comienzo para que tome
ese archivo como el fichero por defecto.

En la Ilustración 30 podemos ver como ha quedado nuestro fichero [Link] al final


de la práctica.

3.9 Consulta el log de errores

3.10 Consulta el log de accesos

Ambos log se encuentran en el mismo sitio /var/log/apache2

Índice Página 17
log de accesos

log de error

Ejercicio 4. Páginas Personales

4.1 En el servidor principal (servidor por defecto). Crea tu página personal. Para ello crea un
directorio /home/alumno/public_html. Accede con un navegador de un equipo cliente a
http:ip del servidor /~alumno y verifica que se sirve el recurso.

Tenemos dentro de ubuntus el usuario jgarcia.

Creamos el directorio: mkdir /home/jgarcia/public_html.

Creamos el fichero [Link] dentro del directorio: echo "Mi pagina personal" >
/home/jgarcia/public_html/[Link] (Ilustración 31).

Ilustración 31 Creación del directorio para hacer una página personal

Ejecutamos sudo a2enmod userdir para activar el modulo y reiniciamos el servidor apache.

Índice Página 18
En la Ilustración 32 podemos comprobar que ahora esta habilitado dicho módulo

Ilustración 32 Contenido de la carpeta mods-enabled

Dentro del fichero [Link] (Ilustración 33) podemos ver que el directorio donde podrán
alojar la página privadas los usuarios si esta habilitado el módulo userdir será public-html.
También podemos observar que no esta habilitado para el usuario root.

Ilustración 33 Contenido del fichero [Link]

Nos vamos al cliente y observamos que podemos acceder a la página

Índice Página 19

También podría gustarte