AIOBilling ইনস্টল
ফাইল আপলোড, .htaccess, ঘর ধরে ধরে পাঁচ ধাপের ওয়িজার্ড, কমান্ড লাইন ও ওয়েব ঠিকানা দুই রকমে ক্রন, সাব-ফোল্ডারে ইনস্টল, আর ইনস্টলের পরের চেকলিস্ট।
The install is five steps in a browser and one cron job. It takes about two minutes. This chapter covers uploading the files, the .htaccess, every field of the wizard, the cron job in both forms, a sub-folder install and a short checklist for afterwards.
1. Upload the files
- Download the full package
AIOBilling-<version>.zipfrom your account at license.faruk.bd. The full package contains the installer; the update ZIP does not (see Updating). - Create the domain or sub-domain on your hosting (for example
billing.example.com) and note its folder, for examplepublic_htmlorbilling.example.com. - Upload the ZIP to that folder with the File Manager or FTP and Extract it. The files
index.php,install.php,.htaccess,admin/,client/,includes/,plugins/and the rest must sit directly in the folder, not in a second folder inside it. - Check that the hidden file
.htaccesscame along. In the cPanel File Manager switch on Show Hidden Files (dotfiles) in Settings.
The ZIP never contains config.php, installed.lock, data/ content or uploads/ content. The wizard creates them.
2. The .htaccess
The shipped .htaccess sends every request that is not a real file to index.php, which is the one entry point of both the client area (/) and the admin area (/admin). It also:
- switches directory listings off;
- refuses web access to
includes,data,cron,bin,languages, the page folders,config.php,installed.lock,db_update_lib.php, plugin code (pluginassets/stay public) anduploads/attachmentsanduploads/downloads; - refuses
.json,.lock,.log,.sqland.mdfiles.
It needs Apache with mod_rewrite and AllowOverride enabled, which every cPanel host has. On nginx, add the same idea yourself: serve real files, deny the private folders, and send everything else to index.php.
3. The wizard
Open https://your-domain/install.php. The five steps are shown at the top of the page.
| Step | What it does |
|---|---|
| 1. Requirements | Lists PHP 7.4+, the extensions (see Requirements) and the writable folders. Continue appears when everything required is green; otherwise fix it and press Check again. |
| 2. Database | Fields Host (default localhost), Port (3306), Database name, User and Password. Save and continue connects, creates the database if it is missing and writes config.php (the database settings, a random secret key and the License Center address). A wrong password or host shows Database: followed by the database's own message. |
| 3. Company & administrator | Company name, System URL (the address of this installation without a trailing slash; it is filled in for you), Contact e-mail, Country, Time zone (default Asia/Dhaka), Admin username (3-32 letters, digits, dots, dashes, underscores), Admin password (at least 8 characters) and again. Create and continue creates every table and fills in the starting data. |
| 4. Licence | Paste the Licence key and press Activate, or press Skip for now. The key is bound to the domain shown on the page. A refused key shows the License Center's message and you stay on this step. |
| 5. Done | Shows the admin address, the client address and the cron line. |
If you close the browser half-way, open install.php again. When config.php exists the wizard goes on from step 3. Once the install is finished the page redirects to the admin area, so it can never run twice. You may delete install.php afterwards.
What step 3 puts in
- Defaults for every setting, including a random cron key.
- The currencies USD (default) and BDT.
- Three administrator roles: Full Administrator, Sales Operator, Support Operator.
- Order statuses (Pending, Active, Fraud, Cancelled), ticket statuses (Open, Answered, Customer-Reply, On Hold, In Progress, Closed) and three support departments (Support, Sales, Billing).
- The 50-plus built-in e-mail templates and a starter list of 13 domain extensions with prices.
- The Bank Transfer gateway and the Manual Registrar, both switched on.
- A small sample catalogue so the store is not empty: the group Shared Hosting with the products Starter, Business and Pro, two addons, the promotion code
WELCOME20, a knowledgebase article and an announcement. Edit or delete them on the first day.
4. Set up the cron job
AIOBilling does its automatic work (renewal invoices, reminders, overdue notices, suspensions, domain notices, ticket auto-close) from one script that must run every 5 minutes. The daily jobs run once a day after the hour set in Setup → Automation Settings (default 02:00).
Command line (cPanel Cron Jobs or a VPS crontab):
*/5 * * * * /usr/local/bin/php -q /home/USER/public_html/cron/cron.php
Use the PHP path and folder of your host. Setup → Automation Settings shows the exact line for your installation in the Cron job box, with a Copy button.
Web cron (when the host has no cron or only runs php-cgi): call this address every 5 minutes from any web cron service, or with curl/wget from another machine:
https://your-domain/cron.php?key=YOUR-CRON-KEY
The key is shown in the same box (and under Setup → General Settings → Other). Without the right key the answer is Invalid cron key (403). The command line needs no key. You may add &job=invoices to run one job, or &force=1 to run it even if it is not due.
Open Utilities → Automation Status after ten minutes. The heartbeat should say Alive. See Automation.
5. Install in a sub-folder
You can install to https://example.com/billing/. Upload and extract into the billing folder, open https://example.com/billing/install.php, and the script works out the folder by itself, so links, assets and the admin address (/billing/admin) all follow. The shipped .htaccess says RewriteBase /; change it to RewriteBase /billing/ for a sub-folder. The licence is bound to the host name (example.com), not to the folder. For the cron, use the full path of the cron/cron.php inside the sub-folder.
After the install
- Sign in at
https://your-domain/admin/with the administrator you created. - Open Utilities → System Health & PHP Info and check that nothing is red.
- Open Setup → Licence and press Check now (see The licence key).
- Confirm the cron heartbeat on Utilities → Automation Status.
- Send a test e-mail from Setup → Mail Settings.
- Continue with your first day.
If something fails
| You see | Do this |
|---|---|
| Step 1 stays red | Enable the extension or make the folder writable, then Check again. |
Database: SQLSTATE... | Check host, name, user and password; on cPanel the user must be added to the database. |
config.php could not be written. | Make the main folder writable for the wizard, or create config.php by hand. |
| Every page except the home page gives 404 | .htaccess is missing or mod_rewrite is off. |
Invalid cron key | The address has the wrong key. Copy it again from Automation Settings. |
More in Troubleshooting.
এই লেখাটি কি কাজে লেগেছে?
হালনাগাদ 2026-11-03