School management systems are tools or software that are designed to help institutions with daily administrative and academic operations seamlessly in a remote location or inside the school compound. Schools use Student Management systems to manage student data like grades, schedules, health information, and personal data. There are many School management systems which include, openSIS, RosarioSIS, Fenda, Gibbon, GradelinkSIS, and PowerSchool SIS.
There are a lot of benefits that come with using a school management system. They include;
- Save time while working on tasks as they can be accessed in one place
- Keeping things in an orderly and simple manner.
- Improved student-staff communication by relaying information quickly.
- Manage other departments like Library and transport departments.
- Multi-school management in a case where a school has different branches.
RosarioSIS Student and School Management System
RosarioSIS is a free web-based Student and School management system that works on Mobile and Tablets to provide a full Moodle integration, advanced reporting tools, accounting, and billing system. It can be logged into from anywhere and on any internet connection as it is web-based.
Some of the features include
- Multi-Language Support including RTL languages like Arabic and Persian languages.
- Multi-device support.
- Highly customizable.
- Accounting, grades, and scheduling management.
- Data import/export of different formats.
- A calendar is included that details events, activities, and student assignments.
- Report generation.
It has some added features that make it more appealing than the other student management systems.
- Attendance can be taken electronically and can also be modified and sent to the office instantly.
- It has a grade book to establish grade ranges and track assignments then issue progress reports.
- The student screen includes the critical information to be used in reporting and can be customized to allow you to gather important data.
- It offers different ways to search for the student including gender, age, grade level, GPA, activities, and absences.
- The school setup screen has the school demographic information like the name and address.
- Easily add course weights, instructional assignments, and periods.
This guide will show you to install RosarioSIS Student and School management System on Ubuntu 20.04.
You can also install RosarioSIS via docker which is also shown in this guide.
Software Requirements
RosarioSIS relies on other software platforms which are Web server, PHP-server, and PostgreSQL database server.
Minimum requirements: PHP 5.4.45 & PostgreSQL 8.4
Install RosarioSIS on Ubuntu 20.04
Update your system packages using the following command.
sudo apt update && sudo apt upgrade -y
We will first install the Web server. I will use Apache.
Step 1. Install Apache
To install apache, run the following command
sudo apt install apache2
You can start and enable the server with the following command.
sudo systemctl start apache2
sudo systemctl enable apache2
Check its stsus using teh follwing command.
$ systemctl status apache2
● apache2.service - The Apache HTTP Server
Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor prese>
Active: active (running) since Mon 2022-05-02 13:57:25 EAT; 1min 58s ago
Docs: https://httpd.apache.org/docs/2.4/
Main PID: 49598 (apache2)
Tasks: 55 (limit: 4628)
Memory: 4.8M
CGroup: /system.slice/apache2.service
├─49598 /usr/sbin/apache2 -k start
├─49599 /usr/sbin/apache2 -k start
└─49600 /usr/sbin/apache2 -k start
Cam 02 13:57:25 ubuntu20 systemd[1]: Starting The Apache HTTP Server...
Cam 02 13:57:25 ubuntu20 systemd[1]: Started The Apache HTTP Server.
Step 2. Install PHP
To install PHP and its extensions, use the following command.
sudo apt install -y php libapache2-mod-php php-pgsql php-intl php-mbstring php-gd php-curl php-xmlrpc php-xml php-zip
Confirm by checking the version
$ php -v
PHP 7.4.3 (cli) (built: Mar 2 2022 15:36:52) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
with Zend OPcache v7.4.3, Copyright (c), by Zend Technologies
Access the php.ini file using the following command.
sudo nano /etc/php/7.4/apache2/php.ini
Edit the following details.
max_execution_time = 240
max_input_vars = 4000
memory_limit = 768M
Save and exit the file. Then restart PHP to make it compatible with Apache.
sudo /etc/init.d/apache2 restart
Step 3. Install PostgreSQL
Add the repository and import the official GPG key.
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
Update the system then install PostgreSQL using the following command.
sudo apt update
sudo apt install postgresql postgresql-contrib
To check the version, log in to PostgreSQL.
sudo -u postgres psql
Then type SELECT version();
to get the version running. Press ‘q‘ to exit then ‘\q‘ to log out of PostgreSQL.
version
--------------------------------------------------------------------------------------------------------------------------------------
PostgreSQL 14.2 (Ubuntu 14.2-1.pgdg20.04+1+b1) on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 9.4.0-1ubuntu1~20.04.1) 9.4.0, 64-bit
(1 row)
Then confirm it is running with the following command.
$ systemctl status postgresql.service
● postgresql.service - PostgreSQL RDBMS
Loaded: loaded (/lib/systemd/system/postgresql.service; enabled; vendor preset: enabled)
Active: active (exited) since Mon 2022-05-02 21:17:04 EAT; 1min 44s ago
Main PID: 113905 (code=exited, status=0/SUCCESS)
Tasks: 0 (limit: 4572)
Memory: 0B
CGroup: /system.slice/postgresql.service
May 02 21:17:04 ubuntu systemd[1]: Starting PostgreSQL RDBMS...
May 02 21:17:04 ubuntu systemd[1]: Finished PostgreSQL RDBMS.
Step 4. Setup RosarioSIS database
Login to PostgreSQL as the postgres user.
sudo -u postgres psql
Create a Rosario user with a password and a database.
postgres=# CREATE USER rosariosis WITH PASSWORD 'StrongDBPassword';
postgres=# CREATE DATABASE rosariosis WITH ENCODING 'UTF8' OWNER rosariosis;
Logout of the PostgreSQL.
postgres=# \q
Edit the pg_hba.conf file to enable password md5 peer authentication.
sudo nano /etc/postgresql/*/main/pg_hba.conf
Edit the line as shown below.
# "local" is for Unix domain socket connections only
local all all md5
Save and exit the file.
Step 5. Install RosarioSIS
Once the server and the database are running, we can now install RosarioSIS.
First, we will install missing dependencies.
sudo apt install -y git gettext xfonts-75dpi
To install RosarioSIS, We can download the extract or clone its repository from GitHub to a directory accessible by the webserver. I will clone the repository from GitHub.
$ git clone https://github.com/francoisjacquet/rosariosis.git
Cloning into 'rosariosis'...
remote: Enumerating objects: 48510, done.
remote: Counting objects: 100% (3890/3890), done.
remote: Compressing objects: 100% (1266/1266), done.
remote: Total 48510 (delta 2774), reused 3706 (delta 2610), pack-reused 44620
Receiving objects: 100% (48510/48510), 50.52 MiB | 29.05 MiB/s, done.
Resolving deltas: 100% (36732/36732), done.
Install wkhtmltopdf
wkhtmltopdf is a command-line tool that renders HTML to PDF. To install it, use the following command.
wget https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6-1/wkhtmltox_0.12.6-1.bionic_amd64.deb
sudo dpkg -i wkhtmltox_0.12.6-1.bionic_amd64.deb
Step 6: Configure RosarioSIS
To configure, rename the config file to config.inc.php.
cd rosariosis
mv config.inc.sample.php config.inc.php
Access the configuration file to set the configuration variables. A lot of variables can be configured as per the Installation Manual.
nano config.inc.php
Edit the following variables as follows. You can replace the content to meet your preferred details.
$DatabaseUsername = 'rosariosis';
$DatabasePassword = 'StrongDBPassword';
$DatabaseName = 'rosariosis';
$wkhtmltopdfPath = '/usr/local/bin/wkhtmltopdf';
Save and exit the file.
Move the rosariosis folder to /var/www/html
sudo mv rosariosis /var/www/html
To install the database, Go to http://yourdomain.com/INSTALL_LOCATION/InstallDatabase.php. In my case, I will use http://localhost/rosariosis/InstallDatabase.php
To get started go to http://yourdomain.com/INSTALL_LOCATION/index.php. In my case, I would use http://localhost/rosariosis/index.php
Running RosarioSIS in Docker Container
You can as well deploy RosarioSIS in Docker Container by following the steps below.
Install docker and missing dependencies.
wget -qO- https://get.docker.com/ | sh
Then clone a Dockerfile that contains the image that installs the latest RosarioSIS.
git clone https://gitlab.com/francoisjacquet/docker-rosariosis.git
Build the image
cd docker-rosariosis
sudo docker build -t rosariosis .
Deploy PostgresSQL image using docker run command.
$ sudo docker run --name rosariosisdb -e "POSTGRES_PASSWORD=StrongDBPassword" -d postgres
### Sample Output ###
Digest: sha256:2c954f8c5d03da58f8b82645b783b56c1135df17e650b186b296fa1bb71f9cfd
Status: Downloaded newer image for postgres:latest
0dddd476268797869fab666ccdad6457fee69c001ffbd45db5cbdb4a874f6571
Create the database using the following commands.
$ sudo docker exec -it rosariosisdb bash
/# psql -h localhost -p 5432 -U postgres
postgres=# CREATE USER rosario WITH PASSWORD 'rosariopwd';
postgres=# CREATE DATABASE rosariosis WITH ENCODING 'UTF8' OWNER rosario;
postgres=# \q
exit
Then run the RosarioSIS docker image and connect it to the PostgreSQL container.
$ sudo docker run -e "[email protected]" -e "PGHOST=rosariosisdb" -h `hostname -f` -d -p 80:80 --name rosariosis --link rosariosisdb:rosariosisdb rosariosis/rosariosis:master
### Sample Output ###
Digest: sha256:8d2ae7d7f38f64ff991f6d9713f9305ffc4f4613fa5a2d95edb87a320e377ef2
Status: Downloaded newer image for rosariosis/rosariosis:master
c89945ba86d5df9e92638aad03cd7329b2694b55f79eaf0b19e06f2390105689
Go to http://localhost/InstallDatabase.php to start. You will see such a reply from the server. Click on Access RosarioSIS.

Launch RosarioSIS on Ubuntu
The default username and password are both admin to login.

A successful installation prompt will appear with an option to set a new password as shown below. Continue to set the Password and click OK.

The portal appears as below once you log in. It has shortcuts to access the Mainly accessed sections which are School, Students, Users, Scheduling, and Activities.
The system has a lot of sections to navigate to and I will just show you the major sections in this guide.

Click on SCHOOL>School Information to access the main data for the school like the name, Address, Name of the Principal, and contact details.

Click on SCHOOL>Configuration to edit the school details.

Clicking on SCHOOL>Periods will help you create and set up periods to use in your school in a day.

Navigate to STUDENTS>Add a Student to add a new student to the system.

Navigate to STUDENTS>Advanced Report to get a detailed report of a student by selecting particular fields that you want a report on.

Click on STUDENTS>Registration to configure the information about a parent.

Navigate to USERS>User Profiles to configure user-profiles and select which programs the users have access to.

Clicking on GRADES>GPA/Class Rank List allows you to view a student’s GPA from their known details like name and their ID.

The system also has an accounting information section. Navigating to ACCOUNTING>Incomes shows the total incomes and expenses and the balance.

Navigate to STUDENT BILLING>Fees to check the students billing information. It also allows an advanced search using other known details apart from Name and ID.

The FOOD SERVICE section has The students account and one can also get statements of their food accounts.

You can also download Backup Files to an external device from the system.

RosarioSIS provides a handbook/Manual that helps you navigate the system and a quick setup guide. You can find it under RESOURCES>Resources.

Conclusion
From this guide, we have installed RosarioSIS on the Ubuntu system and configured its database through the PostgreSQL user. We have also seen the features that Rosario offers that are more appealing to many schools which would want a Student management system in place. We have also installed RosarioSIS with Docker image on Ubuntu. The system offers a lot of features like grading, adding users, and getting resources like the handbook to use the system.
Other guides available on our website:
Hello Ann and thanks for this great tutorial!
As reported on the forum, https://www.rosariosis.org/forum/d/580-probleme-d-installation-de-rosariosis-sur-linode-avec-ubuntu-20-04
RosarioSIS is not accessible with your tutorial.
After a review, it appears you move RosarioSIS to /var/www whereas the default webroot on Ubuntu is /var/www/html/ (reference: https://ubuntu.com/server/docs/web-servers-apache)
So please correct this command:
sudo mv rosariosis /var/www
to:
sudo mv rosariosis /var/www/html
Thank you!
Thanks for the comment this has been updated.