40% off everything — use code SAVE40 at checkout · ends in …
Skip to content
phpguru.store

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.