Install And Configure SchoolTool On Ubuntu

Install And Configure SchoolTool On Ubuntu


SchoolTool is a free, open source, web-based student information system for a single school. It can be used to manage any of the following records a school might keep:

  • Student enrollment and demographics
  • Grading and grade reporting
  • Racking student achievement of skills, competencies or outcomes,

It is also a framework for building customized applications and configurations for individual schools or states. SchoolTool has strong support for translation, localization and automated deployment and updates via the Ubuntu Linux installer and package management system.

SchoolTool is created by the most popular man of the Linux world Mr.Mark Shuttleworth, the founder of Canonical and Ubuntu. It is now maintained by Mr.Tom Hoffman and dozens of active contributors. It is written in Python language using the Zope 3 framework, and is licensed under GNU GPL2. SchoolTool is a complete stack web application that means it comes with a own web server and a database. Right now, It is available only for Ubuntu, and It is highly recommended to use it only on Ubuntu LTS versions such as Ubuntu 14.04 or Ubuntu 12.04 etc. Be mindful that SchoolTool is not a learning management system like Moodle, and it doesn’t include any subject materials or contents.

The objective of this article is to provide you with an understanding of installation and configuration of SchoolTool.


  • Customizable student and teacher demographics and other personal data;
  • Contact management for teachers, students, and their guardians;
  • Teacher gradebooks;
  • Skill and outcomes based assessment;
  • Schoolwide assessment data collection and report card generation;
  • Class attendance and daily participation grades;
  • Calendars for the school, groups, individuals, and resource booking;
  • Tracking and management of student interventions;
  • And many.

Install SchoolTool on Ubuntu 14.04

Step 1: Install Prerequisites

As mentioned above SchoolTool comes with a built-in web server. Also, you can use other external webservers if you want.

Here, we will use Apache web server with SchoolTool. Before get started install SchoolTool, you need to install a web server on Ubuntu (Apache, PHP, MySQL) called LAMP server, open terminal then running following commands:

sudo apt-get install lamp-server^

The bare minimum RAM requirement for testing is estimated to be 512 megabytes. At least 1 gigabyte of RAM, plus at least 2 gigabytes of swap space is recommended and if you are setting up for a small production server, adding more than 1 gigabyte of RAM is worth it if you can afford it. More memory equals faster database performance.

Step 2: Adding SchoolTool’s Package Repository

SchoolTool 2.8 and later releases are organized by numbered PPA. It does not publish its software on the official Ubuntu package repositories, so you will need to add the address of their repository to your server:

sudo add-apt-repository ppa:schooltool-owners/2.8

Thus, to install or upgrade to SchoolTool 2.8, add the 2.8 PPA to your server’s sources list.

Using the command line:

$ sudo add-apt-repository ppa:schooltool-owners/2.8 

If you get an “add-apt-repository not found” error, install it:

$ sudo apt-get install software-properties-common

Step 3: Installing SchoolTool

After adding SchoolTool’s repository to your server, enter at the command line  to install SchoolTool 

$ sudo apt-get update 
$ sudo apt-get install schooltool

After installation, the schooltool server can be accessed only from the localhost on the port 7080.

You can allow public Internet access to Shooltool  by following the instructions:

Open SchoolTool’s paste.ini configuration file on your server in nano, a terminal-based text editor.

sudo nano /etc/schooltool/standard/paste.ini

You will see like this example:

use = egg:Paste#urlmap
/ = schooltool
/schooltool.task_results = task_results
use = egg:schooltool#main
use = egg:schooltool#task_results
use = egg:zope.server
host =
port = 7080

Replace with

use = egg:zope.server
host =
port = 7080

Save your changes to the configuration file and to apply the changes to SchoolTool, you will need to restart it.

sudo service schooltool restart

Now you can take a moment to view SchoolTool in your browser, to make sure everything is working so far.

Step 4: Configuring Port 80 Access (Optional)

The standard SchoolTool instance runs on port 7080, but most web traffic runs over port 80 – the standard HTTP port.By using a well-known web server such as Apache HTTP Server, you can change SchoolTool’s default port to 80.

To configure Apache as a proxy server listening to port 80 on and passing traffic to SchoolTool on port 7080, you will need root access to the Apache server.

Begin by creating a new file in your Apache configuration directory, /etc/apache/sites-available/, containing the following:

<VirtualHost *:80>
<Proxy *>
order allow,deny
allow from all
deny from none
ProxyPreserveHost on
RewriteEngine On
RewriteRule ^/schooltool.task_results(/?.*)$1 [P,L]
RewriteRule ^(/?.*)$1 [P,L]

You will need to enable Apache modules mod_proxy, mod_proxy_http and mod_rewrite:

sudo a2enmod proxy sudo a2enmod proxy_http sudo a2enmod rewrite 

Then enable the site and restart apache:

sudo a2ensite sudo service apache reload

Step 5: Start using and configureing  SchoolTool

Open your browser, and visit the URL or http://your_server_ip:7080, depending on your desired configuration.

You should see the default calendar page.

Calendar view

In the upper right-hand corner, click on the Log in link.

Use the default SchoolTool login credentials:

  • Username: manager
  • Password: schooltool

Then press the Log in button to log in.

Login screen

You’re now logged in to SchoolTool.

To change the password for the manager account.

Click on the Home tab in the navigation menu located at the top of the web page. Next, click on theSettings > Password link in the left-hand navigation menu.

Left-hand navigation menu

Type in the current password, schooltool. Then type in your new password twice, and press the Apply button.

A Password changed successfully popup will appear. From now on, you should use this password to log in to the SchoolTool.

“Password changed successfully” popup

If you want to add teachers and students, set up grade books, and more check the full SchoolTool manual, refer to The SchoolTool Book, a knowledge base maintained by the developers of SchoolTool.

Now that you have installed SchoolTool, you have a free alternative that will allow your school to manage student records from a browser-based application.