Installing Quran CMS
On this page
An empty database, the package and install.php. It takes a few minutes, and the whole Quran is loaded for you.
1. Create the database
In cPanel open MySQL Databases. Create a database, create a user with a strong password, and add the user to the database with ALL PRIVILEGES. Write down the database name, the user name and the password; the installer asks for them.
2. Upload the package
Upload Quran-CMS-v1.5.0.zip to the folder of your domain (usually public_html) with File Manager → Upload, then Extract it there. Check that index.php, install.php and the folders admin, includes, database and the others sit directly in that folder, and that the hidden file .htaccess is there too (File Manager → Settings → Show Hidden Files).
3. Run the installer
Open https://your-domain/install.php. Opening any page of the site before it is installed sends you there as well.
Server check
The first screen checks PHP, its extensions, the Quran data files and the writable folders. A red mark means something required is missing, and the line says what to do (for example chmod uploads/ to 755); fix it and press Check again. An orange mark is only a warning. Then press Continue.
The form
| Section | Field | What to enter |
|---|---|---|
| Database | Host, Port | Usually localhost and 3306; leave them. |
| Database name, Database user, Database password | The three names from step 1. | |
| Website | Site address | The full address, with https:// when the site has a certificate, and no slash at the end. This is also the domain the licence is tied to. |
| Site name | The name of your site (it starts as QuranFor.me, so change it). | |
| Main language | বাংলা (Bengali) or English: what visitors see first. | |
| Licence | Licence key | Your QCMS-XXXX-XXXX-XXXX-XXXX key from license.faruk.bd. |
| My host cannot verify SSL certificates | Tick it only if the installer complains about a missing CA bundle. | |
| Administrator | Your name, E-mail, Password | Your own account. You sign in with this e-mail; the password needs at least 8 characters. |
Press Install Quran CMS and keep the page open; it takes from a few seconds to about a minute.
What the installer does
- Connects to the database with the names you gave.
- Activates the licence at license.faruk.bd for your domain. Nothing is written before the licence is accepted, so a wrong key never leaves half an installation behind. A plugin or theme key (
QCMP-) is refused here. - Creates the tables.
- Creates your administrator account.
- Imports the whole Quran: all 114 surahs and 6,236 ayahs in the Uthmani and the simple script, with the translations that come in the package: Bengali (Taisirul Quran and Muhiuddin Khan), English (Saheeh International), and the Bengali, English and Hindi pronunciation. All of this comes from files in the package; nothing is downloaded.
- Adds what the site needs to start: reciters, tafsirs, surah information, menus, home page sections, the About, Privacy policy, Terms and Contact pages, starter blog posts, donation causes, courses, e-mail templates, and the free plugins, switched on.
- Writes
config.php, protects the upload folders, and finally writesinstalled.lock.
When it is done you see "Alhamdulillah — all done." with two buttons: Open the admin panel and Visit the site.
installed.lock
While installed.lock exists, install.php refuses to run and only sends you to the home page. For tidiness, delete install.php after the installation.
Never delete installed.lock or config.php on a live site: without either of them every page sends visitors to the installer. Updates never contain them. Keep a copy of config.php somewhere safe: it holds the database password and the site's secret key.
4. Sign in for the first time
Open https://your-domain/admin/ and sign in with your e-mail (the installer also gave your account the user name admin) and password. Keep me signed in keeps you signed in on that browser for 30 days. The admin panel and first steps tells you what to set first.
5. Add the cron job
cPanel → Cron Jobs → choose Once Per Minute and put this in the Command box (with your own cPanel user name in place of USER):
/usr/local/bin/php /home/USER/public_html/cron/run.php > /dev/null 2>&1
Admin → Scheduled jobs shows the exact command for your server, ready to paste into cPanel's Command box (the "once per minute" timing is the Once Per Minute choice above it). If your host keeps PHP somewhere else, write its path in PHP path for the cron line on the same page. More in Scheduled jobs.
Installing in a sub-folder or on a sub-domain
A sub-folder (for example example.com/quran): extract the package into public_html/quran and open example.com/quran/install.php. The installer fills in the site address with the folder already. Then open .htaccess, remove the # in front of RewriteBase / and write your folder: RewriteBase /quran/. The licence is tied to example.com; the folder does not matter.
A sub-domain (for example quran.example.com): extract the package into the folder cPanel made for the sub-domain and install as usual. For the licence, a sub-domain counts as a domain of its own.
When the installer says "That did not work"
- Could not connect to the database — a name or the password is wrong, or the user was not added to the database.
- Could not reach the License Center — the server cannot open license.faruk.bd. Ask your host to allow outgoing HTTPS.
- This server cannot verify SSL certificates — ask the host to set
curl.cainfo, or tick My host cannot verify SSL certificates. Once the host has fixed it, setQC_LICENSE_INSECURE_SSLback tofalseinconfig.php. - config.php could not be written — check the permissions of the site folder.
- A message about the key itself comes from the License Center. See Your licence key.