CanDo Installation
This document is intended for IT/technical staff at CanDo Project sites. It is assumed that the audience is familiar with system administration and that adding a host (network configuration, DNS, etc.) is a familiar activity. Familiarity with Linux is not assumed, though the reader will be expected to read and digest some of the official Ubuntu Linux documentation along the way.
Technology Stack
CanDo runs on the Ubuntu Linux operating system. It is written in Python, as an extension of the SchoolTool Student Information System. SchoolTool is itself built on the Zope 3 Web application Framework. We recommend proxying your server behind Apache + SSL. Use of the Firefox Web browser is required.
All software is free and open source.
Paid support for Ubuntu is available through Canonical.
Hardware Requirements
A good discussion of minimum hardware requirements can be found at the SchoolTool site.
The long and short of it is, SchoolTool and CanDo like memory. Your system should be sufficiently performant with 1GB+ of RAM. Any hardware that runs Linux well should be fine.
OS Install
Download Ubuntu Server 10.04 LTS
Read the official documentation. System administrators completely unfamiliar with UNIX-like operating systems may want to familiarize themselves with the command line.
If you wish to access the server remotely (i.e., not from the physical console), you should select OpenSSH server when prompted to make a software selection.
After installation, you will want to configure your new host with a static IP address. You will need to restart networking for the changes to take effect:
sudo /etc/init.d/networking restart
Firewall Settings
For day-to-day operation, ports 22, 80, and 443 will need to be open to your CanDo server. Your server will also need access to port 80 outgoing in order to receive sotware updates. For setup, your server will need outgoing access to port 11371, so that the SchoolTool package repository's key can be added to the package mangement system. Outgoing 11371 can be tightened up after the install.
Proxy Server
Although it is possible, we do not recommend proxying requests to CanDo. Larger divisions, with many simultaneous users, may experience poor performance as a result of the proxy server. If you must use a proxy, bear this in mind should you need to troubleshoot performance issues.
Software Install
These instructions are adapted from the SchoolTool installation instructions.
Add SchoolTool PPA to your software sources.
sudo apt-get install python-software-properties -y sudo add-apt-repository ppa:schooltool-owners/ppa
Update your software list and upgrade all software.
Type
sudo apt-get update && sudo apt-get upgrade
Install schooltool-cando.
Type
sudo apt-get install schooltool-cando
(and answer “y” to the subsequent questions)If all goes well, many, many small Zope components will be installed and you’ll have a SchoolTool server running on http://localhost:7090.
To test you can install the links command line Web browser
sudo apt-get install links links http://localhost:7090
You should see an all text view of the CanDo calendar.
If you are accessing your server across the network, of course you will use the host name to access the server (e.g., http://cando.example.edu:7090). However, the CanDo server is not set up for access across a network by default. You will need to edit a configuration file
sudo nano /etc/schooltool/schooltool-cando/paste.ini
Change the host= line to
host = 0.0.0.0
And restart the server
sudo /etc/init.d/schooltool-cando restart
You should now be able to access the server on it public address. Note that you will probably want to reset host = 127.0.0.1 after configuring Apache.The login is “manager” and the default password is “schooltool”. After logging in you can change this by clicking the account name in the upper right corner and clicking the change password tab.
Apache + SSL configuration
We recommend proxying CanDo over Apache with SSL so that sensitive information, such as passwords, is not transmitted in the clear over your network. You will need to install and configure the Apache Web server and set up a self-signed certificate.
- Complete instructions for generating self-signed server certificate (SSL)
- Official Ubuntu Apache configuration documentation.
Be sure to enable the Apache SSL and proxy modules:
sudo a2enmod ssl sudo a2enmod proxy sudo a2enmod proxy_http sudo /etc/init.d/apache2 force-reload
Here is an example Apache virtual host configuration file. To download it to your server type
wget http://cando.cteresource.org/example-apache.conf -O cando.confEdit the file by typing
nano cando.confChange hostnames, e-mail address, certificate and key file names, etc. Make this configuration available to Apache by typing
sudo cp cando.conf /etc/apache2/sites-available/cando.confTo enable the site, type
sudo a2ensite cando.conf sudo /etc/init.d/apache2 restart
Import Competencies
To import the official Virginia competencies from the command line:
wget http://cando.cteresource.org/verso_export.xml.tar.gz tar xvzf verso_export.xml.tar.gz sudo apt-get -y install curl curl -c cookies.txt -d 'username=manager&password=schooltool&LOGIN=submit' http://localhost:7090/auth/@@login.html curl -b cookies.txt -F xmlfile=@verso_export.xml -F charset=UTF-8 -F UPDATE_SUBMIT=Submit http://localhost:7090/competencies/xmlimport.html rm cookies.txt
Note: You will need to change the password here, if you changed the manager password earlier. If you are working from behind a proxy, you can make the curl commands work by inserting --noproxy localhost between curl and the other switches (e.g., curl --noproxy localhost -c cookies.txt . . .).
The competencies can also be uploaded using the Firefox Web browser, if your desktop machine can decompress and unarchive the competencies file. First download verso_export.xml.tar.gz. Decompress and unarchive the file. Then log into CanDo as manager, click Competencies and select Import Competencies from XML from the Actions Menu. Upload the file.
It is normal for the competency import to take a few minutes.
Enable PDF Report Creation
If you would like to enable creation of PDF reports, install the msttcorefonts package and restart CanDo:
sudo apt-get update && sudo apt-get upgrade sudo apt-get install msttcorefonts sudo /etc/init.d/schooltool-cando restart
