SchoolTool is an open-source student management system alternative to Blackboard or Pearson’s PowerSchool. It can be used to manage any of the following records a school might keep:
School administrators, clerks, students, and teachers can access SchoolTool using a typical web browser. Unlike PowerSchool, it does not require the Java Runtime Environment.
Make sure you have these prerequisites before you begin.
The SchoolTool team 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
When prompted, press ENTER.
Now that SchoolTool’s repository is added to your server, update your server’s package list.
sudo apt-get update
Then, install SchoolTool.
sudo apt-get install schooltool
SchoolTool will install a vast assortment of Python packages along with the SchoolTool software itself, so this can take a few minutes. Python is the programming language that SchoolTool is written in. Those of you who are experienced sysadmins will notice that SchoolTool does not require a LAMP stack for serving web pages or storing data. According to SchoolTool’s developers, the use of Python apps provides more stability in day-to-day operation and during program updates.
By default, SchoolTool is accessible only from the computer where it’s installed. In this section, we will open it up to public Internet access.
paste.ini configuration file on your server in nano, a terminal-based text editor.
sudo nano /etc/schooltool/standard/paste.ini
Use the down arrow on your keyboard to move your cursor towards the bottom of the file. You will see this:
[server:main] use = egg:zope.server host = 127.0.0.1 port = 7080
Use the arrow and BACKSPACE keys to replace
[server:main] use = egg:zope.server host = 0.0.0.0 port = 7080
Press the CONTROL + X keys simultaneously for a moment. At the bottom of your screen, nano will ask you this:
Save modified buffer (ANSWERING "No" WILL DESTROY CHANGES) ? Y Yes N No ^C Cancel
Press the Y key on your keyboard to save your changes to the configuration file.
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.
Open your browser, and visit the URL
http://your_server_ip:7080, depending on your desired configuration. Note that for now, you need to add the
:7080 port number. The next section will show you how to access the server on the default port (
80), which should make it easier for more users to access.
You should see the default calendar page.
SchoolTool’s default port is
7080. However, most users will be more comfortable accessing it on port
80, which is one of the normal ports used by web browsers. That means people will be able to access the server at
example.com rather than
If you do not have any programs (e.g., Apache or Nginx) using port
80 on your server, you can change SchoolTool’s default port to
80 by following the instructions in this section. If you already have a program on your server that uses port
80, you will have to use the default port
7080 or create a new server specifically for SchoolTool.
You can use
iptables to forward port
80 to port
7080. Assuming your server is connected to the internet using the interface
eth0, use the following commands to accomplish this. If your server is a DigitalOcean Droplet, you are connected to the Internet using the interface
Execute these three commands on your server to set up port forwarding:
sudo iptables -A INPUT -i eth0 -p tcp --dport 80 -j ACCEPT sudo iptables -A INPUT -i eth0 -p tcp --dport 7080 -j ACCEPT sudo iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 7080
Now you will be able to log into SchoolTool using the URL
http://your_server_ip, depending on your desired configuration.
Use your favorite web browser to access SchoolTool. SchoolTool’s home page is the Calendar page by default.
In the upper right-hand corner, click on the Log in link.
Use the default SchoolTool login credentials:
Then press the Log in button to log in.
You’re now logged in to SchoolTool.
Now that you have logged into SchoolTool, you will want to make the following changes:
First we’ll update the password for the manager account. Do not leave this with the default password; otherwise, anyone could log into the account.
Click on the Home tab in the navigation menu located at the top of the web page. Next, click on the Settings > Password link in the left-hand navigation menu.
Type in the current password, schooltool. Then type in your new password twice, and press the Apply button. Please choose a strong password.
A Password changed successfully popup will appear. From now on, you should use this password to log in to the SchoolTool control panel.
Next we’ll change your school’s name and logo.
Click on the School tab in the navigation bar located at the top of the web page. Then, click on the Customize > School Name link in the left-hand navigation menu.
Replace Your School with the name of your school. In this tutorial, we’ll use DigitalOcean Academy.
Click on the Choose File button to upload an image from your computer to use as your school’s logo. Once you have selected an image to use, press the Submit button to save your changes.
When the page reloads, SchoolTool will use the name and logo of your school instead of its defaults.
Now that you have installed SchoolTool, you have a free alternative to BlackBoard or PowerSchool that will allow your school to manage student records from a browser-based application.
You’ll want to add teachers and students, set up grade books, and more. To access the full SchoolTool manual, refer to The SchoolTool Book, a knowledge base maintained by the developers of SchoolTool.
Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases.