Skip to content

Instantly share code, notes, and snippets.

@tunglam14
Last active October 1, 2015 04:16
Show Gist options
  • Save tunglam14/e5ec797beac14494a5a5 to your computer and use it in GitHub Desktop.
Save tunglam14/e5ec797beac14494a5a5 to your computer and use it in GitHub Desktop.
Installing canvas lms

Server specifications

  • Ubuntu 12.04
  • 2GB RAM, 1 CPU (Min)

Dependencies

  • Ruby 2.1
  • bundler
  • Nodejs 0.10
  • PostgreSQL 9.3
  • Redis-server
  • Git
  • Nginx or Apache
  • Other: zlib1g-dev libxml2-dev libpq-dev libxmlsec1-dev curl make g++

Configuations

Deployment stack

Apache/Passenger: https://github.com/instructure/canvas-lms/wiki/Production-Start#configure-canvas-with-apache Or Nginx/Passenger: https://www.phusionpassenger.com/documentation/Users%20guide%20Nginx.html

Installation

Step

    1  apt-get update
    2  export LANGUAGE=en_US.UTF-8
    3  export LANG=en_US.UTF-8
    4  export LC_ALL=en_US.UTF-8
    5  locale-gen en_US.UTF-8
    6  apt-get install locales
    7  dpkg-reconfigure locales 
    8  vim /root/.bashrc 
    9  apt-get update && apt-get upgrade
   10  apt-get install python-software-properties
   11  sudo apt-get install postgresql-9.1
   12  sudo -u postgres createuser canvas --no-createdb --no-superuser --no-createrole --pwprompt
   13  sudo -u postgres createdb canvas_production --owner=canvas
   14  sudo -u postgres createdb canvas_queue_production --owner=canvas
   15  apt-get install git
   16  cd /usr/local/
   17  git clone https://github.com/instructure/canvas-lms.git canvas
   18  git branch --set-upstream stable origin/stable
   19  cd canvas/
   20  git branch --set-upstream stable origin/stable
   21  sudo apt-add-repository ppa:brightbox/ruby-ng
   22  apt-get update
   23  apt-get install ruby2.1
   24  curl -sL https://deb.nodesource.com/setup_0.10 | sudo bash -
   25  sudo apt-get install nodejs
   27  apt-get install ruby2.1-dev 
   28  apt-get install zlib1g-dev libxml2-dev libpq-dev libxmlsec1-dev curl make g++ libxmlsec1-dev libcurl4-gnutls-dev libxmlsec1 build-essential
   32  gem install bundler -v '1.7.10'
   44  apt-get install libsqlite3-dev 
   45  bundle install --path vendor/bundle --without sqlite mysql
   46  cp config/database.yml.example config/database.yml
   47  vim config/database.yml
   48  cp config/outgoing_mail.yml.example config/outgoing_mail.yml
   49  vim config/outgoing_mail.yml
   50  cp config/domain.yml.example config/domain.yml
   51  ip a
   52  vim config/domain.yml
   53  cp config/security.yml.example config/security.yml
   54  vim config/security.yml
   55  RAILS_ENV=production bundle exec rake db:initial_setup
   56  mkdir -p log tmp/pids public/assets public/stylesheets/compiled
   57  touch Gemfile.lock
   60  cat Gemfile.lock 
   62  npm install
   63  bundle exec rake canvas:compile_assets
   64  npm install --save handlebars
   65  bundle exec rake canvas:compile_assets
   66  npm install -g bower
   67  bower install
   68  bower install --allow-root
   69  bower help install 
   70  bower help install --allow-root
   71  cat bower.json 
   72  bower install --allow-root
   73  bower --allow-root install
   74  bundle exec rake canvas:compile_assets
   75  ls
   76  cat bower.json 
   77  ls -la bower.json 
   78  bower help
    ...
   80  npm help
   81  npm search ember
   86  vim package.json 
   87  npm install
    ...
  117  bundle exec rake canvas:compile_assets
  118  apt-get redis-server
  119  apt-get install redis-server
  120  cp config/cache_store.yml.example config/cache_store.yml
  121  vim config/cache_store.yml
  122  cp config/redis.yml.example config/redis.yml
  123  vim config/redis.yml
  124  byobu
  125  apt-add-repository ppa:chris-lea/redis-server
  126  apt-get update
  127  apt-get install redis-server
  128  service redis-server restart
  129  redis-cli INFO

packages.json

{
  "name": "canvas-lms",
  "version": "0.0.0",
  "dependencies": {
    "autoprefixer": "^2.2.0",
    "coffee-script": "1.6.2",
    "compute-cluster": "0.0.9",
    "ember": "~0.9",
    "ember-data": "1.13.7",
    "ember-template-compiler": "^1.7.0",
    "glob": "~3.2.9",
    "handlebars": "^1.3.0",
    "i18nliner": "0.0.16",
    "i18nliner-handlebars": "0.0.9",
    "js-yaml": "^3.1.0",
    "jsdom": "^0.8.11",
    "lodash": "^2.4.1",
    "minimist": "^1.1.0",
    "mkdirp": "^0.5.0",
    "node-sass": "0.9.3",
    "react-tools": "0.11.2",
    "requirejs": "~2.1.10",
    "uglify-js": "~2.4.12"
  },
  "devDependencies": {
    "fleck": "~0.5.1",
    "gglobby": "0.0.2",
    "karma": "~0.10.9",
    "karma-coffee-preprocessor": "0.1.3",
    "karma-coverage": "~0.1.4",
    "karma-firework-reporter": "~0.2.4",
    "karma-ie-launcher": "~0.1.1",
    "karma-opera-launcher": "~0.1.0",
    "karma-osx-reporter": "0.0.4",
    "karma-qunit": "~0.1.1",
    "karma-requirejs": "^0.2.2",
    "karma-safari-launcher": "~0.1.1",
    "testem": "~0.7.1",
    "xsslint": "0.1.0"
  },
  "repository": {
    "type": "git",
    "url": "git://github.com/instructure/canvas-lms.git"
  },
  "scripts": {
    "test": "./node_modules/karma/bin/karma start --browsers Chrome,Firefox,Safari --single-run",
    "compress": "node script/compress.js",
    "compile-sass": "node script/compile-sass.js",
    "preinstall": "script/gem_npm install",
    "preupdate": "script/gem_npm update"
  }
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment