Canvas LMS-installasjon er enkel hvis du gjorde det før. Men for første gang kan det bli tøft. Hvis dette er første gang du prøver å installere Canvas LMS, må du definitivt lese denne installasjonsveiledningen for Canvas LMS. Inne vil du finne mange nyttige tips som vil hjelpe deg med å sette opp Canvas LMS produksjonsserver.
For denne veiledningen vil vi bruke en VPS med Ubuntu 22.04 LTS 64 bit. Serveren har 8 GB RAM og 4 CPU-kjerner. Den oppfyller minimale maskinvarekrav for åpen kildekode Canvas LMS. Vi anbefaler ikke å installere Canvas på maskinvare med lavere spesifikasjoner, da installasjonen kan mislykkes. Vi anbefaler heller ikke å bruke andre operativsystemer enn Ubuntu. Canvas LMS-installasjon på Windows støttes ikke.
Før du starter installasjonen, sjekk ut vår Canvas LMS-vertstjeneste. Tjenesten tilbyr administrerte skyservere med åpen kildekode Canvas LMS forhåndsinstallert. Du kan begynne å bruke LMS uten å måtte sette opp og administrere egne servere.
Canvas LMS installasjonstrinn
Oppdater systemet
Først av alt bør vi oppdatere serveren og pakkene til den nyeste versjonen.
# sudo apt update && apt upgrade -y
Installer PostgreSQL databaseserver
Deretter installerer og konfigurerer vi PostgreSQL databaseserver. Når jeg skriver denne artikkelen er postgresql-14 tilgjengelig.
# sudo apt-get install postgresql-14
Add postgresql database and a database user for Canvas. You will be asked to set a password for canvas database user.
# sudo -u postgres createuser canvas --no-createdb \ --no-superuser --no-createrole --pwprompt # sudo -u postgres createdb canvas_production --owner=canvas
Last ned Canvas-kode til serveren
We will use Git to get Canvas code. Install Git if you don’t have it already.
# sudo apt install git-core
På dette trinnet vil vi opprette en egen systembruker for Canvas LMS-applikasjon. Vi vil laste ned Canvas-kode og installere den under denne kontoen.
# useradd --create-home -s /bin/bash canvas # chmod 711 /home/canvas # su - canvas
Clone files from Canvas Github repository into public_html folder.
$ git clone https://github.com/instructure/canvas-lms.git /home/canvas/public_html $ cd /home/canvas/public_html $ git checkout prod
Installer Canvas LMS-avhengigheter
Switch back from “canvas” user to a sudo user and install ruby, Node.js, Bundler, Yarn and other Canvas LMS dependencies.
$ sudo apt-get install software-properties-common $ sudo add-apt-repository ppa:instructure/ruby $ sudo apt-get update
Installer Ruby 3.1
$ sudo apt-get install ruby3.1 ruby3.1-dev zlib1g-dev libxml2-dev \ libsqlite3-dev postgresql libpq-dev \ libxmlsec1-dev libidn11-dev curl make g++
Installer Node.js
$ curl -sL https://deb.nodesource.com/setup_16.x | sudo -E bash - $ sudo apt-get install nodejs $ sudo npm install -g npm@latest
Installer Bundler og Ruby Gems
# sudo gem install bundler --version 2.3.26 # su - canvas $ cd /home/canvas/public_html $ bundle config set --local path vendor/bundle $ bundle install
Installer garn
# sudo npm -g install yarn
Installer NodeJS-avhengigheter
# su - canvas $ cd /home/canvas/public_html $ yarn install
Konfigurer Canvas LMS
Kopier Canvas standard konfigurasjonsfiler:
$ cd /home/canvas/public_html $ 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
Rediger konfigurasjonsfiler og angi relevante databaseinnstillinger, domeneinnstillinger, serverinnstillinger for utgående e-post osv.
$ cp config/dynamic_settings.yml.example config/dynamic_settings.yml
$ vim config/dynamic_settings.yml
$ cp config/database.yml.example config/database.yml
$ vim config/database.yml
$ cp config/outgoing_mail.yml.example config/outgoing_mail.yml
$ vim config/outgoing_mail.yml
$ cp config/domain.yml.example config/domain.yml
$ vim config/domain.yml
$ cp config/security.yml.example config/security.yml
$ vim config/security.yml
Fyll Canvas-databasen
Kjør db:initial_setup for å lage databasetabeller og fylle databasen med innledende data. På dette trinnet vil du bli bedt om å opprette Canvas-administratorbruker.
$ mv db/migrate/20210823222355_change_immersive_reader_allowed_on_to_on.rb . $ mv db/migrate/20210812210129_add_singleton_column.rb db/migrate/20111111214311_add_singleton_column.rb $ yarn gulp rev $ RAILS_ENV=production bundle exec rake db:initial_setup $ mv 20210823222355_change_immersive_reader_allowed_on_to_on.rb db/migrate/. $ RAILS_ENV=production bundle exec rake db:migrate
Generer eiendeler
Kjør canvas:compile_assets for å generere malfiler.
$ mkdir -p log tmp/pids public/assets app/stylesheets/brandable_css_brands $ touch app/stylesheets/_brandable_variables_defaults_autogenerated.scss $ touch Gemfile.lock $ touch log/production.log
$ RAILS_ENV=production bundle exec rake canvas:compile_assets
Installer Apache webserver og Passenger
Deretter trenger vi en webserver for å betjene Canvas. Nginx og Apache er de mest populære alternativene. Vi skal installere Apache Passenger for denne guiden.
$ sudo apt-get install apache2
# Install our PGP key and add HTTPS support for APT sudo apt-get install -y dirmngr gnupg apt-transport-https ca-certificates curl curl https://oss-binaries.phusionpassenger.com/auto-software-signing-gpg-key.txt | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/phusion.gpg >/dev/null # Add our APT repository sudo sh -c 'echo deb https://oss-binaries.phusionpassenger.com/apt/passenger jammy main > /etc/apt/sources.list.d/passenger.list' sudo apt-get update # Install Passenger + Apache module sudo apt-get install -y libapache2-mod-passenger
Aktiver Passenger Apache-modulen og start Apache på nytt.
sudo a2enmod passenger sudo apache2ctl restart
Valider libapache2-mod-passasjer installasjonen. Kjør kommandoene nedenfor for å sikre at passasjer- og libapache2-mod-passasjermodulen er riktig installert.
sudo /usr/bin/passenger-config validate-install sudo /usr/sbin/passenger-memory-stats
Aktiver i tillegg mod_rewrite og mod_ssl for apache.
$ sudo a2enmod rewrite $ sudo a2enmod ssl
Konfigurer Canvas VirtualHost i Apache
Deaktiver standard Apache virtualhost-konfigurasjonsfil og lag en virtualhost-konfigurasjonsfil for lerretsapplikasjonen.
$ sudo unlink /etc/apache2/sites-enabled/000-default.conf $ sudo vim /etc/apache2/sites-available/canvas.conf
Kopier konfigurasjonen nedenfor til Canvas virtualhost-konfigurasjonsfil. Bytt ut Servernavn, ServerAlias, ServerAdmin, DocumentRoot og andre innstillinger som samsvarer med domenenavnet og appplasseringen.
<VirtualHost *:80>
ServerName canvas-test.webhostingzone.org
ServerAlias canvasfiles-test.webhostingzone.org
ServerAdmin youremail@example.com
DocumentRoot /home/canvas/public_html/public
RewriteEngine On
RewriteCond %{HTTP:X-Forwarded-Proto} !=https
RewriteCond %{REQUEST_URI} !^/health_check
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [L]
ErrorLog /var/log/apache2/canvas_errors.log
LogLevel warn
CustomLog /var/log/apache2/canvas_access.log combined
PassengerPreloadBundler on
SetEnv RAILS_ENV production
<Directory /home/canvas/public_html/public>
Options All
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
# If you are only serving HTTP behind a HTTPS-terminating load balancer, skip the next VirtualHost
<VirtualHost *:443>
ServerName canvas-test.webhostingzone.org
ServerAlias canvasfiles-test.webhostingzone.org
ServerAdmin youremail@example.com
DocumentRoot /home/canvas/public_html/public
ErrorLog /var/log/apache2/canvas_errors.log
LogLevel warn
CustomLog /var/log/apache2/canvas_ssl_access.log combined
SSLEngine on
BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown
# the following ssl certificate files are generated for you from the ssl-cert package.
SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem
SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
PassengerPreloadBundler on
SetEnv RAILS_ENV production
<Directory /home/canvas/public_html/public>
Options All
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
Aktiver Canvas virtuell vert
$ sudo a2ensite canvas
$ systemctl reload apache2
På dette tidspunktet skal du kunne få tilgang til Canvas via nettleseren. Åpne nettleseren din og skriv inn et domenenavn som ble spesifisert i Servernavn. Canvas standard påloggingsside skal vises.

