Canvas، یک LMS (سیستم مدیریت یادگیری) مدرن و منبع باز است که توسط Instruction Inc تهیه و نگهداری شده است. این نرم افزار رایگان، تحت مجوز AGPLv3 منتشر می‌شود. در اینجا، مراحل نصب و پیکربندی این سیستم مدیریت یادگیری در Ubuntu 18.04 LTS شرح داده شده است.

 

الزامات نرم افزار Canvas

Canvas LMS، به بسته‌های نرم افزاری زیر وابسته است.

  • وب سرور Apache
  • ابزار Ruby
  • سرور پایگاه داده PostgreSQL

 

این مطلب نیز ممکن است برای شما مفید باشد: moodle چیست؟


نصب خودکار Canvas

در نصب خودکار canvas، از Docker container برای اجرای سرویس‌های Canvas استفاده می‌شود.

 

نصب Docker

به منظور نصب آخرین نسخه مناسب Docker برای Discourse، دستورات زیر را اجرا کنید.

wget -qO- https://get.docker.com/ | sh

اگر می‌خواهید از Docker به عنوان یک کاربر غیر root استفاده نمایید، ابتدا باید کاربر خود را به گروه "docker" اضافه کنید:

sudo usermod -aG docker username

سپس با استفاده از دستور زیر می‌توانید نسخه نصب شده را جستجو نمایید.

docker version
 Client:
  Version:           18.09.2
  API version:       1.39
  Go version:        go1.10.6
  Git commit:        6247962
  Built:             Sun Feb 10 04:13:47 2019
  OS/Arch:           linux/amd64
  Experimental:      false
 Server: Docker Engine - Community
  Engine:
   Version:          18.09.2
   API version:      1.39 (minimum version 1.12)
   Go version:       go1.10.6
   Git commit:       6247962
   Built:            Sun Feb 10 03:42:13 2019
   OS/Arch:          linux/amd64
   Experimental:     false

 

چنانچه دستور زیر را اجرا می‌کنید، Docker باید در وضعیت اجرا باشد.

