Η εγκατάσταση του Canvas LMS είναι εύκολη αν το κάνατε πριν. Αλλά για πρώτη φορά μπορεί να είναι δύσκολο. Εάν αυτή είναι η πρώτη φορά που προσπαθείτε να εγκαταστήσετε το Canvas LMS, τότε πρέπει οπωσδήποτε να διαβάσετε αυτόν τον οδηγό εγκατάστασης του Canvas LMS. Μέσα θα βρείτε πολλές χρήσιμες συμβουλές που θα σας βοηθήσουν να ρυθμίσετε τον διακομιστή παραγωγής Canvas LMS.
Για αυτόν τον οδηγό θα χρησιμοποιήσουμε α VPS με Ubuntu 22.04 LTS 64 bit. Ο διακομιστής διαθέτει 8 GB μνήμης RAM και 4 πυρήνες CPU. Πληροί ελάχιστες απαιτήσεις υλικού για το ανοιχτού κώδικα Canvas LMS. Δεν συνιστούμε την εγκατάσταση του Canvas σε υλικό με χαμηλότερες προδιαγραφές, καθώς η εγκατάσταση μπορεί να αποτύχει. Επίσης, δεν συνιστούμε να χρησιμοποιήσετε άλλο λειτουργικό σύστημα εκτός από το Ubuntu. Η εγκατάσταση Canvas LMS στα Windows δεν υποστηρίζεται.
Πριν ξεκινήσετε την εγκατάσταση, ελέγξτε μας Υπηρεσία φιλοξενίας Canvas LMS. Η υπηρεσία προσφέρει διακομιστές διαχείρισης cloud με προεγκατεστημένο Canvas LMS ανοιχτού κώδικα. Μπορείτε να αρχίσετε να χρησιμοποιείτε το LMS χωρίς την ταλαιπωρία της εγκατάστασης και διαχείρισης των δικών σας διακομιστών.
Βήματα εγκατάστασης Canvas LMS
Ενημερώστε το σύστημα
Πρώτα από όλα θα πρέπει να ενημερώσουμε τον διακομιστή και τα πακέτα στην πιο πρόσφατη έκδοση.
# sudo apt update && apt upgrade -y
Εγκαταστήστε τον διακομιστή βάσης δεδομένων PostgreSQL
Στη συνέχεια εγκαθιστούμε και διαμορφώνουμε τον διακομιστή βάσης δεδομένων PostgreSQL. Όταν γράφω αυτό το άρθρο, το postgresql-14 είναι διαθέσιμο.
# 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
Κάντε λήψη του κώδικα Canvas στον διακομιστή
We will use Git to get Canvas code. Install Git if you don’t have it already.
# sudo apt install git-core
Σε αυτό το βήμα θα δημιουργήσουμε έναν ξεχωριστό χρήστη συστήματος για την εφαρμογή Canvas LMS. Θα κατεβάσουμε τον κώδικα Canvas και θα τον εγκαταστήσουμε σε αυτόν τον λογαριασμό.
# 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
Εγκαταστήστε τις εξαρτήσεις Canvas LMS
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
Εγκαταστήστε το 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++
Εγκαταστήστε το 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
Εγκαταστήστε το Bundler and 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
Εγκαταστήστε το νήμα
# sudo npm -g install yarn
Εγκαταστήστε τις εξαρτήσεις NodeJS
# su - canvas $ cd /home/canvas/public_html $ yarn install
Διαμόρφωση Canvas LMS
Αντιγραφή προεπιλεγμένων αρχείων διαμόρφωσης Canvas:
$ 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
Επεξεργαστείτε τα αρχεία διαμόρφωσης και εισαγάγετε σχετικές ρυθμίσεις βάσης δεδομένων, ρυθμίσεις τομέα, ρυθμίσεις διακομιστή εξερχόμενης αλληλογραφίας κ.λπ.
$ 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
Συμπληρώστε τη βάση δεδομένων Canvas
Εκτελέστε το db:initial_setup για να δημιουργήσετε πίνακες βάσεων δεδομένων και να συμπληρώσετε τη βάση δεδομένων με αρχικά δεδομένα. Σε αυτό το βήμα θα σας ζητηθεί να δημιουργήσετε χρήστη διαχειριστή Canvas.
$ 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
Δημιουργία περιουσιακών στοιχείων
Εκτελέστε το canvas:compile_assets για να δημιουργήσετε αρχεία προτύπων.
$ 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
Εγκαταστήστε τον διακομιστή ιστού Apache και τον επιβάτη
Στη συνέχεια χρειαζόμαστε έναν διακομιστή ιστού για την εξυπηρέτηση του Canvas. Το Nginx και το Apache είναι οι πιο δημοφιλείς επιλογές. Θα εγκαταστήσουμε το Apache Passenger για αυτόν τον οδηγό.
$ 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
Ενεργοποιήστε τη λειτουργική μονάδα Passenger Apache και επανεκκινήστε τον Apache.
sudo a2enmod passenger sudo apache2ctl restart
Επικυρώστε την εγκατάσταση του libapache2-mod-passenger. Εκτελέστε τις παρακάτω εντολές για να βεβαιωθείτε ότι η μονάδα επιβατών και libapache2-mod-passenger έχουν εγκατασταθεί σωστά.
sudo /usr/bin/passenger-config validate-install sudo /usr/sbin/passenger-memory-stats
Επιπλέον, ενεργοποιήστε τα mod_rewrite και mod_ssl για apache.
$ sudo a2enmod rewrite $ sudo a2enmod ssl
Διαμόρφωση του Canvas VirtualHost στον Apache
Απενεργοποιήστε το προεπιλεγμένο αρχείο διαμόρφωσης virtualhost του Apache και δημιουργήστε ένα αρχείο διαμόρφωσης virtualhost για την εφαρμογή καμβά.
$ sudo unlink /etc/apache2/sites-enabled/000-default.conf $ sudo vim /etc/apache2/sites-available/canvas.conf
Αντιγράψτε τη διαμόρφωση παρακάτω στο αρχείο διαμόρφωσης εικονικού κεντρικού υπολογιστή Canvas. Αντικαταστήστε ServerName, ServerAlias, ServerAdmin, DocumentRoot και άλλες ρυθμίσεις που ταιριάζουν με το όνομα τομέα και την τοποθεσία της εφαρμογής σας.
<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>
Ενεργοποίηση εικονικού κεντρικού υπολογιστή Canvas
$ sudo a2ensite canvas
$ systemctl reload apache2
Σε αυτό το σημείο θα πρέπει να έχετε πρόσβαση στο Canvas μέσω του προγράμματος περιήγησης. Ανοίξτε το πρόγραμμα περιήγησής σας και πληκτρολογήστε ένα όνομα τομέα που καθορίστηκε Όνομα διακομιστή. Θα πρέπει να εμφανιστεί η προεπιλεγμένη σελίδα σύνδεσης στον καμβά.

