automation featured image

How to Automate Canvas LMS Installation with Ansible

A l'article How to install Canvas LMS on Ubuntu 22.04 Vaig proporcionar els passos per instal·lar el sistema de gestió d'aprenentatge Canvas de codi obert des del dipòsit de Github al vostre propi servidor. Però, qui vol escriure totes aquestes ordres al terminal manualment? I, després de tot, què ens diferencia dels micos? L'ús d'eines per a l'automatització sí!

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

Prepara el servidor

Comenceu instal·lant Ansible i Git al vostre servidor.

$ sudo apt install ansible git

Clone the repository with Canvas LMS installation script

Clonar instal·lació ansible de canvaslms repositori de Github.

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

Creeu un inventari per a Ansible

Creeu un fitxer d'inventari Ansible a partir del fitxer "production.example" i substituïu-lo web_server_ip, db_server_ip, redis_server_ip amb adreces IP o noms d'amfitrió dels vostres servidors.

$ cp production.example production
$ vim production

Si esteu instal·lant al localhost podeu posar alguna cosa com això al fitxer d'inventari:

[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ó, copieu i editeu el fitxer de variables:

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

El fitxer de variables s'explica per si mateix, però aquí teniu un exemple per si encara teniu dubtes.

variables file for ansible playbook
Fitxer de variables per al llibre de jocs 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 instal·lació de fil i recursos de compilació de canvas La tasca triga un temps decent a completar-se, així que feu una pausa de 10 a 15 minuts de l'ordinador i deixeu que Ansible faci la feina.

$ ansible-playbook -i production master.yml

Si el llibre de jugades d'Ansible falla en algun pas, haureu de resoldre el problema i reiniciar el llibre de jugades des de la tasca fallida mitjançant la variable d'execució "–start-at-task="nom de la tasca"". Per exemple:

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

En lloc d'executar la instal·lació completa, només podeu instal·lar els components del servidor web, el servidor de bases de dades o el servidor redis individualment executant els llibres de joc 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

Resum: l'automatització fa 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!