Self-host accounting software with a recovery plan
Run the books on infrastructure you control only when you can also control updates, access and recovery.
What does owning the installation involve?
Self-hosting places the application, database and operational decisions under your control.
You choose where records are stored, who can reach the server, which release is installed and when an upgrade takes place. A software licence answers whether you may use or modify the code. It does not arrange a backup, renew a certificate or reconcile a failed import. Those are separate jobs, even when the server has a friendly control panel. Before choosing a host, name the person who will handle each job and the person who can take over when they are unavailable.
For bookkeeping, recovering the correct state matters more than recovering a login screen. A journal entry connects a source, a date, accounts and exact amounts. Restoring yesterday’s PHP files beside a newer database can break that connection or prevent startup. Keep the application release, migration history, private configuration and database backup as a matched set. The owner of the installation should be able to find that set without relying on the original developer’s laptop.
Which hosting route fits the operator?
Choose the route whose controls you can verify and whose ongoing work someone will actually own.
| Route | What to establish | Who it suits |
|---|---|---|
| Shared hosting | MySQL 8.0.19+ (8.4 recommended) or MariaDB 10.4+, Apache or LiteSpeed honouring .htaccess rules, and the required database privileges | A user with a cooperative hosting provider |
| Managed VPS | A named administrator responsible for operating-system and database maintenance | A business buying operational help |
| Self-managed VPS | The skills and time to manage the full stack and recovery | An experienced operator or software house |
A panel label is not a compatibility result. A provider may offer the right PHP version while using an unsupported database variant or withholding permission to create views and triggers. Conversely, a simple VPS may satisfy the technical requirements but leave nobody monitoring disk space. Read the requirements checklist before comparing plans. The panel guide and VPS procedure describe different routes to the same acceptance checks.
What should you budget besides the server?
Budget operational work and recovery capacity, without treating a low server price as the total cost.
The hosting bill is only one input. Include domain and certificate administration, private backup storage, a restoration environment, updates, user support and time for upgrade rehearsals. No hosting price or capacity guarantee is quoted here. Obtain current terms from the provider and ask what happens when a database restore or PHP upgrade is needed. A plan that includes help may suit a business better than an inexpensive unmanaged server, even when both advertise similar storage.
A small memory allocation should be treated as an evaluation constraint, not evidence that an accounting workload fits. Measure the actual package with your expected company count and report history in an isolated test. Watch available memory, database and web-process usage, response time, backup duration and disk growth. Leave space for the current release, previous release, backup and temporary extraction. A clean installation that works once says little about a month-end report or a restore during an incident.
What does this PHP Ledger package need?
The current release needs PHP 8.2 or newer, MySQL 8.0.19+ (8.4 recommended) or MariaDB 10.4+, HTTPS and private configuration. Setup runs in the browser: upload the phpledger folder into your website and open its address. Command-line installation remains an alternative, not a requirement.
PHP 8.3 is the recommended deployment branch. Required extensions include BCMath for exact decimal arithmetic, PDO MySQL, mbstring, curl, OpenSSL and fileinfo, with working PHP sessions. The downloadable package includes production dependencies; installing Composer on the customer server is not required. Keep the package directory structure intact. Inside a website, the package-root .htaccess keeps every folder except www/phpledger/public private; pointing the document root at www/phpledger/public remains the most secure layout. The PHP compatibility guide separates version availability from an actual successful installation.
Each book has one immutable functional currency. Version 0.4.0 adds core invoice/bill/payment screens, optional Inventory/Purchasing and manually configured tax. Advanced stock operations and regional filing remain future work. Operational control over hosting does not expand that product scope. First evaluate the current accounting workflow; then assess whether you want to run it. Choosing hosting before confirming the required business functions reverses that order.
How do you accept an installation?
Accept the installation after a source-to-report journey and a restore rehearsal, not merely a health response.
- Verify the downloaded checksum and record its package version.
- Run the browser installer, or preflight, migrations and preflight again with the correct command-line PHP.
- Create an owner account with a username, email and private password, and sign in over HTTPS.
- In an isolated fictional company, post a receipt and expense and inspect their sources and trial balance.
- Rehearse recovery into a separate database and repeat the scoped reads.
Keep a short acceptance record: runtime versions, applied migration checksums, the fictional transaction references and expected totals, and the restore outcome. Do not put credentials or customer information in that record. A second operator should be able to repeat the checks. For the full procedure, use backup and restore before a real-business pilot.
When is self-hosting the wrong choice?
Choose a managed service or a more complete accounting product when the operational or workflow burden does not fit.
What should you do next?
If nobody can schedule security updates, inspect a failed backup or restore a database, owning the server introduces work the business cannot safely absorb. If independently supported production workflows, advanced stock or jurisdiction-specific filings are needed immediately, this release may also be the wrong application regardless of hosting. Compare working functions rather than future plans. An accountant and a hosting operator solve different problems; one person may fill both roles, but neither responsibility disappears.
Questions before you continue
Check these boundaries before applying the procedure to a business installation.
Does self-hosting remove all external services?
No. Review the package’s documented country-hint request and any integrations you configure; the new manual-rate foundation does not fetch rates.
Is the hosted demo my own installation?
No. It is a separate temporary sample environment with hourly resets and restricted administration.
Sources and next steps
Technical references and project behavior were checked on 16 September 2026; hosting access remains plan-specific.
The linked project files describe the current release. Follow the instructions inside your exact downloaded package if a later release changes a command. Technical testing does not establish statutory compliance or independent accounting acceptance. See the project and preview limits.
