Tarea 1: Crea un escenario Vagrant con una máquina con una red pública o utiliza una máquina del cloud. Instala el servidor web Apache2 en la máquina. Modifica la página index.html que viene por defecto y accede a ella desde un navegador.
Instalamos apache2 en el equipo que acabamos de crear mediante vagrant.
1
vagrant@apache2:~$ sudo apt-get install apache2
Configuramos elsiguiente fichero /var/www/index.html
Tarea 2: Configura la resolución estática en los clientes.
Primero vamos a desactivar la web por defecto con:
1
root@apache2:/etc/apache2/sites-available# a2dissite 000-default.conf
Y copiamos la web por defecto a los nuevos sitios web
1
2
root@apache2:/etc/apache2/sites-available# cp 000-default.conf iesgn.conf
root@apache2:/etc/apache2/sites-available# cp 000-default.conf departamentos.conf
Su directorio base será /srv/www/
y contendrá una página llamada index.html
1
2
root@apache2:/srv/www# mkdir iesgn
root@apache2:/srv/www# mkdir departamentos
Editamos el fichero que hemos creado previamente
1
root@apache2:/etc/apache2/sites-available# nano iesgn.conf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<VirtualHost *:80>
# The ServerName directive sets the request scheme, hostname and port that
# the server uses to identify itself. This is used when creating
# redirection URLs. In the context of virtual hosts, the ServerName
# specifies what hostname must appear in the request's Host: header to
# match this virtual host. For the default virtual host (this file) this
# value is not decisive as it is used as a last resort host regardless.
# However, you must set it for any further virtual host explicitly.
ServerName www.iesgn.org
ServerAdmin webmaster@localhost
DocumentRoot /srv/www/iesgn
# Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
# error, crit, alert, emerg.
# It is also possible to configure the loglevel for particular
# modules, e.g.
#LogLevel info ssl:warn
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
# For most configuration files from conf-available/, which are
# enabled or disabled at a global level, it is possible to
# include a line for only one particular virtual host. For example the
# following line enables the CGI configuration for this host only
# after it has been globally disabled with "a2disconf".
#Include conf-available/serve-cgi-bin.conf
</VirtualHost>
# vim: syntax=apache ts=4 sw=4 sts=4 sr noet
Cambiamos el segundo sitio web departamentos.conf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
root@apache2:/etc/apache2/sites-available# nano departamentos.conf
<VirtualHost *:80>
# The ServerName directive sets the request scheme, hostname and port that
# the server uses to identify itself. This is used when creating
# redirection URLs. In the context of virtual hosts, the ServerName
# specifies what hostname must appear in the request's Host: header to
# match this virtual host. For the default virtual host (this file) this
# value is not decisive as it is used as a last resort host regardless.
# However, you must set it for any further virtual host explicitly.
ServerName www.departamentosgn.org
ServerAdmin webmaster@localhost
DocumentRoot /srv/www/departamentos
# Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
# error, crit, alert, emerg.
# It is also possible to configure the loglevel for particular
# modules, e.g.
#LogLevel info ssl:warn
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
# For most configuration files from conf-available/, which are
# enabled or disabled at a global level, it is possible to
# include a line for only one particular virtual host. For example the
# following line enables the CGI configuration for this host only
# after it has been globally disabled with "a2disconf".
#Include conf-available/serve-cgi-bin.conf
</VirtualHost>
# vim: syntax=apache ts=4 sw=4 sts=4 sr noet
Ahora vamos a activar los sitios web:
1
2
3
4
5
root@apache2:/etc/apache2/sites-available# a2ensite iesgn.conf
Site iesgn already enabled
root@apache2:/etc/apache2/sites-available# a2ensite departamentos.conf
Site departamentos already enabled
Le damos permisos:
1
root@apache2:/srv/www# chown -R www-data:www-data .
Reiniciamos los servicios de apache2:
1
root@apache2:/srv/www# systemctl restart apache2
Cambiamos la configuración de apache.
1
vagrant@apache2:~$ sudo nano /etc/apache2/apache2.conf
Descomentamos la siguiente linea
1
2
3
4
5
#<Directory /srv/>
# Options Indexes FollowSymLinks
# AllowOverride None
# Require all granted
#</Directory>
Tarea 3: Cuando se entre a la dirección www.iesgn.org se redireccionará automáticamente a www.iesgn.org/principal, donde se mostrará el mensaje de bienvenida. En el directorio principal no se permite ver la lista de los ficheros, no se permite que se siga los enlaces simbólicos y no se permite negociación de contenido.
Creamos el directorio principal dento de /srv/www/iesgn
1
2
3
4
5
vagrant@apache2:/srv/www/iesgn$ sudo mkdir principal
vagrant@apache2:/srv/www/iesgn$ ls
index.html principal
vagrant@apache2:/srv/www/iesgn$ sudo mv index.html principal/
Por último editamos el archivo de configuración de apache2 para que no se permita ver la lista de los ficheros, no se permita que se siga los enlaces simbólicos y no se permita la negociación de contenido.
1
2
3
4
5
6
7
8
9
10
11
12
vagrant@apache2:/etc/apache2/sites-available$ sudo nano iesgn.conf
ServerName www.iesgn.org
ServerAdmin webmaster@localhost
DocumentRoot /srv/www/iesgn
RedirectMatch permanent ^/$ "/principal/"
<Directory srv/www/iesgn/principal>
Options -Indexes -MultiViews -FollowSymLinks
AllowOverride None
Order allow,deny
allow from all
</Directory>
Tarea 4: Si accedes a la página www.iesgn.org/principal/documentos se visualizarán los documentos que hay en /srv/doc. Por lo tanto se permitirá el listado de fichero y el seguimiento de enlaces simbólicos siempre que el propietario del enlace y del fichero al que apunta sean el mismo usuario.
Lo primero que tenemos que hacer es crear un archivo en /srv/doc:
1
2
3
4
vagrant@apache2:/srv$ sudo mkdir doc
vagrant@apache2:/srv$ sudo chown -R www-data:www-data /srv/doc/
vagrant@apache2:/srv/doc$ ls
archivo
Creamos un directorio documentos:
1
vagrant@apache2:/srv/www/iesgn/principal$ sudo mkdir Documentos
Añadimos en la configuración de apache2 las opciones para permitir el listado de fichero y el seguimiento de enlaces simbólicos siempre que sean a ficheros o directorios cuyo dueño sea el usuario.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
ServerName www.iesgn.org
ServerAdmin webmaster@localhost
DocumentRoot /srv/www/iesgn
RedirectMatch permanent ^/$ "/principal/"
<Directory srv/www/iesgn/principal>
Options -Indexes -MultiViews -FollowSymLinks
AllowOverride None
Order allow,deny
allow from all
</Directory>
Alias /principal/documentos/ /srv/doc/
<Directory /srv/doc/>
Options +Indexes +SymLinksIfOwnerMatch
</Directory>
Creamos dos directorios en el /home de vagrant
1
2
3
vagrant@apache2:~$ mkdir pruebaenlace1 pruebaenlace2
vagrant@apache2:~$ ls
pruebaenlace1 pruebaenlace2
Creamos los enlaces simbólicos.
1
2
root@apache2:/home/vagrant# ln -svf /home/vagrant/pruebaenlace1 /srv/doc
root@apache2:/home/vagrant# ln -svf /home/vagrant/pruebaenlace2 /srv/doc
Le damos permisos:
1
root@apache2:/home/vagrant# chown -h www-data:www-data pruebaenlace1
1
2
3
4
root@apache2:/home/vagrant# ls -la
drwxr-xr-x 2 www-data www-data 4096 Oct 23 07:28 pruebaenlace1
drwxr-xr-x 2 vagrant vagrant 4096 Oct 23 06:59 pruebaenlace2
Y ya tenemos el enlace simbólico creado:
1
2
3
4
root@apache2:/srv/doc# ls -la
lrwxrwxrwx 1 www-data www-data 27 Oct 23 07:28 pruebaenlace1 -> /home/vagrant/pruebaenlace1
lrwxrwxrwx 1 root root 27 Oct 23 07:30 pruebaenlace2 -> /home/vagrant/pruebaenlace2
**Tarea 5: En todo el host virtual se debe redefinir los mensajes de error de objeto no encontrado y no permitido. Para el ello se crearan dos ficheros html dentro del directorio error. **
Editamos el siguiente fichero:
1
vagrant@apache2:/etc/apache2/conf-available$ sudo nano localized-error-pages.conf
Añadimos lo siguientes:
1
2
3
4
5
6
7
Alias /error/404 /srv/error/404.html
ErrorDocument 404 /error/404
Alias /error/403 /srv/error/403.html
ErrorDocument 403 /error/403
<Location /errores/>
SetHandler none
</Location>
Editamos la salida de error y añadimos un mensaje:
1
2
vagrant@apache2:/srv/error$ sudo nano 404.html
vagrant@apache2:/srv/error$ sudo nano 403.html
Creamos y cambiamos los permisos de un fichero prueba para que salte el error.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
vagrant@apache2:/srv$ sudo touch error2.txt
vagrant@apache2:/srv$ ls -l
total 12
drwxr-xr-x 2 www-data www-data 4096 Oct 22 07:23 doc
drwxr-xr-x 2 root root 4096 Oct 22 08:08 error
-rw-r--r-- 1 root root 0 Oct 22 08:10 error2.txt
drwxr-xr-x 4 www-data www-data 4096 Oct 22 07:07 www
vagrant@apache2:/srv$ sudo chmod 600 error2.txt
vagrant@apache2:/srv$ ls -l
total 12
drwxr-xr-x 2 www-data www-data 4096 Oct 22 07:23 doc
drwxr-xr-x 2 root root 4096 Oct 22 08:08 error
-rw------- 1 root root 0 Oct 22 08:10 error2.txt
drwxr-xr-x 4 www-data www-data 4096 Oct 22 07:07 www
1
2
3
vagrant@apache2:/srv$ sudo mv error2.txt doc/
vagrant@apache2:/srv/doc$ ls
archivo.txt error2.txt
Tarea 6: Añade al escenario Vagrant otra máquina conectada por una red interna al servidor. A la URL departamentos.iesgn.org/intranet sólo se debe tener acceso desde el cliente de la red local, y no se pueda acceder desde la anfitriona por la red pública. A la URL departamentos.iesgn.org/internet, sin embargo, sólo se debe tener acceso desde la anfitriona por la red pública, y no desde la red local.
Creamos una máquina cliente en la misma red interna
1
2
3
4
5
6
7
Vagrant.configure("2") do |config|
config.vm.box = "debian/buster64"
config.vm.hostname = "apache2cliente"
config.vm.network :public_network,:bridge=>"wlan0"
config.vm.network "private_network", ip: "192.168.10$
virtualbox__intnet: "redinterna"
end
Creamos los directorios que vamos a necesitar
1
2
vagrant@apache2:/srv/www/departamentos$ ls
index.html internet intranet
Le damos permisos
1
vagrant@apache2:/srv/www/departamentos$ sudo chown -R www-data:www-data /srv/www/departamentos/
Editamos el fichero de configuración de departamentos.conf:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<VirtualHost *:80>
ServerName departamentos.iesgn.org
ServerAdmin webmaster@localhost
DocumentRoot /srv/www/departamentos
<Directory /srv/www/departamentos>
Options FollowSymLinks Indexes MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
<Directory /srv/www/departamentos/intranet>
Options Indexes FollowSymLinks MultiViews
Require ip 192.168.100
</Directory>
<Directory /srv/www/departamentos/internet>
Options Indexes FollowSymLinks MultiViews
Require ip 172.22
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Y lo activamos con:
1
vagrant@apache2:/etc/apache2/sites-available$ sudo a2ensite departamentos.conf
Comprobamos si funciona.
Comprobaciones desde el cliente:
1
vagrant@apache2cliente:~$ w3m http://departamentos.iesgn.org/internet
1
vagrant@apache2cliente:~$ w3m http://departamentos.iesgn.org/intranet
Tarea 7: Autentificación básica. Limita el acceso a la URL departamentos.iesgn.org/secreto. Comprueba las cabeceras de los mensajes HTTP que se intercambian entre el servidor y el cliente. ¿Cómo se manda la contraseña entre el cliente y el servidor?.
Los usuarios y sus contraseña están encriptadas en un archivo.
Creamos el directorio secreto y le damos permisos:
1
2
vagrant@apache2:/srv/www/departamentos$ sudo mkdir secreto
vagrant@apache2:/srv/www/departamentos$ sudo chown -R www-data:www-data /srv/www/departamentos/
Dentro de /etc/apache2
creamos un directorio llamado login, donde estarán todas las credenciales.
1
vagrant@apache2:/srv/www/departamentos$ sudo htpasswd -c /etc/apache2/login/pass.txt ernesto
Ahora vamos a editar el fichero de configuración.
1
vagrant@apache2:/etc/apache2/sites-available$ sudo nano departamentos.conf
Añadimos lo siguiente:
1
2
3
4
5
6
<Directory /srv/www/departamentos/secreto>
AuthUserFile "/etc/apache2/login/pass.txt"
AuthName "Palabra de paso"
AuthType Basic
Require valid-user
</Directory>
AuthUserFile: Ubicación del fichero con los usuarios y sus contraseñas. AuthName: Personalizamos el mensaje que aparecerá en la ventana del navegador que nos pedirá la contraseña. AuthType Basic: Le especificamos que es autenticación básica. Require valid-user: Controla que usuarios tienen permiso para acceder
Reiniciamos apache2 y entramos a http://departamentos.iesgn.org/secreto/
1
sudo systemctl reload apache2.service
Comprueba las cabeceras de los mensajes HTTP que se intercambian entre el servidor y el cliente. ¿Cómo se manda la contraseña entre el cliente y el servidor?.
1
2
3
4
5
6
7
8
9
10
11
12
12:04:11.216219 IP (tos 0x0, ttl 64, id 7782, offset 0, flags [DF], proto TCP (6), length 443)
honda.46596 > www.iesgn.org.http: Flags [P.], cksum 0x3b8f (correct), seq 1:392, ack 1, win 229, options [nop,nop,TS$
GET /secreto/ HTTP/1.1
Host: departamentos.iesgn.org
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Firefox/68.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: es,en-US;q=0.7,en;q=0.3
Accept-Encoding: gzip, deflate
DNT: 1
Connection: keep-alive
Upgrade-Insecure-Requests: 1
Authorization: Basic ZXJuZXN0bzplcm5lc3Rv
La contraseña se manda de forma cifrada pero es basica
Tarea 8: Cómo hemos visto la autentificación básica no es segura, modifica la autentificación para que sea del tipo digest, y sólo sea accesible a los usuarios pertenecientes al grupo directivos. Comprueba las cabeceras de los mensajes HTTP que se intercambian entre el servidor y el cliente. ¿Cómo funciona esta autentificación?
Activamos el módulo (auth_digest) con el siguiente comando:
1
2
3
4
5
root@apache2:/home/vagrant# a2enmod auth_digest
Considering dependency authn_core for auth_digest:
Module authn_core already enabled
Module auth_digest already enabled
Ahora vamos a editar el fichero de configuración.
1
2
3
4
5
6
7
8
root@apache2:/etc/apache2/sites-available# nano departamentos.conf
<Directory /srv/www/departamentos/secreto>
AuthUserFile "/etc/apache2/login/pass.txt"
AuthName "directivos"
AuthType Digest
Require valid-user
</Directory>
Añadimos las nuevas credenciales al fichero pass.txt.
1
htdigest -c /etc/apache2/login/pass.txt directivos ernesto
Ahora comprobamos si funciona:
Iniciamos sesión con el usuario que hemos puesto en las credenciales del grupo directivos
En el caso de no pertenecer en el grupo directivos no tendremos acceso.
Comprueba las cabeceras de los mensajes HTTP que se intercambian entre el servidor y el cliente. ¿Cómo se manda la contraseña entre el cliente y el servidor?.
1
2
3
4
5
6
7
8
9
10
11
11:05:38.143509 IP (tos 0x0, ttl 64, id 22153, offset 0, flags [DF], proto TCP (6), length 643)
honda.45994 > www.iesgn.org.http: Flags [P.], cksum 0x01b7 (correct), seq 1:592, ack 1, win 229, options [nop,nop,TS val 3500675810 ecr 2$
GET /secreto/ HTTP/1.1
Host: departamentos.iesgn.org
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Firefox/68.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: es,en-US;q=0.7,en;q=0.3
Accept-Encoding: gzip, deflate
Connection: keep-alive
Upgrade-Insecure-Requests: 1
Authorization: Digest username="ernesto", realm="directivos", nonce="pPaqRQ+XBQA=ee286a6701b18e44d4f6136d47858ad0f26f7f83", uri="/sec$
La contraseña se manda con un cifrado más seguro
Tarea 9: Vamos a combinar el control de acceso (tarea 6) y la autentificación (tareas 7 y 8), y vamos a configurar el virtual host para que se comporte de la siguiente manera: el acceso a la URL departamentos.iesgn.org/secreto se hace forma directa desde la intranet, desde la red pública te pide la autentificación.
Editamos el fichero de configuración:
1
2
3
4
5
6
7
8
9
vagrant@apache2:/etc/apache2/sites-available$ sudo nano departamentos.conf
<Directory /srv/www/departamentos/secreto>
AuthUserFile "/etc/apache2/login/pass.txt"
AuthName "directivos"
AuthType Digest
Require valid-user
Require ip 192.168.100
</Directory>
Reiniciamos y probamos:
1
vagrant@apache2:/etc/apache2/sites-available$ sudo systemctl restart apache2.service
Desde la máquina nos pide iniciar sesión.
Desde el cliente local no nos pide iniciar sesión.
1
vagrant@apache2cliente:~$ w3m http://departamentos.iesgn.org/secreto/
Tarea 10: Habilita el listado de ficheros en la URL http://host.dominio/nas.
Voy a utilizar 000webhost
Editamos el fichero .htaccess
Tarea 11: Crea una redirección permanente: cuando entremos en ttp://host.dominio/google salte a www.google.es.
Editamos el fichero de configuración y añadimos la redirección.
1
redirectMatch ^/google$ http://www.google.es
Tarea 12: Pedir autentificación para entrar en la URL http://host.dominio/prohibido. (No la hagas si has elegido como proveedor CDMON, en la plataforma de prueba no funciona.)
Creamos el usuario para la autenticación básica:
1
2
3
4
5
vagrant@apache2:~$ htpasswd -c .htbasic ernesto
New password:
Re-type new password:
Adding password for user ernesto
Y subimos el fichero a la web
Editamos el archivo de configuración:
Tarea 13: Módulo userdir: Activa y configura el módulo userdir, que permite que cada usuario del sistema tenga la posibilidad de tener un directorio (por defecto se llama public_html) donde alojar su página web. Publica una página de un usuario, y accede a la misma.
Activamos el módulo userid con el siguiente comando:
1
2
3
4
5
6
root@apache2:/etc/apache2/mods-available# a2enmod userdir
Enabling module userdir.
To activate the new configuration, you need to run:
systemctl restart apache2
root@apache2:/etc/apache2/mods-available# systemctl restart apache2
Creamos el directorio del usuario:
1
2
3
vagrant@apache2:~$ mkdir public_html
vagrant@apache2:~/public_html$ sudo nano index.html
Entramos al directorio:
Tarea 14: En tu servidor crea una carpeta php donde vamos a tener un fichero index.php con el siguiente contenido:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Conversor de Monedas</title>
</head>
<body>
<form action="index.php" method="get">
<input type="text" size="30" name="monto" /><br/>
<select name="pais">
<option name="Dolar">Dolar</option>
<option name="Libra">Libra</option>
<option name="Yen">Yen</option>
</select>
<input type="submit" value="convertir" />
</form>
<?php
// averiguamos si se ha introducido un dinero
if (isset($_GET['monto'])) {
define ("cantidad", $_GET['monto']);
} else {
define ("cantidad", 0);
}
if($_GET){
// definimos los países
$tasacambios = array ("Libra"=>0.86,"Dolar"=>1.34,"Yen"=>103.56);
// imprimimos el monto ingresado
echo "<b>".cantidad." euros</b><br/> ".$_GET["pais"]." = ".cantidad*$tasacambios[$_GET["pais"]]." <br><br>";
// por cada país imprimimos el cambio
}
?>
</body>
</html>
Prueba la página utilizando parámetros en la URL (parámetros GET), por ejemplo: http://nombre_página/php/index.php?monto=100&pais=Libra
Configura mediante un fichero .htaccess, la posibilidad de acceder a la URL http://nombre_página/php/moneda/cantidad, donde moneda indica el nombre de la moneda a la que queremos convertir (Dolar,Libra,Yen) y cantidad indica los euros que queremos convertir.
Creamos el fichero index.php en nuestro servidor:
vagrant@apache2:/srv/www/iesgn$ sudo mkdir php vagrant@apache2:/srv/www/iesgn$ sudo nano index.php
Y copiamos el contenido anterior:
Creamos un fichero .htaccess con el siguiente contenido.
1
2
3
4
5
6
vagrant@apache2:/srv/www/iesgn/php$ sudo nano .htaccess
Options FollowSymLinks
RewriteEngine On
RewriteBase /
RewriteRule ^([0-9]+)/([a-zA-Z]+)$ index.php?monto=$1&pais=$2
Y lo probamos.
URL amigable
IPv6
Tarea 15: Comprueba que el servidor web con la configuración por defecto está escuchando por el puerto 80 en ipv6.
Con el siguiente comando, podemos ver que está escuchando por defecto por el puerto 80 en IPv6:
1
root@apache2:~# netstat -tulpn | grep 80
Tarea 16: Configura la máquina para que tenga una ipv6 global. Activa el virtualhost por defecto y accede a la página principal utilizando la ipv6 global que tiene asignada.
Editamos el fichero Vagrantfile
1
2
3
4
5
6
config.vm.box = "debian/buster64"
config.vm.hostname = "apache2"
#config.vm.network :public_network,:bridge=>"wlan0"
config.vm.network "private_network", ip: "fde4::1ffb:68a4:f7af:902f"
config.vm.network "private_network", ip: "192.168.100.1",
virtualbox__intnet: "redinterna"
Desactivamos los virtualhost que hemos configurado previamente y activamos el de por defecto:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
root@apache2:~# a2dissite iesgn.conf
Site iesgn disabled.
To activate the new configuration, you need to run:
systemctl reload apache2
root@apache2:~# a2dissite departamentos.conf
Site departamentos disabled.
To activate the new configuration, you need to run:
systemctl reload apache2
root@apache2:~# a2ensite 000-default.confç
Enabling site 000-default.
To activate the new configuration, you need to run:
systemctl reload apache2
root@apache2:~# systemctl reload apache2
Editamos la primera linea del fichero por defecto:
1
2
3
vagrant@apache2:/etc/apache2/sites-available$ sudo nano 000-default.conf
<VirtualHost fde4::1ffb:68a4:f7af:902f:80>
Reiniciamos los servicios de apache y ya podremos acceder al virtualhost por defecto a través de la dirección IPv6 .
1
2
3
vagrant@apache2:/etc/apache2/sites-available$ sudo systemctl restart apache2
http://[fde4::1ffb:68a4:f7af:902f]/
Tarea 17: Configura la resolución estática para acceder a los virtualhost utilizando ipv6.
Volvemos a activar los virtualhosts anteriores
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
root@apache2:~# a2dissite 000-default.conf
Site 000-default disabled.
To activate the new configuration, you need to run:
systemctl reload apache2
root@apache2:~# a2ensite iesgn.conf
Enabling site iesgn.
To activate the new configuration, you need to run:
systemctl reload apache2
root@apache2:~# a2ensite departamentos.conf
Enabling site departamentos.
To activate the new configuration, you need to run:
systemctl reload apache2
root@apache2:~# systemctl reload apache2
Editamos el fichero /etc/hosts
de nuestro equipo:
1
2
3
4
ernesto@honda:~$ sudo nano /etc/hosts
fde4::1ffb:68a4:f7af:902f www.iesgn.org
fde4::1ffb:68a4:f7af:902f departamentos.iesgn.org
Y ya podremos acceder a través de IPv6 a los dos virtualhosts.