Esta lección contiene un índice de las lecciones que estoy impartiendo en clase durante el curso 2019/20, así como los ejercicios que están realizado los alumnos.
Este índice se basa en las guías de estudio que ofrezco a mis alumnos de la modalidad semipresencial en la plataforma Moodle de la Conselleria de Educación. El trabajo propuesto a estos alumnos es el mismo que han seguido en clase mis alumnos de la modalidad presencial, aunque la distribución temporal no haya sido la misma.
La información se ofrece distribuida en semanas, ya que es así como está organizada la modalidad semipresencial.
También se pueden consultar las lecciones impartidas en el curso anterior, 2018/19, y las lecciones impartidas en el curso 2021/22 (en el curso 2020/21 no impartí este curso).
Esta semana empieza la parte de Aplicaciones Web que ocupará el resto del curso. El objetivo de esta parte del curso es que os familiaricéis con las aplicaciones web: su instalación, configuración y administración. Cada aplicación es distinta al resto, por lo que el enfoque de este curso es trabajar varios tipos de aplicaciones (comercio electrónico, alojamiento, blogs, CMS, etc.). El objetivo es que en el futuro seáis capaces de administrar otras aplicaciones que necesitéis, a partir de la experiencia adquirida en este curso.
Este año me gustaría también tratar con más profundidad un aspecto que apenas he tocado en cursos anteriores: la automatización de los procesos de instalación y configuración de las aplicaciones, que creo os resultará muy útil no sólo en este módulo.
Los apuntes de esta segunda parte se encuentran en la web https://www.mclibre.org/consultar/webapps/. A medida que avance el curso iré actualizando los apuntes, ya que desde el año pasado se han actualizado prácticamente todas las aplicaciones y mi intención es que utilicemos siempre las últimas versiones.
Estas son las lecciones a leer y las actividades a realizar durante esta semana.
En esta lección se comentan dos temas importante: las bases de datos y los tipos de usuarios.
El objetivo de estos ejercicios es trabajar tanto con el phpMyAdmin ya incluido en XAMPP como con el XAMPP que vais a instalar. Tenéis que tener en cuenta que se trata de dos aplicaciones independientes que no estarán ni tienen por qué estar configuradas de la misma manera. Pero como ambas acceden a la misma base de datos MySQL/MariaDB, ambas deberán adaptarse a la configuración de MySQL, especialmente a la existencia o no de contraseña del usuario root.
Podéis consultar las soluciones a los ejercicios phpMyAdmin (1)
El objetivo de estos ejercicios es que os familiaricéis con el principal uso que vamos a dar a phpMyAdmin durante el curso: crear usuarios en MySQL para que sean utilizados por las diferentes aplicaciones. Para ello se trabajarán tres situaciones:
La aplicación a instalar será siempre la misma (aunque se podrán utilizar como aplicaciones independientes), la agenda creada en el ejercicio de Bases de datos 2-3.
Podéis consultar las soluciones a los ejercicios phpMyAdmin (2)
El objetivo de estos ejercicios es profundizar un poco más en phpMyAdmin, realizando tareas generales de configuración, copias de seguridad, etc.
Podéis consultar las soluciones a los ejercicios phpMyAdmin (3)
Nota: Esta página de ejercicios está muy verde. Intentaré mejorarla.
Esta semana está dedicada a Opencart, una aplicación de comercio web, y a Packer, una herramienta de automatización.
En los ejercicios os planteo ejercicios básicos de OpenCart, pero os animo a explorar por vuestra cuenta más apartados relacionados con la creación de una tienda.
El objetivo de estos ejercicios es poner en marcha OpenCart y practicar tareas básicas de administración (instalar, traducir, copias de seguridad, etc.)
Podéis consultar las soluciones a los ejercicios OpenCart (1)
El objetivo de estos ejercicios es crear una tienda virtual en la que se comercializan servicios relacionados con las aplicaciones web (cursos, diseño y alojamiento). En estos ejercicios se construye una tienda muy elemental y os invito a ampliarla por su cuenta. El contenido de la tienda podéis cambiarlo y hacerlo de un tema que os interese (crear una tienda de animales, o de frutas, o de herramientas, o de instrumentos musicales, o de cualquier cosa que se os ocurra).
Podéis consultar las soluciones a los ejercicios OpenCart (2)
El objetivo de estos ejercicios es practicar las opciones de personalización de OpenCart.
⚠️ Esta página tiene muy pocos ejercicios. El primero es muy sencillo y el segundo apenas está esbozado.
Podéis consultar las soluciones a los ejercicios OpenCart (3)
Como primera herramienta de automatización vamos a ver Packer. Packer es un generador de máquinas virtuales, por ejemplo, para VirtualBox, pero también para sistemas de cloud computing. En principio, mi intención es que trabajemos con VirtualBox, aprovechando que lo usáis en otros módulos y ya lo sabéis manejar.
En esta lección se muestran dos ejemplos de instalación de sistemas operativos: de forma manual o desatendida.
Me imagino que más de una vez habréis creado una máquina virtual e instalado un sistema operativo a partir de una imagen iso (por ejemplo, de Ubuntu). El primer ejemplo que os propongo en esta lección es ver cómo Packer permite automatizar el proceso de instalación.
Para poder utilizar Packer tenemos que escribir una plantilla (en formato json) con la configuración que queremos dar a la máquina virtual (cpus, ram, ram de vídeo, tarjetas de red, etc.) y si queremos que Packer haga la instalación, las pulsaciones de teclado y los tiempo de espera necesarios para ir avanzando en el proceso. Packer realiza la instalación a ciegas, es decir, envía las pulsaciones de teclado sin saber qué está pasando. Al terminar, para saber si ha conseguido instalar correctamente el sistema operativo, reinicia la máquina y se intenta conectar por SSH. Si lo consigue, entiende que todo ha ido bien y exporta la máquina obtenida.
Podéis imaginar que elaborar una plantilla de Packer es un proceso laborioso ya que tenemos que conocer exactamente los pasos de la instalación y cronometrar el tiempo requerido por cada paso de la instalación. La ventaja es que una vez elaborada, podemos generar todas las máquinas que queramos sabiendo que son exactamente iguales.
En la lección Instalación de Ubuntu 18.04 Server tenéis las capturas de los pasos de instalación de Ubuntu Server. A partir de esos pasos he creado yo la plantilla del ejemplo 1.
Para reproducir el ejemplo,
En la instalación desatendida Packer no suplanta al humano enviando pulsaciones de teclado, sino que envía un archivo de configuración para que el instalador lleve a cabo su trabajo sin necesidad de preguntar las opciones deseadas al usuario
Reproducid los ejemplos de esta página.
En esta lección se muestran varios ejemplos de transformación de máquinas virtuales.
Los ejemplos siguientes ya no instalan una distribución, sino que aprovechan máquinas ya existentes para efectuar operaciones sobre ellas. En estos casos, Packer pone en marcha las máquinas, se conecta con ellas por SSH, efectúa las operaciones (ejecutar comandos de shell o scripts completos) y si todo va bien, crea una nueva imagen con el resultado final.
Estaría bien que intentarais automatizar la instalación de alguna distribución que uséis en otros módulos. Confirmad primero que el instalador es en modo texto y que se puede elegir instalar un servidor SSH, porque si no las cosas son más complicadas.
Esta semana y la próxima trabajaremos WordPress, quizá la aplicación web más conocida y alrededor de la que existe un gran ecosistema económico: desde la creación de sitios web hasta la programación de plugins o el diseño de temas.
Los ejercicios de esta semana se pueden realizar en poco tiempo, por lo que os pediría que realizarais un proyecto un poco más personal, creando un sitio dedicado a un tema que os interese. Espero que eso os motive a explorar la aplicación un poco más de lo requerido para realizar los ejercicios.
Algunas soluciones están en un estado bastante mejorable, pero creo que os aclararéis sin ellas. Si después de haberlo intentado, seguís en duda, para eso están los foros ;-)
Estas son las lecciones a leer y las actividades a realizar durante esta semana.
El objetivo de estos ejercicios es poner en marcha WordPress y practicar tareas básicas de administración (instalar, configurar el acceso, copias de seguridad, etc.)
Podéis consultar las soluciones a los ejercicios WordPress (1)
El objetivo de estos ejercicios es conocer los elementos y tipos de contenido básicos de WordPress
Podéis consultar las soluciones a los ejercicios WordPress (2)
En esta lección se comenta el uso de las herramientas de desarrollador web de Firefox, concretamente del inspector, que permite analizar las hojas de estilo que se están aplicando a una página web. Esta herramienta nos será muy útil para realizar los ejercicios en los que nos pidan modificar las hojas de estilo de una aplicación. Chrome y Edge disponen de herramientas similares.
El objetivo de estos ejercicios es conocer el mecanismo de widgets y plugins de WordPress.
A la hora de crear un sitio web real, es necesario realizar un estudio detallado de las necesidades del sitio y de los plugins disponibles, porque es posible que algún plugin gratuito o la parte gratuita de un plugin comercial cubra nuestras necesidades. Otro aspecto importante en un sitio real es que los plugins vayan a seguir disponibles en el futuro, lo que obviamente es imposible saber con seguridad, aunque nos puede servir de orientación el tiempo que ya lleve disponible, la cantidad de actualizaciones publicadas, el número de instalaciones, los comentarios de los usuarios, etc.
En esta página se proponen la instalación y prueba de algunos plug-ins, pero podrían valer otros muchos y se recomienda explorar la biblioteca de plug-ins de WordPress y probar los que los alumnos encuentren atractivos. En algunos casos se propone un plugin determinado, en otros se proponen varios plugins alternativos, pero no es necesario seguir al pie de la letra los ejercicios.
En dos ejercicios se proponen plugins que facilitan la incorporación de mapas de Google Maps o calendarios de Google Calendar. Como Google cobra a partir de cierta cantidad de uso, os aconsejo que creéis las claves API necesarias, las utilicéis para probar los plugins y después las borréis (en vuestra cuenta de Google), para que no tengáis que pagar nada.
Podéis consultar las soluciones a los ejercicios WordPress (3)
La página 4 de ejercicios está dedicada al aspecto visual, en especial a los temas. Los tres primeros ejercicios están relacionados con la configuración básica de los temas y los siguientes con la creación de nuevos temas a partir de temas ya existentes (temas hijo).
Para los ejercicios relacionados con la modificación del aspecto visual (CSS), deberéis utilizar el Inspector de Firefox. No es necesario llegar a comprender en detalle la organización general de las etiquetas HTML y de las hojas de estilo CSS de WordPress, que son bastante complicadas, basta con poder modificar elementos concretos.
Podéis consultar las soluciones a los ejercicios WordPress (4)
Tened en cuenta que:
Esta semana está dedicada a la virtualización "clásica", es decir, con máquinas virtuales completas, como las que estáis acostumbrados a utilizar en otros módulos. Aunque en la semana S14 vimos Packer, una herramienta que facilita la creación de máquinas virtuales, esta semana recurriremos a los instaladores de Bitnami. Como veréis, los instaladores de Bitnami facilitan la instalación de aplicaciones en todo tipo de sistemas, lo que nos va a permitir ver diferentes maneras de abordar el problema.
En esta lección se comentan los diferentes tipos de instaladores de aplicaciones que ofrece Bitnami, que aumentan cada año.
Esta lección recopila unas cuantos comandos útiles para la realización de los ejercicios. Me imagino que conoceréis la mayoría de ellos por haberlos trabajado en otros módulos, pero puede que os sirve alguno de ellos.
En estos ejercicios vamos a probar las máquinas virtuales de aplicación de Bitnami, que corresponden a la situación de tener un servidor dedicado a una única aplicación.
Podéis consultar las soluciones a los ejercicios Bitnami (1)
En estos ejercicios vamos a probar las máquinas virtuales de infraestructura de Bitnami, que corresponden a la situación de tener un servidor con varias aplicaciones instaladas.
Podéis consultar las soluciones a los ejercicios Bitnami (2)
Estos ejercicios corresponden a la instalación "clásica" de aplicaciones sobre Windows con instaladores de Bitnami y es la menos novedosa de todas.
Esta semana está dedicada a la virtualización "moderna", es decir, con contenedores. Concretamente trabajaremos con contenedores Docker sobre una máquina virtual de Ubuntu. Las imágenes en las que basaremos los contenedores serán también imágenes preparadas por Bitnami.
Como la semana pasada, los ejercicios están planteados principalmente como ejercicios guiados puesto que el objetivo es que entendáis el funcionamiento de este tipo de virtualización.
En cualquier caso, tened en cuenta que esta semana estará dedicada únicamente a la instalación, sin llegar a utilizar realmente las aplicaciones instaladas. La semana que viene estará dedicada a la administración de una aplicación instalada como contenedor en una máquina virtual Ubuntu y complementará lo visto esta semana.
En esta lección se comenta qué es Docker y los comandos básicos que practicaréis en las páginas de ejercicios
Son ejercicios guiados para aprender los conceptos básicos de Docker.
Vamos a trabajar con Docker en una máquina virtual de Ubuntu. Aunque el primer ejercicio pide crear la máquina virtual, se puede utilizar la máquina creada en el ejercicio 4 de Packer (2). Si queréis descargar la ova que se obtenía en ese ejercicio, podéis descargarla de mclibre. El usuario es mclibre con contraseña mclibre.
En estos ejercicios vamos a probar la instalación de aplicaciones web completas, primero con actividades guiadas y después con ejercicios.
Podéis consultar las soluciones a los ejercicios Docker (2)
Nextcloud es un sistema de sincronización y compartición de archivos que apareció en 2016 como fork de ownCloud, que apareció en 2010.
El objetivo de estos ejercicios es poner en marcha Nextcloud en Docker y realizar algunas tareas de configuración básicas.
Podéis consultar las soluciones a los ejercicios Nextcloud (1)
El objetivo de estos ejercicios es probar el funcionamiento de Nextcloud (crear usuarios, compartir y editar documentos, etc) y las posibilidades de ampliación de la herramienta (sincronización, aplicación para móviles, etc.).
Podéis consultar las soluciones a los ejercicios Nextcloud (2). Estas soluciones están muy incompletas, pero creo que no os costará mucho realizar estos ejercicios.