- Ubuntu 12.04
- 2GB RAM, 1 CPU (Min)
- 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++
- Amazon S3: https://github.com/instructure/canvas-lms/blob/stable/config/amazon_s3.yml.example
- Database: https://github.com/instructure/canvas-lms/blob/stable/config/database.yml.example
- Outgoing mail (SMTP): https://github.com/instructure/canvas-lms/blob/stable/config/outgoing_mail.yml.example
- Site address: https://github.com/instructure/canvas-lms/blob/stable/config/domain.yml.example
- Security: https://github.com/instructure/canvas-lms/blob/stable/config/security.yml.example
- Cache store: https://github.com/instructure/canvas-lms/blob/stable/config/cache_store.yml.example
- Background job: https://github.com/instructure/canvas-lms/blob/stable/config/delayed_jobs.yml.example https://github.com/instructure/canvas-lms/wiki/Production-Start#installation-1
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
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"
}
}