automation featured image

How to Automate Canvas LMS Installation with Ansible

en el articulo How to install Canvas LMS on Ubuntu 22.04 Proporcioné pasos para instalar el sistema de gestión de aprendizaje Canvas de código abierto desde el repositorio de Github en su propio servidor. ¿Pero quién quiere escribir todos esos comandos en la terminal manualmente? ¿Y en qué nos diferencia de los monos? ¡Usar herramientas para la automatización sí lo hace!

Script below automates Canvas LMS deployment on Ubuntu 22.04 using Ansible configuration management tool.

Before you begin installation check out our Canvas LMS hosting service. You can start using the LMS right away without need to manage own servers.

How to use Ansible to Automate Canvas LMS installation

preparar el servidor

Comience instalando Ansible y Git en su servidor.

$ sudo apt install ansible git

Clone the repository with Canvas LMS installation script

Clon instalación ansible de canvaslms repositorio de 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 reemplácelo web_server_ip, db_server_ip, redis_server_ip con direcciones IP o nombres de host de sus servidores.

$ cp production.example production
$ vim production

Si está instalando en el servidor local puedes 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

Luego 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.

variables file for ansible playbook
Archivo de variables para el libro de jugadas de Ansible

Run Ansible playbook to install the open source Canvas LMS system

When you are done with inventory and variables you can finally run the playbook which does all the job installing Canvas LMS on your server. Some of the tasks in the playbook, such as instalación de hilo y activos de compilación de lienzo La tarea requiere un tiempo decente para completarse, así que tómate un descanso de 10 a 15 minutos de la computadora y deja que Ansible haga el trabajo.

$ ansible-playbook -i production master.yml

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

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

En lugar de ejecutar una instalación completa, puede instalar solo los componentes del servidor web, el servidor de bases de datos o el servidor Redis individualmente ejecutando los manuales de estrategias 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!

Manual installation of the open source Canvas LMS system is time consuming and prone to errors. Utilize automation tools like bash scripts, Python and Ansible to free yourself from typing commands into terminal over and over!