automation featured image

How to Automate Canvas LMS Installation with Ansible

I artikeln How to install Canvas LMS on Ubuntu 22.04 Jag tillhandahöll steg för att installera hanteringssystemet Canvas med öppen källkod från Github-förvaret på din egen server. Men vem vill skriva alla dessa kommandon i terminalen manuellt? Och vad skiljer oss från apor trots allt? Att använda verktyg för automatisering gör det!

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

Förbered servern

Kom igång genom att installera Ansible och Git på din server.

$ sudo apt install ansible git

Clone the repository with Canvas LMS installation script

Klona canvaslms ansible installation repository från Github.

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

Skapa inventering för Ansible

Skapa en Ansible-inventeringsfil från filen "production.example" och ersätt web_server_ip, db_server_ip, redis_server_ip med IP-adresser eller värdnamn för dina servrar.

$ cp production.example production
$ vim production

Om du installerar på lokal värd du kan lägga in något så här i inventeringsfilen:

[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"

Ändra variabler

Kopiera och redigera sedan variabelfilen:

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

Variabelfilen är självförklarande, men här är ett exempel om du fortfarande är osäker.

variables file for ansible playbook
Variabler fil för Ansible playbook

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 installation av garn och canvas kompilera tillgångar uppgiften tar lagom tid att slutföra, så ta en paus på 10-15 minuter från datorn och låt Ansible göra jobbet.

$ ansible-playbook -i production master.yml

Om Ansible-spelboken misslyckas i något steg måste du felsöka problemet och starta om spelboken från den misslyckade uppgiften med '–start-at-task="uppgiftsnamn"' runtime-variabel. Till exempel:

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

Istället för att köra en komplett installation kan du bara installera webbserver-, databasserver- eller redis-serverkomponenter individuellt genom att köra webservers.yml, dbservers.yml eller redis.yml playbooks.

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

Sammanfattning: automatisering gör livet enklare!

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!