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