1 00:00:00,750 --> 00:00:06,370 Hola, en este vídeo vamos a hablar de manera rápida de la tarea de SRI03 2 00:00:06,370 --> 00:00:12,230 y esta unidad va sobre la instalación y administración de servidores web. 3 00:00:12,630 --> 00:00:16,050 En la tarea se trataba de entender cómo funciona un servidor web, 4 00:00:16,670 --> 00:00:19,989 dónde se configuraba, cómo escucha las conexiones, 5 00:00:20,609 --> 00:00:25,789 cómo publica las páginas, cómo crear varias webs distintas, 6 00:00:25,789 --> 00:00:31,530 cómo proteger el contenido y cómo cifrar conexiones HTTPS. 7 00:00:32,049 --> 00:00:37,869 El ejercicio 1 pedía analizar una URL. 8 00:00:38,049 --> 00:00:41,710 Teníamos esta URL y pedía analizarla. 9 00:00:41,770 --> 00:00:43,009 Entonces aquí no había que instalar nada, 10 00:00:43,130 --> 00:00:46,250 solo había que entender de qué se compone la URL. 11 00:00:46,549 --> 00:00:48,090 La URL tiene diferentes partes. 12 00:00:48,270 --> 00:00:51,549 Una parte que es el protocolo, que sería esta HTTP. 13 00:00:52,130 --> 00:00:55,189 Otra parte que es esta parte de aquí, que sería el servidor. 14 00:00:55,189 --> 00:01:10,989 El puerto 80, el protocolo nos está diciendo qué puerto por defecto va a hacer la petición, que sería en este caso el puerto 80. Después tenemos la ruta, que es la parte donde viene a partir de aquí, de V5, etc. 15 00:01:10,989 --> 00:01:24,409 Y después tenemos el recurso, en el caso en el que lo haya, que es en este caso concreto la página del índice, porque no hay un recurso concreto. 16 00:01:25,209 --> 00:01:36,430 Problemas reales que han surgido con esta tarea, pues construir ruta con recurso, poner mal el servidor, o algunos dijeron que form profesional era el recurso. 17 00:01:36,430 --> 00:01:49,489 Sin embargo, formprofesional es parte de la carpeta o ruta. El recurso normalmente sería indes.html o indes.php, porque es interno, ya que no viene nada marcado. 18 00:01:49,489 --> 00:02:18,719 En el ejercicio 2 ya había que empezar a instalar Apache y comprobarlo. Apache necesita primero hacer un sudo apt-ultage y después un sudo apt-install apache2 para poder instalarlo y después con el comando de sudo system.tl status apache2 podemos ver si ya finalmente está instalado y qué status tiene. 19 00:02:18,719 --> 00:02:33,680 Después desde el cliente podemos conectarnos según la web que tengamos nosotros, según la IP que tengamos al servidor. Apache realmente escucha conexiones web y entrega páginas. 20 00:02:33,680 --> 00:02:54,500 Y hay algunos que confundieron también el tema de localhost con el IP del servidor. Entonces, localhost lo que significa es que es esta misma máquina. Entonces, si lo pruebo desde el servidor, no estoy comprobando que la funcione bien, simplemente lo estoy usando del servidor y no sé si un cliente se podría conectar. 21 00:02:54,500 --> 00:03:10,340 Si lo estamos haciendo desde el cliente con localhost, nos va a llamar hasta el propio cliente. En ejercicio pedía probar esto desde el cliente usando la IP del servidor para comprobar que llegamos a la página correctamente. 22 00:03:12,199 --> 00:03:24,099 Errores reales fueron probar localhost en vez del cliente, desde el cliente, no probar desde el cliente, no tener conectividad o mal la red en virtualhost, que aquí ha pasado bastante. 23 00:03:24,500 --> 00:03:29,659 También muchos problemas con firewall, adaptadores y BED más configuradas. 24 00:03:32,240 --> 00:03:43,960 En ejercicio 3, pues aquí hablamos del servicio y teníamos esas herramientas que podemos utilizar, arrancar, parar o reiniciar el servicio. 25 00:03:44,199 --> 00:03:55,759 Entonces, los comandos son siempre sudo systemctl, para todos igual, y Apache 2 y la única diferencia es store, start y restart. 26 00:03:56,259 --> 00:04:08,560 Cada vez que se cambia una configuración hay que volver a cargarlo, es decir, hay que reiniciar el servicio para que se cargue esas configuraciones en las que hacemos modificaciones del archivo. 27 00:04:08,560 --> 00:04:28,819 ¿Dónde hacemos? En los archivos de configuración de Apache. En el ejercicio 4 tenemos ports.comp, que había que entender aquí que en este archivo de configuración concreto, el ports.comp, es donde se pone que escucha Apache. 28 00:04:28,819 --> 00:04:40,540 Normal sería HTTP que esté escuchando en el 80 y el HTTPS en el 443, dependiendo del protocolo concreto. 29 00:04:42,720 --> 00:04:50,079 Los módulos Apache. Apache funciona por módulos y el SSL, que es el que nos da el HTTPS, 30 00:04:50,620 --> 00:04:58,420 tenemos otro que es OutBasic, que es el de usuarios y contraseñas, y otro de Rebrite, que es el de URLs amigables. 31 00:04:59,420 --> 00:05:06,779 Después tenemos unas carpetas llamadas Mods Available, donde están los módulos disponibles y Mods Enabled, módulos activos. 32 00:05:08,000 --> 00:05:10,120 Sobre el ejercicio 6 que vamos a comentar. 33 00:05:10,620 --> 00:05:19,199 Aquí ya se configuraba el sitio web y conceptos importantes que había aquí en este punto de directivas de Apache 34 00:05:19,199 --> 00:05:25,480 era el server name, el nombre del sitio, document root, donde estaban las carpetas de las webs, 35 00:05:25,480 --> 00:05:29,180 el directory index que es donde se encuentra el archivo principal 36 00:05:29,180 --> 00:05:33,480 virtualhost que es el sitio web virtual 37 00:05:33,480 --> 00:05:37,439 entonces una configuración sería la siguiente 38 00:05:37,439 --> 00:05:41,899 como vemos tenemos configurado en etiquetas 39 00:05:41,899 --> 00:05:45,540 tipo xml y pues tenemos aquí el 40 00:05:45,540 --> 00:05:49,459 server name, el document root donde se encuentra y cual sería 41 00:05:49,459 --> 00:05:57,660 el directory index. El virtualhost 42 00:05:57,660 --> 00:06:03,720 en Webmin. Aquí había que integrar todo porque teníamos que tener Apache, tenemos 43 00:06:03,720 --> 00:06:09,240 que necesitar un DNS, tenemos que tener rutas, directorios, el Webmin, las páginas web, 44 00:06:09,459 --> 00:06:15,160 índices, IPs y dominios. La lógica correcta era que primero tenemos que tener bien configurado 45 00:06:15,160 --> 00:06:21,839 el dominio para que resuelva por IP y a través del document host, el virtual host, document 46 00:06:21,839 --> 00:06:27,279 root, llegar a la página HTML. Hay alumnos que crearon el virtual host pero no funcionó. 47 00:06:27,279 --> 00:06:45,220 Porque olvidaban la parte de ETG, CEJOS o de DNS, que es lo que nos lo resolvía. Tenemos información de todo esto en las ampliaciones que os puse, de temario, en la línea de actualizaciones y está también por el foro. 48 00:06:45,220 --> 00:06:53,379 Entonces, tu dominio web.org no resolvía ningún IP porque habría principalmente todos los problemas estos del DNS. 49 00:06:54,220 --> 00:07:03,000 Hay algunos alumnos que lo resolvieron bien con simplemente etchost, que no tenían montado el DNS de prácticas anteriores. 50 00:07:03,779 --> 00:07:08,639 Entonces, errores típicos también son confundir esta ruta con esta. 51 00:07:09,399 --> 00:07:14,060 Entonces, Apache apuntaba a la carpeta, pero los HTML estaban en otra. 52 00:07:15,220 --> 00:07:23,920 Pasamos al ejercicio nuevo que teníamos, que es el de autenticación, que también dio problemas y bueno, este aquí aprendemos cómo proteger el contenido. 53 00:07:23,920 --> 00:07:29,019 La idea es que Apache puede pedir un usuario y contraseña antes de mostrar una carpeta. 54 00:07:29,360 --> 00:07:40,620 Conceptos importantes que había aquí, el HTTP pass WS con usuarios y contraseñas, el outtip basics, que es el tipo de autenticación 55 00:07:40,620 --> 00:07:47,100 y otro concepto que vimos aquí es el requerir valesusias que lo que hacía era obligar a un login. 56 00:07:47,639 --> 00:07:52,720 El error más común pues era el de unos que configuraban todo y no pedían contraseña. 57 00:07:53,379 --> 00:07:57,300 Entonces, ¿por qué pasaba esto a la hora de entrar? 58 00:07:57,300 --> 00:08:09,730 Porque la ruta de directoría era incorrecta, porque el htpasswd estaba mal o al overwrite no estaba activo. 59 00:08:09,730 --> 00:08:17,470 En el ejercicio 10, la restricción por dominio, aquí la teoría importante no era la autenticación por usuario, era el filtrar por origen. 60 00:08:17,470 --> 00:08:27,470 Entonces, aquí habría que hacer un require host dominio, que lo que hacía esto era solo poder recibir conexiones desde ese dominio. 61 00:08:33,220 --> 00:08:41,960 En el ejercicio 11, aquí nos venía el HTTPS, era el ejercicio más difícil. 62 00:08:41,960 --> 00:08:44,500 HTTP, sabemos que no cifra 63 00:08:44,500 --> 00:08:46,379 es en la conexión por el puerto 80 64 00:08:46,379 --> 00:08:47,519 y no está cifrado, sin embargo 65 00:08:47,519 --> 00:08:50,419 el HTTPS ya contiene SSL 66 00:08:50,419 --> 00:08:52,519 y se cifra y el puerto 67 00:08:52,519 --> 00:08:54,179 es el 443, entonces 68 00:08:54,179 --> 00:08:56,899 para cifrar hacía falta un certificado 69 00:08:56,899 --> 00:08:58,480 entonces los pasos reales 70 00:08:58,480 --> 00:09:00,500 serían activar el SSL 71 00:09:00,500 --> 00:09:01,960 crear una clave 72 00:09:01,960 --> 00:09:03,600 crear el certificado 73 00:09:03,600 --> 00:09:06,200 configurar el virtual host 74 00:09:06,200 --> 00:09:08,259 configurar el SSL 75 00:09:08,259 --> 00:09:10,200 dedicar Apache y probar 76 00:09:10,200 --> 00:09:13,299 HTTP. Dos errores reales aquí serían 77 00:09:13,299 --> 00:09:16,200 no activar el SSL, no poner 78 00:09:16,200 --> 00:09:19,539 en JNOT, rutas mal escritas, permisos incorrectos, 79 00:09:20,419 --> 00:09:22,100 conflicto por el puerto 443 80 00:09:22,100 --> 00:09:25,399 porque estuviera siendo utilizado por otra 81 00:09:25,399 --> 00:09:28,340 aplicación o cualquier cosa, 82 00:09:28,940 --> 00:09:31,399 el certificado mal generado, no reiniciar 83 00:09:31,399 --> 00:09:34,120 Apache para que se vuelvan a cargar las cosas que 84 00:09:34,120 --> 00:09:37,259 se han modificado en los archivos o que Apache no arrancara. 85 00:09:37,259 --> 00:10:06,000 Entonces los problemas más importantes dentro de toda esta práctica es no entender bien lo que es el virtual host, muchos copiaban configuraciones sin entender este tema, confusiones entre diferentes rutas, problemas con DNS o con ETC host de no estar configurados, problemas con HTTPS como certificados SL sobre el puerto o que Apache no arrancaba 86 00:10:06,000 --> 00:10:12,740 y con la autenticación, algunos configuraban, pero Apache no protegía realmente la carpeta 87 00:10:12,740 --> 00:10:14,559 para que se vayáis a errores típicos. 88 00:10:15,159 --> 00:10:18,419 Bueno, esto no es la solución de la ejecución, sí, pero bueno, hemos hablado un poquito 89 00:10:18,419 --> 00:10:23,679 de los problemas que hubo también y donde os tenéis que centrar para el estudio. 90 00:10:24,320 --> 00:10:24,759 Un saludo.