User Tools

Site Tools


apuntes:servidores_web

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
apuntes:servidores_web [2017/11/02 10:55] Santiago Faciapuntes:servidores_web [2018/04/10 14:30] – [Personalizar las páginas de error] Santiago Faci
Line 313: Line 313:
     ServerName misitio.com     ServerName misitio.com
     ServerAlias www.misitio.com     ServerAlias www.misitio.com
-    ErrorLog "misitio.com-error_log+    ErrorLog "misitio.com-error.log
-    CustomLog "misitio.com-access_log" combined+    CustomLog "misitio.com-access.log" combined
 </VirtualHost> </VirtualHost>
 </file> </file>
Line 623: Line 623:
     ServerName misitio.com     ServerName misitio.com
     ServerAlias www.misitio.com     ServerAlias www.misitio.com
-    ErrorLog "misitio.com-error_log+    ErrorLog "misitio.com-error.log
-    CustomLog "misitio.com-access_log" combined+    CustomLog "misitio.com-access.log" combined
 </VirtualHost> </VirtualHost>
 </code> </code>
Line 636: Line 636:
     ServerName misitio.com     ServerName misitio.com
     ServerAlias www.misitio.com     ServerAlias www.misitio.com
-    ErrorLog "logs/misitio.com-error_log+    ErrorLog "logs/misitio.com-error.log
-    CustomLog "logs/misitio.com-access_log" combined+    CustomLog "logs/misitio.com-access.log" combined
          
     <Directory "/var/www/html/misitio.com/usuarios">     <Directory "/var/www/html/misitio.com/usuarios">
Line 719: Line 719:
     ServerName misitio.com     ServerName misitio.com
     ServerAlias www.misitio.com     ServerAlias www.misitio.com
-    ErrorLog ${APACHE_LOG_DIR}/misitio.com-error_log +    ErrorLog ${APACHE_LOG_DIR}/misitio.com-error.log 
-    CustomLog ${APACHE_LOG_DIR}/misitio.com-access_log combined+    CustomLog ${APACHE_LOG_DIR}/misitio.com-access.log combined
  
     BandwidthModule On     BandwidthModule On
Line 775: Line 775:
     ServerAlias www.misitio.com     ServerAlias www.misitio.com
          
-    ErrorLog "misitio.com-error_log+    ErrorLog "misitio.com-error.log
-    CustomLog "misitio.com-access_log" combined+    CustomLog "misitio.com-access.log" combined
          
     ErrorDocument 404 /error_404.html     ErrorDocument 404 /error_404.html
Line 904: Line 904:
 {{ httpsmisitiocom.png }} {{ httpsmisitiocom.png }}
 <caption>Conexión segura utilizando HTTPS</caption></figure> <caption>Conexión segura utilizando HTTPS</caption></figure>
 +
 +Llegados a este punto nos puede interesar que todo el tráfico de la web se vea forzado a utilizar el protocolo seguro HTTPS. Incluso aunque el usuario introduzca la URL directamente y decide navegar utilizando HTTP (''http://.....'') nosotros podemos redirigirle hacia la opción de utilizar la opción segura.
 +
 +En ese caso podemos incluso configurar el host virtual no seguro con las opciones mínimas para redirigirlo al seguro. No haría falta ni incluir la opción ''DocumentRoot''.
 +
 +<code apache>
 +<VirtualHost *:80>
 +   ServerName www.misitio.com
 +   Redirect / https://www.misitio.com/
 +</VirtualHost>
 +
 +<VirtualHost *:443>
 +  ServerName misitio.com
 +  DocumentRoot . . .
 +  . . .
 +</VirtualHost>
 +</code>
 +
 +Finalmente podemos optar por una redirección permanente (de esta forma así se notificará a los buscadores) modificando la orden ''Redirect'' por la siguiente:
 +
 +<code apache>
 +  . . .
 +  Redirect permanent / https://www.misitio.com/
 +  . . .
 +</code>
  
 === Protección frente a atacantes === === Protección frente a atacantes ===
Line 925: Line 950:
  
 Webalizer es una aplicación que podemos instalar para procesar el fichero ''log'' de Apache y generar un documento HTML con las estadísticas de nuestro sitio web. Webalizer es una aplicación que podemos instalar para procesar el fichero ''log'' de Apache y generar un documento HTML con las estadísticas de nuestro sitio web.
 +
 +Podemos instalarlo utilizando la herramienta ''apt''.
  
 <code bash> <code bash>
 santi@zenbook:$ sudo apt-get install webalizer santi@zenbook:$ sudo apt-get install webalizer
 </code> </code>
 +
 +Y a continuar utilizar el comando ''webalizer'' para procesar el fichero ''log'' que queramos (en este caso el del sitio raíz) y éste generará una carpeta en ''/var/www/webalizer'' con un sitio web donde podremos visitar diferentes estadísticas sobre el uso del servidor.
  
 <code bash> <code bash>
 santi@zenbook:$ sudo webalizer /var/log/apache2/access.log santi@zenbook:$ sudo webalizer /var/log/apache2/access.log
 </code> </code>
 +
 +Puesto que ahora por defecto en Debian la carpeta raíz para //Apache// es ''/var/www/html'', tendremos que hacer un enlace simbólico dentro de dicha carpeta que apunte a la que //Webalizer// genera para poder visualizar el informe. También podría ser interesante proteger esa carpeta de alguna manera para que no fuera visible para cualquier visitante.
  
 <code bash> <code bash>
Line 1008: Line 1039:
  
 ===== Ejercicios ===== ===== Ejercicios =====
 +
 +  - Configura un servidor Apache según los siguientes requisitos:
 +    * Se necesitan crear 3 sitios web: //agencia.com//, //miblog.com// y //misnoticias.com//
 +    * Los 3 sitios web además tienen además el mismo dominio en .es y quieren que apunte al mismo sitio web
 +    * La idea es que los ''logs'' del servidor web se separen por cada sitio web puesto que así será más fácil revisarlos más adelante en caso de que sea necesario
 +    * El sitio web //agencia.com// tiene página de error personalizada para el caso de //error 404//
 +  - El sitio web //miblog.com// necesita ahora una carpeta con autenticación HTTP. La carpeta se llama ''zonaprivada''. Además, necesita que no se pueda listar el contenido de la carpeta ''img'' desde el navegador
 +  - El sitio web //agencia.com// necesita ahora utilizar conexión segura HTTPS puesto que pondrá en marcha una zona privada para los usuarios. Ya de paso quiere que todo el tráfico utilice ese protocolo por lo que quiere forzar siempre el uso de HTTPS para todo el sitio web
 +  - Pon en marcha el sistema de monitorización //GoAccess// para el sitio //misnoticias.com//
 +  - Configura un contenedor Docker que te permita probar el sitio web de //miblog.com// sin necesidad de montar una máquina virtual o probarlo en tu propio equipo
 +  - Realiza una prueba de rendimiento para ver como se comportará el sitio //agencia.com// cuando haya mil usuarios simultáneamente
 +  - Despliega un contenedor Docker que te permita comprobar si una web estática (sólo HTML/CSS) funciona correctamente en Ubuntu con Apache
 +  - Despliega un contenedor Docker que te permita comprobar si la web del punto anterior funcionará bien con CentOS
 +  - Despliega un contenedor Docker que permita probar alguno de los sitios web dinámicos (PHP/MySQL) realizados en la asignatura de //Desarrollo Web en Entorno Servidor//
  
 ---- ----
apuntes/servidores_web.txt · Last modified: 2019/01/04 13:02 by 127.0.0.1