School management system hosting Kenya

A school system that holds up on results night

Host your school management system, fees module and parents' portal on a VPS with root access. Paybill payments reach the ledger through a public HTTPS callback, report forms generate without freezing the server, and you can add capacity before exams rather than after the complaints.

800 learners
We suggest
VPS V2 KES 5,000/mo

Eight gigabytes of RAM lets the database cache marks and fee records and keeps the parents' portal responsive on results night. Also the right floor for OpenEduCat or Moodle.

Order VPS V2

School software has a calendar of its own

A school system has a year unlike any other business. For most of term it is quiet: attendance, a few fee payments, teachers entering marks. Then exams close, report forms are generated for every learner in one evening, and hundreds of parents open the portal at once to check results and fee balances. A server that copes on an ordinary Tuesday can fall over that night.

Fee collection makes uptime matter even more. When parents pay through the school's M-Pesa paybill using the admission number as the account, Safaricom sends a confirmation to a callback URL on your system. If that system lives on a desktop in the bursar's office and the power is off, the money still leaves the parent's phone, but the ledger never hears about it and the bursar reconciles by hand.

A VPS gives a school, or a developer serving several schools, a server with a public HTTPS address, root access to tune PHP and the database before exams, and space for years of marks, timetables and scanned documents. We set up the server and operating system; your developer installs Gibbon, OpenEduCat, Moodle or your own system. Free support is there by ticket, email, phone or WhatsApp.

The problem

What goes wrong with school systems on the wrong server

The portal crashes when results are released

Parents all log in within the same hour of an SMS saying results are out. On shared hosting or an office PC, that spike exhausts connections and the portal stops responding just when the school most needs it to work.

Paybill payments that never reach the ledger

If the callback URL is down when Safaricom sends a confirmation, the fee is paid but the learner's balance does not change. Parents get reminders for fees already settled, and the bursar spends days matching statements.

Report forms that take all night

Generating a PDF report form for every learner, with charts and comments, is heavy work. On weak hardware it runs one at a time for hours. More cores and a queue let the job finish while staff are still in the building.

Learner records on a shared office PC

Marks, medical notes and family details for children deserve better than a computer anyone in the staffroom can use. A dedicated server with separate logins for teachers, bursar and parents keeps each group to their own data.

What runs on it

School systems you can run on a VPS

Kenyan schools use a mix of open-source platforms and systems built by local developers. All of these run on a Linux VPS.

Gibbon

A free, open-source school platform covering timetables, attendance, markbooks, reports and a parent portal. Runs on PHP and MySQL, so it fits a small VPS and is straightforward for a local developer to maintain.

OpenEduCat

A school and college management system built on Odoo, with admissions, fees, exams and timetables. Because it is Odoo underneath, it needs PostgreSQL and more RAM than PHP school systems.

Fedena (open-source edition)

The community edition of Fedena is a Ruby on Rails application with student records, exams and fees. It is older and less actively maintained than the commercial product, so check its state before committing.

Moodle

The widely used open-source learning platform for online lessons, assignments and quizzes. PHP with a database and a data folder outside the web root, plus a cron job that must run regularly.

Custom Laravel or Django systems

Many Kenyan schools use a system built by a local developer for CBC assessments, fee balances and SMS to parents. These need PHP or Python, a database, a queue worker and a public HTTPS callback for the paybill.

Sizing

Size the server for your enrolment

Slide to the total number of learners on the system. If you host several schools, add their enrolment together.

  1. 50–400 learners VPS V1 A single small school on Gibbon or a lean custom PHP system fits in one core and 1 GB of RAM, provided report forms are generated in a queue rather than all at once.
  2. 450–2,500 learners VPS V2 Eight gigabytes of RAM lets the database cache marks and fee records and keeps the parents' portal responsive on results night. Also the right floor for OpenEduCat or Moodle.
  3. 2,550–6,000 learners VPS V4 Six cores generate report forms in parallel and serve many parents at once, and 480 GB of SSD holds years of scanned documents. Suits a large school or a developer hosting several.
  4. 6,050+ learners VPS V5 Ten cores and 40 GB of RAM for school groups and multi-school platforms where exam weeks, fee deadlines and online lessons overlap.

This is a guide, not a guarantee: real load depends on how many parents log in when results are released and whether report forms are rendered on the server.

VPS V1

KES 2,000/mo
  • 1 Core
  • 1 GB RAM
  • 40 GB NVMe
  • 1 TB transfer
Order V1

VPS V2

KES 5,000/mo
  • 2 Cores
  • 8 GB RAM
  • 160 GB SSD
  • 8 TB transfer
Order V2

VPS V3

KES 7,000/mo
  • 4 Cores
  • 16 GB RAM
  • 320 GB SSD
  • 16 TB transfer
Order V3

VPS V4

KES 15,000/mo
  • 6 Cores
  • 24 GB RAM
  • 480 GB SSD
  • 24 TB transfer
Order V4

VPS V5

KES 20,000/mo
  • 10 Cores
  • 40 GB RAM
  • 800 GB SSD
  • 40 TB transfer
Order V5
Before you go live

Getting a school system ready for term

0 of 8 done. Tick them off as you go.

Built for Kenya

Running school software in Kenya

Children's data needs extra care

The Data Protection Act 2019 sets stricter conditions for processing children's data, including consent from a parent or guardian, and schools may need to register with the ODPC. Hosting on a server you control makes it easier to restrict access and show who can see what.

Paybill is how parents pay

Most parents pay fees by M-Pesa to the school paybill, using the admission number as the account. Daraja can post each payment to your system in real time, but only if the system has a public HTTPS address that stays online.

Parents read SMS, not email

Fee balances, closing dates and results notices reach Kenyan parents fastest by SMS. Bulk SMS providers such as Africa's Talking are called from your server and post delivery reports back to it, which a hosted VPS handles reliably.

Questions

School Management: your questions, answered

Should a school host its system on a VPS or a server in the office?
An office server is exposed to power cuts, theft and a single internet line, and parents cannot reach it from home without risky port forwarding. A VPS keeps the portal and paybill callback online all the time. Staff use it through a browser, the same as before.
How do we link our M-Pesa paybill to the school system?
Your developer uses Safaricom's Daraja C2B API to register confirmation and validation URLs for the paybill. Each payment is then posted to your system with the account number the parent entered, which the system matches to an admission number and updates the fee balance.
Will the parents' portal cope when results are released?
It will if the server is sized and tuned for the peak, not the average. Generate report forms before sending the SMS, cache results pages, and raise PHP and database limits beforehand. Most schools of a few hundred to a few thousand learners are comfortable on VPS V2.
Can one VPS host systems for several schools?
Yes. Developers who serve several schools often run them on one VPS, either as a multi-school application or as separate installs on different subdomains. Size the server for total enrolment and stagger exam timetables if you can. Keep separate databases so one school's data never mixes with another's.
Is learner data safe on a VPS?
A VPS is as safe as its configuration. With root access you can enforce HTTPS, SSH keys, a firewall, strong passwords and role-based access, and keep encrypted backups off the server. These controls also help a school meet its duties under the Data Protection Act 2019.
Do you install Moodle or Gibbon for us?
Free setup covers the server, operating system and your root login. Installing the school software is done by your developer or IT person. If they need help with server requirements such as PHP extensions, cron or SSL, our support team can advise by ticket, phone or WhatsApp.

Ready to host your school management?

Plans from KES 2,000 a month, paid by M-Pesa or card.

Size your server