Περαιτέρω βήματα ρύθμισης καμβά
Εάν η σελίδα σύνδεσης Canvas έχει φορτωθεί στο πρόγραμμα περιήγησης, αυτό είναι καλό σημάδι. Ωστόσο, πρέπει να ολοκληρώσουμε μερικές ακόμη τροποποιήσεις για να κάνουμε το σύστημα διαχείρισης εκμάθησης ανοιχτού κώδικα Canvas έτοιμο για παραγωγή.
Εγκαταστήστε πιστοποιητικό SSL για 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.
Εκτελέστε τις παρακάτω οδηγίες στη γραμμή εντολών του μηχανήματος για να βεβαιωθείτε ότι διαθέτετε την πιο πρόσφατη έκδοση του snapd.
sudo snap install core; sudo snap refresh core
Καταργήστε το certbot-auto και τυχόν πακέτα λειτουργικού συστήματος Certbot
sudo apt-get remove certbot
Εγκαταστήστε το Certbot
sudo snap install --classic certbot sudo ln -s /snap/bin/certbot /usr/bin/certbot
Εγκαταστήστε το πιστοποιητικό SSL για Canvas χρησιμοποιώντας το 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.

Εγκαταστήστε τον διακομιστή cache Redis
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
Στη συνέχεια, επιστρέψτε στον κατάλογο κώδικα Canvas και επεξεργαστείτε τα αρχεία διαμόρφωσης redis.
vim config/cache_store.yml
Προσθέστε τις παρακάτω γραμμές στο αρχείο:
test: cache_store: redis_cache_store development: cache_store: redis_cache_store production: cache_store: redis_cache_store
Τώρα επεξεργαστείτε το αρχείο redis.yml και ορίστε τη διαδρομή στον διακομιστή redis εκεί.
vim config/redis.yml
Εάν το Redis είναι εγκατεστημένο στον ίδιο διακομιστή με το Canvas, τότε η διαμόρφωσή σας θα πρέπει να είναι κάπως έτσι. Αντικαταστήστε το localhost με την IP του διακομιστή redis, εάν έχετε εγκαταστήσει το redis σε εξωτερικό διακομιστή.
production: servers: - redis://localhost
Αποθηκεύστε το αρχείο διαμόρφωσης και επανεκκινήστε το Canvas για να εφαρμόσετε αλλαγές.
Εγκαταστήστε το QTIMIgrationTool για καμβά
Ρύθμιση αυτοματοποιημένων εργασιών Canvas
Οι αυτοματοποιημένες εργασίες καμβά θα πρέπει να εκτελούνται για τη δημιουργία αναφορών, αποστολή μηνυμάτων ηλεκτρονικού ταχυδρομείου κ.λπ. Οι επόμενες εντολές θα διαμορφώσουν και θα ξεκινήσουν τις καθυστερημένες εργασίες Καμβά.
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
Εγκαταστήστε το RCE API για το πρόγραμμα επεξεργασίας εμπλουτισμένου περιεχομένου
Αντιμετώπιση προβλημάτων σφαλμάτων εγκατάστασης καμβά
1. Η εφαρμογή αντιμετώπισε το ακόλουθο σφάλμα: Έχετε ήδη ενεργοποιήσει το strscan 3.0.1, αλλά το Gemfile σας απαιτεί strscan 3.0.6. Δεδομένου ότι το strscan είναι ένα προεπιλεγμένο στολίδι, μπορείτε είτε να καταργήσετε την εξάρτησή σας από αυτό είτε να δοκιμάσετε να ενημερώσετε σε μια νεότερη έκδοση του bundler που υποστηρίζει το strscan ως προεπιλεγμένο στολίδι. (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.
Πιστώσεις
- 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






