Church Cashbook Maintenance Manual
High-level architecture and components.
Architecture summary
Church Cashbook is a PHP web application hosted on Rochen managed hosting within AWS infrastructure. There is no client-side software — users access it entirely through a web browser. All data is stored centrally in a MariaDB database on the same server.
Key components
- Web server: Apache 2.4 with HTTPS (TLS 1.2/1.3). The application runs under a single document root; all config, logs, exports, and receipts are stored outside the web root in the
church_recordsdirectory. - Application: PHP 8.4. No framework — a purpose-built application with its own routing and template system.
- Database: MariaDB 11.4 LTS. Single database (
church_accounts). All financial data, user accounts, Gift Aid declarations, audit logs, and system settings are stored here. - File storage: Receipts, exports, and logs are stored in
church_records/— a directory outside the Apache document root, not publicly accessible. - Backups: Managed via Akeeba Backup. Backups transfer automatically off-server.
Access points
- Application:
https://[your-domain]/— login required for all pages. - Admin panel:
/public/admin/— requires SUPERADMIN or DIOCESE_ADMIN role. - System info:
/public/admin/system_info.php— diagnostics page, SUPERADMIN only. - cPanel: via Rochen hosting control panel — for server management, database access, and file management.
- phpMyAdmin: via cPanel — for direct database inspection when needed.
No scheduled tasks currently
Church Cashbook does not currently use cron jobs or scheduled tasks. All processing is request-driven. This simplifies the operational model — there are no background processes to monitor for failures. The transaction snapshot export runs on demand rather than on a schedule.