5.6 KiB
Actividad Apache en clase (Actividad 1)
Nicolás Andrés Ortega Froysa
Configuración DNS
En primer lugar, será necesario configurar nuestro DNS local (de nuestra
máquina) para redireccionar la dirección asir2.es
a nuestra máquina (i.e.
127.0.0.1
). Esto se puede hacer con el comando siguiente:
$ echo "127.0.0.1 asir2.es" >> /etc/hosts
Con esto, si le hacemos un ping
a asir2.es
nos debería de salir respuestas
de nuestra propia máquina:
root@debian-redes:~# ping asir2.es
PING asir2.es (127.0.0.1) 56(84) bytes of data.
64 bytes from localhost (127.0.0.1): icmp_seq=1 ttl=64 time=0.016 ms
64 bytes from localhost (127.0.0.1): icmp_seq=2 ttl=64 time=0.041 ms
64 bytes from localhost (127.0.0.1): icmp_seq=3 ttl=64 time=0.046 ms
^C
--- asir2.es ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2053ms
rtt min/avg/max/mdev = 0.016/0.034/0.046/0.013 ms
Configuración Inicial de Apache
La raíz de nuestro sitio web se encontrará en /var/www/asir2.es
, luego creamos
este directorio con el comando mkdir
. Luego, para configurar el Apache como
tal, nos vamos al directorio /etc/apache2/sites-available/
y hacemos una copia
del archivo 000-default.conf
que se denominará asir2.es.conf
, y nos interesa
hacer un par de cambios al nuevo archivo:
-
Descomentar la línea que pone
ServerName
y cambiar el dominio aasir2.es
. -
Cambiar la directiva
DocumentRoot
a/var/www/asir2.es
(la raíz de nuestra web). -
Por motivos de seguridad, deshabilitamos la opción de
Indexes
para/var/www/
en nuestro/etc/apache2/apache2.conf
para que sea de la forma siguiente:<Directory /var/www/> Options FollowSymLinks AllowOverride None Require all granted </Directory>
Una vez hecho estos cambios, lo aplicamos primero cambiando al directorio
/etc/apache2/sites-enabled/
y haciendo un enlace simbólico a nuestra
configuración nueva y recargando la configuración del servicio de apache:
$ ln -s ../sites-available/asir2.es.conf ./asir2.es.conf
$ systemctl reload apache2.service
Archivos de la Web
En primer lugar, hemos de configurar nuestro servidor para reconocer el archivo
de índice esinicio.html
. Esto lo hacemos añadiendo la directiva
DirectoryIndex esinicio.html
a nuestro VirtualHost. Luego el archivo lo
creamos con el comando siguiente:
$ echo "Empezamos" > /var/www/asir2.es/esinicio.html
También configuraremos un documento de error personalizado para los errores 403.
Para hacer esto añadimos primero la directiva en nuestra configuración
ErrorDocument 403 /error403.html
. Una vez guardado, creamos el archivo como
tal con el comando siguiente:
$ echo "No se puede acceder" > /var/www/asir2.es/error403.html
Cuando recargamos nuestra configuración, veremos que ya están disponibles estos archivos.
Permisos de Directorios
Vamos a crear ahora un directorio en la que no tiene acceso el usuario que se
denomina demo/
. Esta carpeta la creamos en primer lugar con mkdir
. No
queremos que nadie tenga acceso a este directorio, así que ponemos lo siguiente
en nuestra configuración:
<Directory /var/www/asir2.es/demo/>
Options FollowSymLinks
AllowOverride All
Require all denied
</Directory>
Al recargar la configuración, podemos probar que ha funcionado correctamente
creando un archivo esinicio.html
en demo/
y viendo si podemos cargar
http://asir2.es/demo/
. Si nos da nuestra página de error 403, entonces está
bien configurado.
Luego creamos otra carpeta inferior que se denomina otro/
dentro de demo/
al
que los usuarios sí pueden acceder. Como antes, creamos el directorio con
mkdir
, y luego añadimos lo siguiente a nuestra configuración:
<Directory /var/www/asir2.es/demo/otro/>
Options FollowSymLinks
AllowOverride All
Require all granted
</Directory>
Después de recargar la configuración, podemos asegurarnos de que funciona
añadiendo un archivo esinicio.html
al directorio y reiniciando.
Cambio de Puerto
Para cambiar de puerto simplemente hemos de cambiar el puerto de nuestro VirtualHost de 80 a 8031, de tal modo que se parece a lo siguiente:
<VirtualHost *:8031>
Y también hay que añadir el puerto a nuestro archivo /etc/apache2/ports.conf
:
Listen 8031
Alias
Creamos primero nuestros ficheros para el alias:
$ mkdir /home/asir2.es/
$ touch enlace.html
Una vez creado, configuramos el directorio con la directiva siguiente:
<Directory /home/asir2.es/>
Options FollowSymLinks
AllowOverride All
Require all granted
</Directory>
Y luego, en nuestro VirtualHost, añadimos la directiva de alias:
Alias /enlace/ "/home/asir2.es/enlace.html"
Autenticación
Para crear un directorio protegido por autenticación, primero creamos el
directorio admin
con mkdir
. Luego creamos una directiva para este
directorio:
<Directory /var/www/asir2.es/admin/>
Options FollowSymLinks
AllowOverride All
Require all denied
<RequireAll>
AuthName "Acceso restringido"
AuthType Basic
AuthUserFile /etc/apache2/htpass
Require user usuario
</RequireAll>
</Directory>
Luego creamos el archivo htpass
con el comando siguiente, introduciendo la
contraseña que queremos (e.g. laClave-2020
), y moviendo el archivo a
/etc/apache2/
:
$ htpasswd -c htpass admin
$ mv htpass /etc/apache2/
Derechos de Autor
Copyright © 2022 Nicolás A. Ortega Froysa nicolas@ortegas.org License: CC-BY-ND 4.0 International