Ytterligere Canvas Setup Steps
Hvis Canvas-påloggingssiden er lastet inn i nettleseren, er dette et godt tegn. Men vi må fullføre noen flere justeringer for å gjøre Canvas-læringsstyringssystemet med åpen kildekode klart for produksjon.
Installer SSL-sertifikat for Canvas
When Canvas domain name or sub-domain is pointed to server’s IP address we can proceed and install SSL certificate for Canvas LMS app. For this guide we will install a free LetsEncrypt SSL certificate.
Utfør følgende instruksjoner på kommandolinjen på maskinen for å sikre at du har den nyeste versjonen av snapd.
sudo snap install core; sudo snap refresh core
Fjern certbot-auto og eventuelle Certbot OS-pakker
sudo apt-get remove certbot
Installer Certbot
sudo snap install --classic certbot sudo ln -s /snap/bin/certbot /usr/bin/certbot
Installer SSL-sertifikat for Canvas ved hjelp av certbot
sudo certbot --apache
When SSL certificate is installed correctly you should see a lock icon and text “Connection secure” in a browser when accessing Canvas URI.

Installer Redis cache-server
It’s a good idea to install Redis cache server in order to optimize Canvas performance. Redis version 2.6.x or above is required. Add PPA repository and install Redis.
sysadmin@appserver:/var/canvas$ sudo add-apt-repository ppa:chris-lea/redis-server sysadmin@appserver:/var/canvas$ sudo apt-get update sysadmin@appserver:/var/canvas$ sudo apt-get install redis-server
Gå deretter tilbake til Canvas-kodekatalogen og rediger redis-konfigurasjonsfiler.
vim config/cache_store.yml
Legg til linjer nedenfor i filen:
test: cache_store: redis_cache_store development: cache_store: redis_cache_store production: cache_store: redis_cache_store
Rediger nå filen redis.yml og sett banen til redis-serveren der.
vim config/redis.yml
Hvis Redis er installert på samme server som Canvas, bør konfigurasjonen din være noe sånt som dette. Erstatt localhost med redis server IP hvis du installerte redis på ekstern server.
production: servers: - redis://localhost
Lagre konfigurasjonsfilen og start Canvas på nytt for å bruke endringer.
Installer QTIMigrationTool for Canvas
Sett opp Canvas Automated-jobber
Canvas automatiserte jobber bør kjøres for å generere rapporter, sende e-poster osv. Neste kommandoer vil konfigurere og starte Canvas forsinkede jobber.
canvas$ sudo ln -s /home/canvas/public_html/script/canvas_init /etc/init.d/canvas_init canvas$ sudo update-rc.d canvas_init defaults canvas$ sudo /etc/init.d/canvas_init start
Installer RCE API for Rich Content Editor
Feilsøking av Canvas-installasjonsfeil
1. Programmet oppdaget følgende feil: Du har allerede aktivert strscan 3.0.1, men Gemfilen krever strscan 3.0.6. Siden strscan er en standard perle, kan du enten fjerne avhengigheten din av den eller prøve å oppdatere til en nyere versjon av bundler som støtter strscan som en standard perle. (Gem::LoadError)
Solution: preload Bundler with "PassengerPreloadBundler on" Apache configuration option
2. Common errors during compile assets: FrozenError: can’t modify frozen Array
Solution: delete Canvas project folder, download files from Github again and repeat installation steps.
Studiepoeng
- Canvas Production Start – https://github.com/instructure/canvas-lms/wiki/Production-Start
- Installing Passenger – https://www.phusionpassenger.com/docs/advanced_guides/install_and_upgrade/apache/install/oss/jammy.html
- Canvas LMS Installation Service – https://www.webhostingzone.org/solutions/canvas-lms-installation.html






