logo

¿Tienes un reto en mente?

Escuchamos tus ideas para materializarlas en soluciones TI vanguardistas, generando valor, oportunidades reales y competitividad a tu empresa, comprometidos con un servicio ágil y personalizado.
Moodle y MariaDB dockerizado

Moodle y MariaDB dockerizado

Aprenderás a desplegar Moodle y MariaDB dockerizado en AWS

Requisitos

  • Tener una instancia en Amazon AWS con sistema operativo Ubuntu 20.04.
  • Tener instalado Docker.
  • Tener un dominio para que pueda ser accedido desde internet (es opcional).

Instalar Apache

Actualiza el índice de los paquetes locales:

sudo apt update

Instala apache2 y habilita módulos del proxy:

sudo apt install apache2 && sudo a2enmod proxy proxy_http proxy_balancer lbmethod_byrequests

Configurar subdominio y virtualhost

Ir al directorio se sitios habilitados de apache:

cd /etc/apache2/sites-available/

Renombra el archivo 000-default.conf por el nombre de tu dominio, para este caso práctico se usó midominio.co.conf:

sudo mv 000-default.conf midominio.co.conf

Edita el contenido:

sudo nano midominio.co.conf

Con las siguientes líneas:

Reinicia el servicio de apache:

sudo systemctl restart apache2

 

Cómo desplegar Moodle con MariaDB dockerizado en AWS

Moodle es una solución de gestión de aprendizaje de código abierto (LMS) muy popular para la entrega de cursos y programas de aprendizaje electrónico. En esta ocasión aprenderá como instalar una imagen de Bitnami con Moodle y MariaDB. Aquí les presento la arquitectura que nos servirá de guía para este tutorial.

¿Por qué Bitnami?

Bitnami provee imágenes con soporte para errores y actualizaciones constantes.

¿Cómo usar la imagen Bitnami?

Crea una red para la aplicación y la base de datos, para este ejemplo debe crear una red con el siguiente nombre moodle-tier. Este nombre será asociado más adelante.

docker network create moodle-tier

Crea un volumen para la persistencia de datos de MariaDB, para este ejemplo debe crear un volumen con el siguiente nombre mariadb-storage. Este nombre será asociado más adelante.

docker volume create --name mariadb-storage

Crea un contenedor para MariaDB, aquí se deberá asociar el nombre de red creado anteriormente y el volumen. Si usted no desea exponer la base de datos para que esta pueda ser manipulada por algún gestor de base de datos como mysql workbench omita la línea -p 3306:3306.

docker run -d --name mariadb-server -p 3306:3306 -e MARIADB_USER=admin -e MARIADB_DATABASE=bd_moodle -e MARIADB_ROOT_PASSWORD=YOU_PASSWORD -e MARIADB_PASSWORD=YOU_PASSWORD --net moodle-tier -v mariadb-storage:/bitnami bitnami/mariadb:10.5.17

Crea un volumen para la persistencia de datos de Moodle, para este ejemplo debe crear un volumen con el siguiente nombre moodle-storage. Este nombre será asociado más adelante.

docker volume create --name moodle-storage

Crea un contenedor para Moodle, aquí se deberá asociar el nombre de red creado anteriormente y el volumen.

docker run -d --name moodle-server -p 80:80 -p 443:443 -e MARIADB_HOST=mariadb-server -e MOODLE_DATABASE_USER=admin -e MOODLE_DATABASE_NAME=bd_moodle -e MOODLE_DATABASE_PASSWORD=YOU_PASSWORD --net moodle-tier -v moodle-storage:/bitnami bitnami/moodle:3.5.1

Monitorea el estado de la instalación de Moodle ejecutando el siguiente comando:

watch docker logs moodle-server

Para salir de la consola de monitoreo en una terminal linux presiona las teclas «control+c».

Visualiza los datos de Moodle:

sudo ls -la /var/lib/docker/volumes/moodle-storage/_data/moodle

Valida que el servicio está operando:

curl -i http://127.0.0.1:80/

Si todo está bien podrás ingresar en el navegador a http://localhost o a http://midominio.co y observarás la siguiente pantalla:

Configuración

Los datos de acceso por defecto son:

  • Username: user
  • Password: bitnami
  • Email: user@example.com

Para cambiar los datos de acceso por defecto, deberás iniciar sesión. Luego dar clic en el avatar del usuario > profile > edit profile. Allí usted podrás editar los datos.

No hay comentarios

Escribe un comentario

Comentario
Nombre
Correo electrónico
Sitio web