Configuración de Virtual Hosts en Apache por IP y por nombre con autenticación básica

Informática4,87 KB

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)

http://192.168.121.169:8080

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

http://examen1.local:8080

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.

Descargar

PDF Word HTML