← Home EduLink superadmin setup Deployment Guide

From zero to a licensed EduLink

Every step from an empty server to a working, licensed instance, in order. Steps marked SMS send a code to the superadmin's phone. Everywhere else, no SMS is involved.

7 steps SMS at step 4 only About 30 minutes

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).
Step 1

Start the installer

On your computer or the server

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.sh

It asks questions one at a time. Pressing Enter accepts the suggestion shown in [brackets].

Step 2

Answer the questions

QuestionWhat to answer
Public domainyour web address, e.g. region.edulinkschool.com
Regionthe region's name, e.g. Dire Dawa; then Enter for its code
Instance nameone lowercase word. It must match your license.
Email for certificate noticesyour email, or Enter to skip
Send real SMS?Enter (yes)
AfroMessage token / identifier ID / sender namepaste each. The token stays hidden while you type.
Other questionsEnter for each (the suggested answer)
Super-admin mobile phone SMSthe superadmin's number, e.g. +251911234567
Super-admin mobile phone, againthe same number
Step 3

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 *********4567

If 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.

Step 4 · SMS

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:

SMS

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 --show

Or send a new code by SMS: sudo edulink-superadmin issue-code. A new code replaces the old one.

Step 5

Activate the superadmin

In a web browser
  1. Open the link in the SMS, or go to https://your-address/staff-activate.
  2. Enter the superadmin phone number.
  3. Enter the 6-digit code from the SMS.
  4. Choose a password: at least 8 characters, with a letter and a number. Save it in a password manager.
  5. Click Activate. You are signed in as superadmin.
From now on

The code works only once. After this you sign in with username superadmin and your password. Signing in never uses SMS.

Step 6

Get the license

EduLink issues it

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,communication

It prints one line. That line is the license.

Step 7

Install the license

In EduLink, as superadmin
  1. Open Home, then License, then Install license.
  2. Paste the whole line and confirm.
You should see

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.

SituationOn the server, runSMS?
Forgot the superadmin passwordsudo edulink-superadmin recover
Type the new password twice. It signs the superadmin out everywhere.
No
Change the superadmin phonesudo edulink-superadmin set-phone
A code goes to the new phone. Type it back on the server.
SMS
Activation code lost or expiredsudo edulink-superadmin issue-codeSMS
Check the superadmin's statesudo edulink-superadmin statusNo
Safety

The superadmin password can never be reset by SMS. Never share an activation code or the password by email or chat.