ethanthekiwi's picture

I downloaded and installed Turnkey Canvas (version 14.1) using an OVA. I'm working on Microsoft SSO and I think if I update, it will work better (https://community.canvaslms.com/docs/DOC-8403#jive_content_id_Authentica...). The only upgrade instructions I could find were on Git (https://github.com/instructure/canvas-lms/wiki/Upgrading) and they might be a bit beyond my Linux knowledge.

First question, is their an easier way to upgrade Canvas itself (not the OS or the rest of the stack)?

If this is the only way to upgrade, they mention getting files from Git. I've never worked with Git before, but should I pull files from https://github.com/instructure/canvas-lms/ or https://github.com/turnkeylinux-apps/canvas ?

Forum: 
Jeremy Davis's picture

Unfortunately, while it looks lovely and many people swear by it; under the hood Canvas is an incredibly complex beast. Probably about a quarter of our appliance maintenance budget is chewed up by Canvas alone!

And yes, AFAIK they are the correct upgrade instructions. However, please note that they were last updated 21 Dec 2014 so may not be 100% relevant (but as good a place to start as any). I suggest that you also consult the install instructions as well as there may be new/updated dependencies (in fact there are, I can see it now requires Ruby 2.3). I suggest you start reading here.

My first general piece of advice would be to start a fresh VM. DO NOT work on your production server as the chances of something breaking are quite high. Especially as you are not particularly experienced with Linux and upgrading source code. You could just start with an empty VM, although I recommend that you migrate your existing data (assuming you have data) to the new VM so it's an (almost) real world situation. TKLBAM will come in handy for migrating your data in. Please note that your backup will include the version of Canvas, so don't upgrade and then migrate your data in.

My second general piece of advice is document EVERYTHING you do. That way you can rinse and repeat if something goes wrong. The bonus of that you can then share your upgrade docs for the benefit of other TurnKey users.

Also please note, as mentioned on the appliance page we install Canvas to /var/www/canvas (not /var/canvas as noted in the install doc). We also use Redis-server from the Debian repos. According to the upgrade instructions you need redis-server 2.6+. Debian packages v2.8.17. Perhaps that is good enough? Or perhaps the requirements have changed (and nobody has updated the doc)? Regardless, jessie-backports has v3.2.6 if you need a newer version. As also noted above, you need Ruby 2.3. Unfortunately that isn't backported for Jessie so you will need to follow the install instructions. Normally I would not recommend that you install from an Ubuntu PPA (as the install docs recommend) however, you may not have much choice...

If you get stuck, please feel free to post questions etc. I can't guarantee I'll have the answers but I'll do my best... :)

Jeremy Davis's picture

You'll need to use the Instructure repo as that has the Canvas code. Our Canvas repo is the build code for the appliance.
ethanthekiwi's picture

Thanks for the advice. The more I look at this, the more I think that it's a bit beyond my skills right now. I'm going to put this project on the shelf for now.

One thought I did have was wondering if Moodle is any easier to administrate. I've heard from a few people that Canvas has a preferable user experience, but I don't want to launch a system and not be able install upgrades.

I've been working with Wordpress for a long time and am comfortable with Linux basics like SSH, FTP, upgrading PHP. But Wordpress software updates are generally rather easy and don't involve much digging into deeper Linux. 

Jeremy Davis's picture

Moodle is a PHP application (as per WordPress and ~90% of other popular web apps). Whereas Canvas is written in Ruby. If you are familiar with basic server admin, then I imagine that you will find managing a Moodle server much easier than managing a Canvas server.

With regards to user experience, TBH I have never used Canvas, but I have used Moodle and found it fine. Canvas certainly does look sexy OOTB, but I have seen some beautiful looking Moodle sites. The default look of Moodle is a bit bland and ugly last time I checked, but it can be customized to look totally different if you are that way inclined. Just adjusting the CSS can make it look quite different without too much work.

It's been ages since I played with Moodle, but last time I did, upgrading wasn't as easy as WordPress has become in recent years. However, it was MUCH easier than Canvas.

Another plus is that Moodle is much less resource intensive so should generally be more responsive than a Canvas server with similar available resources.

Add new comment