Configuración de Virtual Hosts en Apache por IP y por nombre con autenticación básica
Configuración del Virtual Host por IP
Para configurar el Virtual Host por IP, editamos el archivo de configuración:
nano /etc/apache2/sites-available/examen1.conf
Añadimos el siguiente contenido:
<VirtualHost 192.168.121.169:8080>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/examen1
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Configuración del Virtual Host por nombre
Para configurar el Virtual Host por nombre, editamos el archivo:
nano /etc/apache2/sites-available/examen1.conf
Añadimos el siguiente contenido:
<VirtualHost *:8080>
ServerAdmin webmaster@localhost
ServerName examen1.local
DocumentRoot /var/www/examen1
<Directory /var/www/examen1>
AuthType Basic
AuthName "Restricted Content"
AuthUserFile /etc/apache2/.htpasswd
Require valid-user
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Virtual Host por la IP de la interfaz enp0s3
1. Actualizamos repositorios e instalamos Apache
apt-get update
apt-get install apache2
2. Configuración del Virtual Host
2.1. Crear el directorio para el sitio web
mkdir -p /var/www/examen1
2.2. Asignar permisos adecuadamente
chown -R $USER:$USER /var/www/
chmod -R 755 /var/www/examen1
2.3. Crear la página principal
echo "interface enp0s3" > /var/www/examen1/index.html
2.4. Configurar el Virtual Host
nano /etc/apache2/sites-available/examen1.conf
Añadimos el siguiente contenido:
<VirtualHost 192.168.121.169:8080>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/examen1
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
3. Habilitar el Virtual Host
3.1. Habilitar el nuevo sitio
a2ensite examen1.conf
3.2. Modificar el archivo de puertos
nano /etc/apache2/ports.conf
Añadimos: Listen 8080
4. Reiniciar Apache
systemctl restart apache2
5. Comprobar la configuración de red
ip a show enp0s3
6. Comprobar que funciona (ej. Ubuntu)
Virtual Host por nombre y contraseña mediante htpasswd
1. Modificar el archivo de configuración del Virtual Host
1.1. Crear un nombre de dominio local
nano /etc/hosts
Añadimos: 192.168.121.169 examen1.local
1.2. Modificar el archivo de configuración del Virtual Host en el servidor Debian
nano /etc/apache2/sites-available/examen1.conf
Añadimos el siguiente contenido:
<VirtualHost *:8080>
ServerAdmin webmaster@localhost
ServerName examen1.local
DocumentRoot /var/www/examen1
<Directory /var/www/examen1>
AuthType Basic
AuthName "Restricted Content"
AuthUserFile /etc/apache2/.htpasswd
Require valid-user
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
2. Crear el archivo de contraseñas
2.1. Utilizar htpasswd para crear un archivo de contraseñas
apt-get install apache2-utils
htpasswd -c /etc/apache2/.htpasswd examen1
3. Habilitar y reiniciar Apache
a2ensite examen1.conf
systemctl restart apache2
4. Acceder desde Ubuntu
4. (1 punto) El campo Content-Type
¿Cómo se conoce también este campo? El campo Content-Type también se conoce como tipo de contenido.
¿Cuál es su función? Se utiliza en los encabezados HTTP para indicar el tipo de contenido que el servidor envía al cliente. Este campo permite al cliente interpretar y procesar correctamente los datos recibidos. Por ejemplo, Content-Type: text/html indica que el contenido es un documento HTML, permitiendo al navegador mostrarlo correctamente. Además, ayuda a evitar errores de interpretación asegurando que los datos sean tratados según su formato específico.