This HostBMS installation tutorial is a test-first walkthrough for preparing a site, database and scheduled task before exploring the application. HostBMS is self-hosted, so you control its environment and are also responsible for updates, access, backups and monitoring. The website currently labels the release an early-development preview and not production ready. Follow these steps on a disposable test domain with sample data; do not install an unverified preview against live customer billing records.
1. Read the release requirements first
Start with the requirements published for the exact HostBMS release you intend to test. The website currently lists PHP 8.1–8.3, MySQL 5.7 or MariaDB 10.4 as minimum versions, and recommends newer supported database versions. It also lists PHP extensions including curl, gd, json, mbstring, openssl, pdo_mysql, xml, zip, intl, bcmath and fileinfo. Requirements may change, so compare them with the current download’s installation notes rather than treating an old article as authoritative.
Confirm that your hosting account allows the required PHP version, extensions, database access and a scheduled CLI task. A browser-based cron substitute may not behave exactly like a command-line task. Check PHP’s command-line version separately from the version selected for the website. Record the output of your checks, the release archive name and a checksum when one is provided. This makes it easier to diagnose differences between staging and a later test server.
2. Create an isolated site and database
Choose a test hostname such as a private subdomain or temporary domain and enable HTTPS before installation. Create a new, empty MySQL or MariaDB database and a dedicated database user with access only to that database. Use a strong unique password and store it in a password manager. Do not reuse credentials from another application or copy a production database into a publicly reachable test site without reviewing and anonymizing the data.
Set file ownership and permissions according to your host’s recommended PHP model. Avoid making the whole site world-writable as a shortcut. The installer needs to write selected configuration and data locations, but those permissions should be reduced after setup where the documentation permits. Keep a note of the site root and the corresponding filesystem path, since the scheduled task uses a server path rather than a web URL.
3. Upload the release carefully
Download the release from the official HostBMS source and verify any published checksum before extraction. Upload the contents of the application’s expected directory to the web root; do not accidentally add an extra nested folder level that makes the installer URL point to the wrong location. Include hidden files such as .htaccess when the web server uses them. If your file manager hides dotfiles, verify separately that required configuration files arrived.
Before opening the installer, check that private application folders cannot be downloaded directly. The HostBMS site notes that the installer checks access restrictions and stops if code or uploads appear exposed. Apache or LiteSpeed rewrite rules may be supplied, while Nginx requires equivalent deny rules in the server configuration. Do not disable a failed protection check merely to get through setup; resolve the server rule and verify it with a direct browser request.
4. Run the web installer
Visit the installation path shown in the release instructions over HTTPS. Review every prerequisite result. If the installer reports an unsupported PHP version, missing extension, database connection problem or unsafe directory, fix that condition and repeat the check. Avoid posting database passwords or full configuration files when requesting help. Once requirements pass, enter the database host, name, user and password, then follow the prompts to create the company profile and first administrator.
Use a unique administrator login and a strong password. If staff two-factor authentication is available in the release you are testing, enable it before adding more users. Use fictional company data in a sandbox unless you have a specific reason to test branding. When setup completes, follow the instructions for locking or removing installer access. Confirm that the application redirects to HTTPS and that an unauthenticated visitor cannot reach administrative pages.
5. Sign in and inspect the baseline
Sign in as the test administrator and inspect the dashboard, settings and security notices before importing any data. Confirm the displayed version, company timezone, currency, tax defaults and email configuration. Set a timezone appropriate to your test business and verify date presentation on a sample invoice. Product defaults can affect renewal dates and reports, so understand them before creating products or running automation.
Send a test email to an address you control and check both delivery and formatting. Configure SMTP if your hosting provider does not support reliable PHP mail. Review spam folders and mail logs; a “sent” entry inside the app does not guarantee acceptance by the recipient’s mail provider. Do not send test invoices to real customers. Use a test inbox that makes it easy to distinguish sandbox notices from operational mail.
6. Add the scheduled task in test mode
HostBMS documents a cron command in the form */5 * * * * php /path/to/crons/cron.php. Replace the example with the actual command-line PHP binary and absolute application path for your hosting account. Ask the provider for the correct CLI path if uncertain. Run the command manually once from a shell or hosting task interface, then inspect the application’s log and cron status before scheduling it.
For the test installation, observe at least several scheduled runs and record their timestamps. Confirm that a task does not execute twice because both the host and an external scheduler were configured. Check that the task can read configuration files and write to the queue without exposing secrets in process listings or logs. Do not enable payment retries, account suspension or termination rules until you understand how jobs are selected and recorded.
7. Protect and back up the test site
Restrict access to the test environment if it contains non-public information. Use a staging password or network restriction, protect administrator credentials and keep API keys out of public directories. Configure HTTPS and review the web-server rules. Since HostBMS handles customer, invoice and service data, make sure database exports and logs are not downloadable as ordinary web files.
Back up both the application files and database to a location separate from the web account. Restore that copy to another temporary location and confirm that the application can connect and display the expected records. A backup that has not been restored is only a plan. Keep the recovery notes with enough detail for another operator to repeat the procedure without needing your browser session.
8. Run a short acceptance checklist
- Confirm the version and every required extension against current release notes.
- Verify HTTPS, private-folder restrictions, administrator access and email delivery.
- Run the scheduled task manually and through the scheduler; inspect logs for both.
- Create sample records only, then export and restore the database and files.
- Record errors and exact steps so you can reproduce them without sharing secrets.
After installation, continue with a test product and sample order before enabling gateways or server modules. The HostBMS feature overview describes the current application areas, while the download’s installation notes should remain the source for release-specific instructions. Treat a successful install as the beginning of evaluation—not proof that the software is ready for live billing.
Common installation problems
A blank page often points to a PHP error, unsupported runtime or permissions issue. Check server and application logs, but redact credentials before sharing excerpts. A database connection failure can come from an incorrect hostname rather than the password; some hosting providers use a database host other than localhost. If a rewrite rule returns a 500 error, inspect the server’s supported directives and apply the equivalent documented configuration instead of removing all protections.
If the browser installer works but cron fails, compare the web and CLI PHP versions, filesystem paths and environment variables. If email fails, test SMTP credentials and sender-domain configuration separately. Change one variable at a time and keep a short record of each attempt. This makes a HostBMS test installation repeatable and gives maintainers useful diagnostic information without risking production data.