---
# System prepended metadata

title: SRC-UT3-A3. Host virtuales. Colaborativo
tags: [src, www, ut3, web, actividad, colaborativa]

---

# SRC-UT3-A3. Host virtuales. Colaborativo

## Práctica

Se realizará en el mismo equipo que la práctica anterior.

En la carpeta ```/etc/apache2/sites-enabled``` se definen mediante enlaces los hosts virtuales que tenemos activados en tu servidor. Accede a la misma y comprueba con el comando:
```bash
	$ ls -l
```

Qué  para el Host por defecto definido en ```/etc/apache2/sites-available/000-default.conf``` existe en un enlace a un archivo en dicha carpeta.

Los comandos ```a2ensite``` y ```a2dissite``` nos permiten, respectivamente habilitar y deshabilitar un HostVirtual.

Vamos a configurar nuestro servidor de forma que además de alojar la página por defecto vamos también a alojar páginas de otros dominios. Para ello vamos a seguir los siguientes pasos

### 1. Host Virtual www.arinaga.net
Crea en la carpeta  ```/etc/apache2/sites-available``` un archivo de nombre ```www.arinaga.net.conf```. Para no partir de un fichero en blanco vamos a copiar el Host Virtual por defecto y lo vamos a modificar
```bash
$ cd /etc/apache2/sites-available
$ sudo cp 000-default.conf www.arinaga.net.conf
```
Modifica el host virtual de forma que sus archivos se almacenan en ```/var/www/www.arinaga.net```, pagina por defecto ```arinaga.html``` se pueda acceder de forma alternativa utilizando el nombre ```arinaga.net``` y el correo del webmaster sea ```webmaster@arinaga.net``` .Inserta el contenido del fichero ```www.arinaga.net.conf```
:::info
Primero editamos el fichero de configuración del host virtual 
```bash
$ sudo nano /etc/apache2/sites-available/www.arinaga.net.conf
```
E insertamos la configuración
``` 
<VirtualHost *:80>
        ServerName www.arinaga.net
        ServerAlias arinaga.net

        ServerAdmin WebMaster@arinaga.net
        DocumentRoot /var/www/www.arinaga.net
        DirectoryIndex arinaga.html
        #ErrorDocument 404 /errors/404.html

        ErrorLog /var/log/apache2/error.log
        CustomLog /var/log/apache2/access.log combined

</VirtualHost>
```
Creamos la carpeta en la que se va a almacenar los archivos de la web
```bash
$ sudo mkdir /var/www/www.arinaga.net
```
Accedemos a la misma y creamos un archivo html de prueba
```bash=
$ sudo nano /var/www/www.arinaga.net/arinaga.html
-> Estoy en Arinaga
```
Habilitamos el host virtual y reiniciamos apache2
```bash=
$ sudo a2ensite www.arinaga.net.conf
$ sudo systemctl restart apache2
```
En Xubuntu editamos el fichero `/etc/hosts` y añadimos
```
172.30.109.243 www.marvel.com marvel.com www.arinaga.net arinaga.net
```
En el navegador accedemos a http://www.arinaga.net
![](https://i.imgur.com/OIV1qFv.png =500x)

:::


Habilita el host virtual que acabas de crear ejecutando:
```$ sudo a2ensite www.arinaga.net```
Comprueba que se ha habilitado el host virtual consultando el contenido de la carpeta ```/etc/apache2/sites-enabled```


Añade, en el equipo cliente que vamos a usar para hacer las pruebas, al fichero ```/etc/hosts``` la entrada necesaria para acceder por  nombre a la web que acabamos de crear:
```
127.0.0.1           localhost
127.0.1.1           a2-pcxy
172.16.196.x        www.marvel.com marvel.com www.arinaga.net arinaga.net
```
Comprueba desde el navegador su funcionamiento. Inserta captura en la que se muestra como accedes:



### 2. Host virtual www.teror.com
Da los pasos necesarios para configurar el host virtual ```www.teror.com```, con nombre alternativo teror.com, directorio de inicio ``/var/www/www.teror.com``, pagina por defecto teror.html y webmaster webmaster@teror.com.
Pasos
:::info
Primero copiamos y editamos el fichero de configuración del host virtual

```
$ sudo cp /etc/apache2/sites-available/www.arinaga.net.conf /etc/apache2/sites-available/www.teror.com.conf

$ sudo nano /etc/apache2/sites-available/www.teror.net.conf
```
E insertamos la configuración
```
<VirtualHost *:80>
        ServerName www.teror.com
        ServerAlias teror.com

        ServerAdmin WebMaster@teror.com
        DocumentRoot /var/www/www.teror.com
        DirectoryIndex teror.html
        #ErrorDocument 404 /errors/404.html

        ErrorLog /var/log/apache2/error.log
        CustomLog /var/log/apache2/access.log combined

</VirtualHost> 
```

Creamos la carpeta en la que se va a almacenar los archivos de la web

```
$ sudo mkdir /var/www/www.teror.com
```

Accedemos a la misma y creamos un archivo html de prueba

```
$ sudo nano /var/www/www.teror.com/teror.html

-> Estoy en Teror
```
Habilitamos el host virtual y reiniciamos apache2
```
$ sudo a2ensite www.teror.com.conf
$ sudo systemctl restart apache2
```
En Xubuntu editamos el fichero /etc/hosts y añadimos
```
172.30.109.243 www.arinaga.net arinaga.net www.teror.com teror.com
```
:::

Comprobaciones
:::success

:::

### 3. Puertos distintos
Configurar el servidor para que los dos sitios anteriores escuchen cada uno en un puerto distinto (80 www.arinaga.net y 8000 www.teror.com)
Pasos
:::info

:::

Comprobaciones
:::success

:::

### 4. Registros de accesos 
Comprobar, mediante ```tail -f```,  los accesos en tiempo real al servidor.
:::info

:::


### 5. Registro de errores 
Comprobar el fichero donde se lleva el registro de los errores producidos en el servidor.
:::info

:::

### 6. Host virtual agaete.org 
Configura un host virtual para el dominio agaete.org con las siguientes características:
    • Directorio de inicio: ```/var/www/agaete.org```
    • Alias: www.agaete.org, agaete.net y www.agaete.net
    • Correo del webmaster: webmaster@agaete.org 
    • Paginas por defecto a cargar: ```indice.html, index.html e index.php```
    • Si no existe la página predeterminada en una carpeta **restringir que se muestre el contenido** de la misma
    • Acceso al mismo con el puerto ```80``` y con el ```8080```
    • Personaliza la **página de error** y la **página de acceso restringido**.
    
Inserta los pasos: 
:::info

:::
### 7. Verificar el correo de webmaster. 
Para ello debemos forzar  que se produzca un error 500 en el servidor. Una forma de hacerlo es siguiendo estos pasos:
* Habilitar que el host virtual permita sobreescribir la configuración mediante un fichero ```.htaccess```. Para ello editamos el fichero de configuración del host virtual  y en Directory insertamos
```bash
...
<Directory /var/www/agaete.org>
…
AllowOverride All
</Directory>
…
```
* Creamos el fichero ```.htaccess``` e insertamos contenido incorrecto sintácticamente
```bash
$ sudo nano /var/www/agaete.org/.htaccess
```
* Insertamos
```
texto incorrecto
```
Al acceder al host virtual desde el navegador (```http://agaete.org```) se nos debería mostrar el mensaje de error de tipo ```500, Internal Error``` y, se debería mostrar en el mismo el correo del webmaster que hemos configurado. Inserta captura destacando el correo del administrador.
:::info

:::


###### tags: `src` `ut3` `www` `web` `actividad` `colaborativa`