Skip to content

Installing FOSSBilling

  • A domain or subdomain dedicated to FOSSBilling.
  • A server that meets the system requirements.
  • A web server running a FOSSBilling-compatible configuration.

Apache usually requires no extra application-specific configuration. The templates below for other web servers should be treated as starting points and adjusted for your own paths, SSL settings, and deployment conventions.

FOSSBilling includes a ready-to-use .htaccess file for Apache, LiteSpeed, and OpenLiteSpeed. Set up your domain as you normally would, then proceed with installation.

OpenLiteSpeed users: After installation, remember to reload the web server so it picks up the new .htaccess file.

  1. Download FOSSBilling: Download the latest stable release from our downloads page. Preview builds are for testing, not production.
  2. Prepare your database: Create a new MySQL database and a dedicated user for this installation. Keep the credentials handy for the installer.
  3. Set up SSL: If you plan to use HTTPS, and you should, configure and verify your certificate before you start the installer. That avoids redirect and mixed-URL issues later.
  4. Configure reverse-proxy headers: If you run behind a reverse proxy, forward the X-Forwarded-Host and X-Forwarded-Proto headers so FOSSBilling can generate the correct URLs and enforce HTTPS properly.
  1. Clean your document root: Remove placeholder files created by your control panel, such as default index pages or sample .htaccess files, so they do not interfere with routing.

  2. Upload and extract FOSSBilling: Upload the release you downloaded and extract it into your document root. Your directory should look similar to this:

    ├── data
    ├── install
    ├── library
    ├── locale
    ├── modules
    ├── themes
    ├── vendor
    ├── config-sample.php
    ├── cron.php
    ├── di.php
    ├── index.php
    ...
  3. Launch the installer: Visit the domain you set up for FOSSBilling. If you are using HTTPS, access it over https:// so the application configures secure URLs automatically.

    If you see the FOSSBilling installer welcome page below, you're ready to proceed. The FOSSBilling Installer Landing Page

  4. Complete the setup wizard: Follow the on-screen steps to accept the license, enter your database credentials, and create your administrator account.

  5. Configure the default currency: The price format must include {{price}} as a placeholder. Place your currency symbol before or after it, for example {{price}} USD or $ {{price}}.

  6. Install: Click install and wait for the success page to appear.

Once the installer finishes, configure the cron job before you begin using the system in earnest.

FOSSBilling relies on cron to handle renewals, expired orders, email delivery, background checks, and other scheduled work. It needs to be configured correctly, run consistently, and execute often enough to keep the platform healthy.

We recommend running cron every five minutes. If more than 15 minutes pass without a run, FOSSBilling will show a warning in the admin panel. Treat that warning as urgent. FOSSBilling warning about cron execution

FOSSBilling shows the correct cron command on the installation-complete screen and again in the admin panel. If you need to find it later, go to Settings -> Scheduled Tasks (/admin/extension/settings/cron).

Cron settings - correct cron command

If you cannot run cron locally, you can use a remote service to call a URL instead. First, go to Settings -> Scheduled Tasks (/admin/extension/settings/cron), enable the cron API endpoint, and click Update.

After that, you can give the displayed URL to an external cron service so it can trigger scheduled tasks for you.

Cron settings - remote URL