Installing
This walks through a first install from a release
This walks through a first install from a release zip. The browser installer and a console installer do the same steps, so you can use either.
Before you start #
- Your server meets the requirements.
- You have an empty database and its user and password.
- You have a licence key (a trial key will do).
- The site's address is on HTTPS and its document root is LBM's
public/folder.
1. Upload the files #
- Download the latest release zip from the releases page.
- Unpack it on your server, into the folder that will hold LBM.
- Make sure
system/andconfig/are writable by the web server.
2. Open the installer #
Go to your site's address plus /install, for example https://billing.example.com/install. Until the installer has finished, every page of the site sends you here. When it has finished, /install closes for good.
3. The steps #
The installer shows its progress along the top. You can go back to any step, and a step that is already done is skipped.
Requirements #
The server's PHP version, extensions and folders are checked. Anything marked required must pass before you can go on.
Database #
Choose MySQL/MariaDB or PostgreSQL and enter the host, port, database name, user and password. Nothing is written until the connection works. LBM then writes the connection to config/database.php, and generates two keys (see below).
Tables #
LBM creates every table and fills in the reference data: statuses, countries, billing cycles, and the email and SMS templates. It is safe to run more than once.
Settings #
How invoices and emails identify your business: company name, the address clients reach the site on, the billing email address, the time zone, date formats and the default currency. All of it can be changed later under Settings.
There is also an optional outgoing email section: an SMTP server to send invoices and password resets from. If you fill it in, your vault key is also emailed to the owner when the installation finishes. You can set this up later under Settings > Mail.
Licence #
Enter your licence key. The installer asks the licence server to confirm it for this address and goes on when it does. A trial key works here like any other.
Owner #
Create the owner account: the first staff member. The owner has every permission and is the one account nobody else can change. Choose a strong password; you can add more staff and narrower roles once you are signed in.
Finish #
Finishing closes the installer for good, so it cannot be run again from the browser.
Keep your keys #
The installer generates two keys and writes them into config/:
- the application key, in
config/security.php, which signs sessions and forms, and - the vault key, in
config/Shared.php, which encrypts the secrets LBM stores (gateway keys, server passwords).
On the last screen the installer shows your vault key once. Copy it somewhere safe, such as a password manager. If you lose it, the secrets stored in the database cannot be read again and every gateway, server and registrar password has to be entered again. Back up config/ with the database.
Installing from the console #
The same steps can run without a browser:
php laika install:run --db-name=billing --db-user=billing --db-pass=secret \
--app-name="Example Hosting" --app-url=https://billing.example.com \
--app-email=billing@example.com --licence-key=YOUR-KEY \
--owner-email=you@example.com
Each step already done is skipped, so a run that stopped can be run again. The owner's password and the vault key are printed once. php laika install:status exits with 0 when the copy is installed, which is useful in a deploy script.
After installing #
You are shown two things worth doing next:
- Add the scheduler to cron, so invoices, reminders, provisioning and email run on time.
- Set up outgoing email under Settings > Mail (see Email and SMS), so invoices and password resets can be delivered.
Then sign in: see First sign-in and what to do next.
Something missing or wrong? Tell us or contact us.