To install the Crater Invoice App on Debian/Ubuntu, follow these steps:

Crater is a free and open-source invoicing software built on the Laravel PHP framework. It is designed for individuals and small to medium-sized businesses (SMBs).

Here are some of Crater’s key features:

  • Create and send invoices to clients.
  • Generate estimates and proposals.
  • Monitor payments and transactions.
  • Record and track expenses.
  • Generate billing reports.
  • Configure tax settings.
  • Access mobile applications for Android and iOS.

This guide provides the steps to install Crater on a Debian 11/Ubuntu 20.04 system with the following specifications:

  • Web Server: Apache
  • PHP: 7.4
  • Database: MariaDB 10.3
  • Subdomain: crater.maheshpalamuttath.info
  • SSL: Let’s Encrypt
  • Crater: v5.0.6

Installing the LAMP Stack

Install the required packages using the following command:

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

Secure MariaDB Installation

Strengthen the security of your MariaDB installation:

sudo mysql_secure_installation

Restart Apache

Restart the Apache web server to apply changes:

sudo systemctl restart apache2

Download and Prepare Crater

  1. Download Crater from the official website: craterapp.com/downloads.

    sudo wget https://craterapp.com/downloads/file/5.0.6 -O crater.zip

  2. Extract the downloaded zip file:

    sudo apt install unzip -y && sudo unzip crater.zip

  3. Move the extracted folder to the web root directory:

    sudo mv crater /var/www/html/

  4. Adjust ownership and permissions for the necessary directories:

    1
    2
    3
    4
    
    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
    

Set up the Virtual Host

  1. Create a virtual host configuration file:

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

  2. Paste the following virtual host configuration into the file:

    1
    2
    3
    4
    5
    6
    7
    
    ServerName crater.maheshpalamuttath.info    
        DocumentRoot /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
    
  3. Enable necessary modules, activate the virtual host, and reload/restart Apache:

    1
    2
    3
    
    sudo a2enmod rewrite
    sudo a2ensite crater.maheshpalamuttath.info
    sudo systemctl reload apache2 && sudo systemctl restart apache2
    

Secure the Site with SSL

  1. Install Certbot:

    sudo apt install python3-certbot-apache -y

  2. Acquire and install an SSL certificate:

    sudo certbot --non-interactive -m mail@maheshpalamuttath.info --agree-tos --no-eff-email --apache -d crater.maheshpalamuttath.info --redirect

Create the Database

  1. Access the MySQL shell:

    sudo mysql

  2. Create a database and user for Crater:

    1
    2
    3
    4
    5
    
    create database crater;
    create user 'crater'@'localhost' identified by 'crater123';
    grant all privileges on crater.* to 'crater'@'localhost';
    flush privileges;
    exit
    

Run the Installation Wizard

  1. Open your web browser and go to the subdomain (e.g., crater.maheshpalamuttath.info) you configured earlier.
  2. Follow the on-screen instructions to finalize the Crater installation.

Reference: https://maheshpalamuttath.info/index.php/2022/01/16/an-open-source-invoicing-application-for-freelancers-smbs/

Licensed under CC BY-NC-SA 4.0
Last updated on Nov 06, 2022 22:49 +0100