Prepare the FreePBX server
Obelisk is installed on an existing FreePBX server. Before you start, have the SSH login, database details and the address you use to open FreePBX ready. The steps below explain what you need.
Check the environment
The reference environment is FreePBX 17 on Debian 12, Asterisk 22 and PHP 8.2. The installer also admits Debian 13 and newer PHP versions, but passing its version check does not certify every FreePBX module combination. You need root SSH access, Python 3, unzip and a MariaDB or MySQL client. The installer checks the required PHP dependencies; it does not install FreePBX or upgrade the operating system. Arrange a maintenance window and take a recent FreePBX backup before proceeding. A standard FreePBX installation usually already provides these dependencies. The Obelisk installer checks the server and reports missing requirements or other issues before you proceed.
Prepare the database and FreePBX address
Identify the source
Find the existing database containing CDR call records and queuelog queue events. It is usually named asteriskcdrdb. If you have not moved it to a remote MariaDB or MySQL server, choose local when the installer asks for the database location. Local means that the database is on the same machine where FreePBX is installed.
Plan application storage
The installer creates a separate database for Obelisk, on the same database server and port as asteriskcdrdb. MariaDB 10.11 or MySQL 8.0.16 or later is required. If the database is remote, ask your administrator for the application login and the administrative login before starting. If you are unsure, open FreePBX → Settings → Advanced Settings. Check whether CDR uses a remote database and note its connection details and database name. Also check any custom name configured for the queue-log database or table: give the installer the database name and the queuelog table name in their respective fields.
Prepare the FreePBX web address
Use the address you enter in the browser to open FreePBX, without /obelisk. It may use HTTPS or HTTP, including a private IP address. With HTTP or an invalid HTTPS certificate, the installer shows a warning and asks whether to continue. The PBX also needs Internet access for initial license activation.
Check PHP and browser dependencies
Check both PHP environments: the command used in SSH and PHP served by Apache or FPM can load different configuration files and extensions. ZIP is required in both for updates. Two-factor authentication and configuration backups require Sodium and 64-bit PHP; backups also require zlib. A CLI version number alone does not confirm that the web environment has these dependencies.
The web server must enforce the supplied .htaccess rules. Browsers also need access to www.gstatic.com for Google Charts and to the configured map provider, normally tile.openstreetmap.org. If the report table works but a chart or map does not load, check these browser-side requests before changing the database or reinstalling the application. A corporate proxy or content filter may affect the browser and the PBX differently.
Know when to proceed
You can proceed when you have a recent FreePBX backup, the required database credentials and a FreePBX address reachable from the PBX itself. This guide is for a new installation. If Obelisk already exists in /var/www/html/obelisk, use the update guide linked below.