Install a PHP School Management System
By Prakash Panthi, Founder · Published August 25, 2026 · Updated September 22, 2026
This is the real, complete process for installing the School Management System — a PHP (CodeIgniter 3) and MySQL application — on shared hosting or a local XAMPP setup. Follow it in order and you'll have it running in 15–30 minutes; every step below matches the product's actual file structure and its bundled documentation, not a generic template.
What you'll need
- PHP with the Mcrypt, MBString, DOM, GD, MySQL, PDO and cURL extensions enabled — all standard on any general-purpose PHP hosting plan
- MySQL 5+ or MariaDB equivalent
- Hosting with phpMyAdmin access, or XAMPP for local testing
- The product zip file — it includes a full database export, plus a bundled documentation folder with the same install steps below
Step 1 — Choose Your Hosting (or Set Up XAMPP Locally)
If you're testing before deploying, download XAMPP and start the Apache and MySQL modules from its control panel. For a real deployment, this product runs on any standard PHP + MySQL shared hosting — no VPS or special server configuration required. We use and recommend Hostinger for exactly this kind of install: PHP, MySQL, phpMyAdmin, and FTP access are all included on their basic shared-hosting plans, which is all this product needs.
Step 2 — Extract and Upload the Files
Extract the downloaded zip. On XAMPP, copy the contents into htdocs. On shared hosting, upload everything to public_html via FTP (FileZilla is a common free client) or your host's file manager. Make sure index.php and .htaccess in the project root keep permission 644 after upload — some FTP clients reset this, and a wrong permission here is a common source of a blank page on first load.
Step 3 — Create Your MySQL Database
In your hosting control panel's database wizard (or XAMPP's phpMyAdmin at localhost/phpmyadmin), create a new database and a database user with full privileges on it. Note the database name, username, password, and host — you'll need all four in the next step.
Step 4 — Update the Database Connection Settings
Open application/config/database.php in the extracted files and set hostname, username, password, and database to match what you created in Step 3. On XAMPP, the default is host localhost, username root, with no password. While you're in the config folder, also check the base URL in application/config/config.php matches your actual domain (or local folder URL) — the product's own documentation calls this out specifically, since a wrong base URL breaks asset loading and redirects.
Step 5 — Import the Database
The product's database export is bundled inside the extracted files at documentation/database/database.sql — a separate folder from the installer SQL naming other products in our catalog use, so double-check you're importing this exact file. In phpMyAdmin, select the database you created in Step 3, open the Import tab, choose that file, and click Go. This creates every table the application needs, already populated with the default admin account and reference data.
Step 6 — Log In and Change the Default Password
Visit your domain (or localhost/your-folder-name on XAMPP) in a browser. The imported database seeds a default super admin account — email superadmin@gsms.com, password 123456. Log in with that, then change the password immediately from the admin panel before entering any real student or staff data.
Common installation errors
"Access denied for user" error
Your database username/password in application/config/database.php don't match what you created via your host's database wizard — double-check both, and confirm the database user actually has privileges granted on that specific database.
Blank white page after upload
Usually a file-permission issue rather than a code bug — confirm index.php and .htaccess in the project root are set to 644 after FTP upload, and check your hosting's PHP error log for the specific line if it persists.
"Table doesn't exist" errors after login
The import from Step 5 didn't complete, or you imported the wrong file — re-check that you used documentation/database/database.sql specifically, and confirm the tables actually appear in phpMyAdmin's table list before trying to log in again.
Missing PHP extension errors
This product specifically needs the Mcrypt, MBString, DOM, GD and cURL extensions enabled. Most shared hosts (including Hostinger) enable all of these by default, but if you're on a stripped-down or custom server image, enable them from your hosting control panel's PHP configuration screen.
Stuck on something not covered here?
Email support is included with your purchase — reply with your payment ID and what you're seeing, and we'll help you get it running.
Available systems in this category
The system this guide was written for is not available for new purchases right now. These PHPGuru-developed systems cover related needs — check each page for exactly what it includes.
- AI Question Generator for Online Exam — Paste a chapter, get reviewed multiple-choice questions into your exam — on your own Anthropic API key
- Hostel / PG Manager — Rooms, beds, residents and monthly rent dues for a hostel or PG, in PHP
- Library Manager — Books, members, issue/return and fines for a small library, in PHP