Monday, January 17, 2022

Install Crater Invoice App on Debian/Ubuntu


The crater is an open-source self-hosted invoicing application based on the Laravel PHP framework targeting individual users or small and medium-sized businesses (SMB). 

Crater Features

  • Invoice: Create and send invoices to clients
  • Estimate: make an estimate or offer a price
  • Track Payment: tracking transactions and payments
  • Expenses: record and track expenses
  • Reports: make a billing report
  • Taxes: set the type of tax
  • Mobile App: Android and iOS mobile versions available


  • OS: Debian 11/Ubuntu 20.04
  • Web Server: Apache
  • PHP: 7.4
  • Database: MariaDB 10.3
  • Subdomain:
  • SSL: Let’s Encrypt
  • Crater: v5.0.6

Install LAMP Stack

sudo apt install -y apache2 mariadb-server libapache2-mod-php php-common php-bcmath php-mbstring php-mysql php-tokenizer php-zip php-curl

Securing MariaDB installation.

sudo mysql_secure_installation

Restart apache.

sudo systemctl restart apache2

Download Crater

Download Crater on

sudo wget -O 


sudo apt install unzip -y && sudo unzip

Move the crater folder.

sudo mv crater /var/www/html/

Change the ownership and permissions of the folder.

sudo chown -R www-data:www-data /var/www/html/crater/

sudo chmod 775 /var/www/html/crater/storage/framework

sudo chmod 775 /var/www/html/crater/storage/logs

sudo chmod 775 /var/www/html/crater/bootstrap/cache

Create virtual hosts file.

sudo vim /etc/apache2/sites-available/crater.conf

Enter the virtual host configuration.

<VirtualHost *:80>


    DocumentRoot /var/www/html/crater/public

    <Directory /var/www/html/crater/public> 

        Options Indexes FollowSymLinks MultiViews

        AllowOverride All

        Require all granted


    ErrorLog /var/log/apache2/crater_error.log

    CustomLog /var/log/apache2/crate_access.log combined


Activate the rewrite module, virtual host, and restart the apache web server.

sudo a2enmod rewrite

sudo a2ensite

sudo systemctl reload apache2 && sudo systemctl restart apache2

Install SSL using certbot.

sudo apt install python3-certbot-apache -y 

SSL request for subdomain

sudo certbot --non-interactive -m --agree-tos --no-eff-email --apache -d --redirect

Create database.

sudo mysql

create database crater;

create user 'crater'@'localhost' identified by 'crater123';

grant all privileges on crater.* to 'crater'@'localhost';

flush privileges;


Installation Wizard

Browse to the subdomain used for the installation wizard and proceed with the installation 


No comments:

Post a Comment