automation featured image

Cómo automatizar la instalación de Canvas LMS con Ansible

En el artículo Cómo instalar Canvas LMS en Ubuntu 22.04 proporcioné los pasos para instalar el sistema de gestión de aprendizaje de código abierto Canvas desde el repositorio de Github en tu propio servidor. Pero, ¿quién quiere teclear manualmente todos esos comandos en el terminal? Después de todo, ¿qué nos diferencia de los monos? Utilizar herramientas para la automatización, sí.

El siguiente script automatiza el despliegue de Canvas LMS en Ubuntu 22.04 utilizando la herramienta de gestión de configuración Ansible.

Cómo utilizar Ansible para automatizar la instalación de Canvas LMS

Preparar el servidor

Empieza instalando Ansible y Git en tu servidor.

$ sudo apt install ansible git

Clonar el repositorio con el script de instalación de Canvas LMS

Clonar el repositorio de instalación canvaslms ansible desde Github.

$ git clone https://github.com/EugeneWHZ/canvaslms-ansible-installation.git 
$ cd canvaslms-ansible-installation

Crear inventario para Ansible

Cree un archivo de inventario de Ansible a partir del archivo “production.example” y sustituya web_server_ip, db_server_ip, redis_server_ip por las direcciones IP o los nombres de host de sus servidores.

$ cp production.example production
$ vim production

Si está instalando en el localhost puede poner algo como esto en el archivo de inventario:

[webservers]
localhost:22 ansible_connection=local ansible_python_interpreter="/usr/bin/env python3"

[dbservers]
localhost:22 ansible_connection=local ansible_python_interpreter="/usr/bin/env python3"

[redisservers]
localhost:22 ansible_connection=local ansible_python_interpreter="/usr/bin/env python3"

Modificar variables

A continuación, copie y edite el archivo de variables:

$ cp roles/common/vars/main.yml.example roles/common/vars/main.yml
$ vim roles/common/vars/main.yml

El archivo de variables se explica por sí mismo, pero aquí tienes un ejemplo por si aún tienes dudas.

archivo de variables para ansible playbook
Archivo de variables para el playbook de Ansible

Ejecute Ansible playbook para instalar el sistema Canvas LMS de código abierto

Cuando haya terminado con el inventario y las variables puede finalmente ejecutar el playbook que hace todo el trabajo de instalación de Canvas LMS en su servidor. Algunas de las tareas del libro de jugadas, como la instalación de yarn y la tarea de compilación de activos de canvas tardan bastante tiempo en completarse, así que tómate un descanso de 10-15 minutos del ordenador y deja que Ansible haga el trabajo.

$ ansible-playbook -i production master.yml

Si el libro de jugadas de Ansible falla en algún paso, debe solucionar el problema y reiniciar el libro de jugadas desde la tarea fallida utilizando la variable de tiempo de ejecución ‘–start-at-task=”nombre de la tarea”‘. Por ejemplo:

$ ansible-playbook -i production --start-at-task="install yarn" master.yml

En lugar de ejecutar la instalación completa, puede instalar sólo el servidor web, el servidor de base de datos o los componentes del servidor redis de forma individual ejecutando los playbooks webservers.yml, dbservers.yml o redis.yml.

$ ansible-playbook -i production webservers.yml
$ ansible-playbook -i production dbservers.yml
$ ansible-playbook -i production redis.yml

Resumen: ¡la automatización hace la vida más fácil!

La instalación manual del sistema Canvas LMS de código abierto requiere mucho tiempo y es propensa a errores. Utiliza herramientas de automatización como scripts bash, Python y Ansible para liberarte de escribir comandos en el terminal una y otra vez.

¿De cuánta utilidad te ha parecido este contenido?

¡Haz clic en una estrella para puntuarlo!

Promedio de puntuación 0 / 5. Recuento de votos: 0

Hasta ahora, ¡no hay votos!. Sé el primero en puntuar este contenido.