systemctl status  docker
 ● docker.service - Docker Application Container Engine
    Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
    Active: active (running) since Sat 2019-02-23 08:55:15 CET; 1min 54s ago
      Docs: https://docs.docker.com
  Main PID: 28222 (dockerd)
     Tasks: 8
    CGroup: /system.slice/docker.service
            └─28222 /usr/bin/dockerd -H fd://
 Feb 23 08:55:14 ubuntu-2gb-nbg1-1 dockerd[28222]: time="2019-02-23T08:55:14.792931869+01:00" level=warning msg="Your kernel does not support swap memor
 Feb 23 08:55:14 ubuntu-2gb-nbg1-1 dockerd[28222]: time="2019-02-23T08:55:14.793210296+01:00" level=warning msg="Your kernel does not support cgroup rt 
 Feb 23 08:55:14 ubuntu-2gb-nbg1-1 dockerd[28222]: time="2019-02-23T08:55:14.793354019+01:00" level=warning msg="Your kernel does not support cgroup rt 
 Feb 23 08:55:14 ubuntu-2gb-nbg1-1 dockerd[28222]: time="2019-02-23T08:55:14.795671966+01:00" level=info msg="Loading containers: start."
 Feb 23 08:55:14 ubuntu-2gb-nbg1-1 dockerd[28222]: time="2019-02-23T08:55:14.946891414+01:00" level=info msg="Default bridge (docker0) is assigned with 
 Feb 23 08:55:15 ubuntu-2gb-nbg1-1 dockerd[28222]: time="2019-02-23T08:55:15.019658891+01:00" level=info msg="Loading containers: done."
 Feb 23 08:55:15 ubuntu-2gb-nbg1-1 dockerd[28222]: time="2019-02-23T08:55:15.117287717+01:00" level=info msg="Docker daemon" commit=6247962 graphdriver(
 Feb 23 08:55:15 ubuntu-2gb-nbg1-1 dockerd[28222]: time="2019-02-23T08:55:15.117884716+01:00" level=info msg="Daemon has completed initialization"
 Feb 23 08:55:15 ubuntu-2gb-nbg1-1 systemd[1]: Started Docker Application Container Engine.
 Feb 23 08:55:15 ubuntu-2gb-nbg1-1 dockerd[28222]: time="2019-02-23T08:55:15.153778133+01:00" level=info msg="API listen on /var/run/docker.sock"

پس از آن، از مخزن clone بگیرید:

git clone https://github.com/instructure/canvas-lms.git

 

و سپس اسکریپت نصب را اجرا نمایید.

cd canvas-lms
./script/docker_dev_setup.sh

  ________  ________  ________   ___      ___ ________  ________
|\   ____\|\   __  \|\   ___  \|\  \    /  /|\   __  \|\   ____\
\ \  \___|\ \  \|\  \ \  \\ \  \ \  \  /  / | \  \|\  \ \  \___|_
 \ \  \    \ \   __  \ \  \\ \  \ \  \/  / / \ \   __  \ \_____  \
  \ \  \____\ \  \ \  \ \  \\ \  \ \    / /   \ \  \ \  \|____|\  \
   \ \_______\ \__\ \__\ \__\\ \__\ \__/ /     \ \__\ \__\____\_\  \
    \|_______|\|__|\|__|\|__| \|__|\|__|/       \|__|\|__|\_________\
                                                         \|_________|

Welcome! This script will guide you through the process of setting up a
Canvas development environment with docker and dinghy/dory.

When you git pull new changes, you can run ./scripts/docker_dev_update.sh
to bring everything up to date.

> First, we need to install some dependencies.
OK to run 'sudo apt-get update && sudo apt-get install -y docker-compose'? [y/n] y

برای به پایان رساندن نصب Canvas LMS، با همه درخواست‌های دیگر موافقت کنید.

 

نصب دستی Canvas

به منظور نصب دستی Canvas LMS روی اوبونتو 18.04، از مراحل زیر استفاده نمایید.

 

مرحله 1: نصب وابستگی‌های Canvas

در اینجا، ما بسته‌های نرم افزاری Ruby و Node.js را نصب خواهیم کرد. بیایید با نصب Node.js شروع کنیم.

curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install nodejs

نسخه Ruby پشتیبانی شده در مخزن PPA وجود دارد، آن را به صورت زیر اضافه نمایید.

sudo apt-get install software-properties-common
sudo add-apt-repository ppa:brightbox/ruby-ng
sudo apt-get update
sudo apt-get install ruby2.4 ruby2.4-dev zlib1g-dev libxml2-dev \
                        libsqlite3-dev postgresql libpq-dev \
                        libxmlsec1-dev curl make g++

سپس نسخه آن را به صورت زیر بررسی کنید.

ruby -v
ruby 2.4.5p335 (2018-10-18 revision 65137) [x86_64-linux-gnu]

در آخر Yarn را نصب نمایید.

curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
sudo apt-get update && sudo apt-get install yarn=1.10.1-1

 

مرحله 2: نصب سرور پایگاه داده PostgreSQL

Canvas، از پایگاه داده PostgreSQL برای ذخیره داده‌های خود استفاده می‌کند. بنابراین، ابتدا باید PostgreSQL را روی اوبونتو 18.04 نصب کنید.

 

این مطلب نیز ممکن است برای شما مفید باشد: ایجاد کاربر، پایگاه داده و افزودن دسترسی در PostgreSQL

 

پس از نصب سرور پایگاه داده، برای Canvas و کاربری با نام canvas پایگاه داده ایجاد نمایید.

 sudo su postgres
createuser canvas --no-createdb \
--no-superuser --no-createrole --pwprompt

رمز ورود کاربر را ارائه دهید و در صورت مواجه شدن با سوال، آن را تأیید کنید. سپس، پایگاه داده Canvas را ایجاد نمایید.

createdb canvas --owner=canvas

شما می‌توانید نام کاربری سیستم خود را به عنوان یک کاربر superuser در postgres تنظیم کنید.

sudo -u postgres createuser $USER
sudo -u postgres psql -c "alter user $USER with superuser" postgres

 

مرحله 3: کلون گرفتن از پروژه Canvas LMS

با استفاده از دستور زیر، از آخرین منبع Canvas کلون بگیرید.

git clone https://github.com/instructure/canvas-lms.git /var/canvas

سپس از نسخه پایدار مربوطه، به صورت زیر Checkout بگیرید.

cd /var/canvas
git checkout stable

 

مرحله 4: پیکربندی Canvas

به پوشه /var/canvas رفته و مقادیر پیش فرض پیکربندی را وارد کنید.

cd /var/canvas
for config in amazon_s3 database \
   delayed_jobs domain file_store outgoing_mail security external_migration; \
   do cp config/$config.yml.example config/$config.yml; done

همین کار را برای تنظیمات Database و Dynamic انجام دهید.

cp config/dynamic_settings.yml.example config/dynamic_settings.yml
cp config/database.yml.example config/database.yml

فایل config/database.yml را ویرایش کرده و گواهی‌های Canvas Database خود را تنظیم نمایید.

..........
production:
   adapter: postgresql
   encoding: utf8
   database: canvas
   host: localhost
   username: canvas
   password: password
   timeout: 5000

 

Bundler را با استفاده از Ruby Gem نصب کنید:

$ gem install bundler -v 1.13.6

نرم افزارهای پیش نیاز Canvas را نصب نمایید.

cd /var/canvas
bundle install
yarn install --pure-lockfile && yarn install --pure-lockfile
sudo npm install -g coffee-script@1.6.2

پایگاه داده مورد نظر را با جداول و داده‌ها ایجاد کنید.

bundle exec rails db:initial_setup

خروجی نمونه به شرح زیر است.

 

با استفاده از دستور زیر، تعدادی Canvas asset بسازید:

bundle exec rails canvas:compile_assets

سرانجام سرور Canvas را راه‌اندازی نمایید.

bundle exec rails server

 

 

 

منبع:

computingforgeeks