Before you start
- A serverUbuntu 24.04 or newer, from any cloud provider.
- A web addressFor example
region.edulinkschool.com, with its DNS record pointing at the server's IP address. - AfroMessage detailsThe token, the identifier ID and the approved sender name. These let EduLink send SMS.
- The superadmin's mobile phone SMSAn Ethiopian number (+251…) that you keep with you. The activation code is sent to it. There is no password to copy anywhere.
- A license from EduLinkIssued for your instance name. You need it at the end (step 7).
Start the installer
Follow the Deployment Guide up to its step 10. Or, on a server with the EduLink source, run the one-machine installer from the project folder:
bash scripts/deploy-single-vm.shIt asks questions one at a time. Pressing Enter accepts the suggestion shown in [brackets].
Answer the questions
| Question | What to answer |
|---|---|
| Public domain | your web address, e.g. region.edulinkschool.com |
| Region | the region's name, e.g. Dire Dawa; then Enter for its code |
| Instance name | one lowercase word. It must match your license. |
| Email for certificate notices | your email, or Enter to skip |
| Send real SMS? | Enter (yes) |
| AfroMessage token / identifier ID / sender name | paste each. The token stays hidden while you type. |
| Other questions | Enter for each (the suggested answer) |
| Super-admin mobile phone SMS | the superadmin's number, e.g. +251911234567 |
| Super-admin mobile phone, again | the same number |
Check the plan and confirm
The installer shows a summary. Check this line. Only the last 4 digits of the phone are shown:
Super-admin activation code by SMS to *********4567If the last 4 digits are right, answer y. If they are wrong, answer n and start again. Then wait about 10 minutes while it installs the database, the program, the website, the padlock certificate, the firewall and the backups.
The activation code arrives
At the end, the installer sends the code and prints where it went:
Super-admin activation code texted to *********4567 — valid 24 hours.The superadmin phone receives:
Your EduLink activation code: 123456. Go to https://…/staff-activate and tap 'Activate Staff Account'. Expires in 24 hours.
No SMS after 15 minutes, or the code expired
On the server, show a fresh code on your screen instead. It works only in an interactive terminal, so the code never lands in a log:
sudo edulink-superadmin issue-code --showOr send a new code by SMS: sudo edulink-superadmin issue-code. A new code replaces the old one.
Activate the superadmin
- Open the link in the SMS, or go to
https://your-address/staff-activate. - Enter the superadmin phone number.
- Enter the 6-digit code from the SMS.
- Choose a password: at least 8 characters, with a letter and a number. Save it in a password manager.
- Click Activate. You are signed in as
superadmin.
The code works only once. After this you sign in with username superadmin and your password. Signing in never uses SMS.
Get the license
Until a license is installed, EduLink is read-only: people can sign in and look, but every change is blocked. EduLink signs the license on its own computer, for your instance name, and sends you one long line of text.
For EduLink: how the license is made
On the issuer's own computer only (the signing key never goes on a server):
./edulink-license create --instance INSTANCE --customer "CUSTOMER NAME" \
--students 20000 --schools 120 --expires 2027-12-31 --grace 30 \
--modules attendance,assessments,communicationIt prints one line. That line is the license.
Install the license
- Open Home, then License, then Install license.
- Paste the whole line and confirm.
The license shows as active, with your limits and end date. The read-only warning disappears. You are done.
Later, if needed
All of these run on the server. None of them can be done from the website, on purpose: whoever controls the superadmin controls the whole installation.
| Situation | On the server, run | SMS? |
|---|---|---|
| Forgot the superadmin password | sudo edulink-superadmin recoverType the new password twice. It signs the superadmin out everywhere. | No |
| Change the superadmin phone | sudo edulink-superadmin set-phoneA code goes to the new phone. Type it back on the server. | SMS |
| Activation code lost or expired | sudo edulink-superadmin issue-code | SMS |
| Check the superadmin's state | sudo edulink-superadmin status | No |
The superadmin password can never be reset by SMS. Never share an activation code or the password by email or chat.