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
Environment
- OS: Debian 11/Ubuntu 20.04
- Web Server: Apache
- PHP: 7.4
- Database: MariaDB 10.3
- Subdomain: crater.maheshpalamuttath.info
- 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 craterapp.com/downloads.
sudo wget https://craterapp.com/downloads/file/5.0.6 -O crater.zip
Unzip crater.zip.
sudo apt install unzip -y && sudo unzip crater.zip
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>
ServerName crater.maheshpalamuttath.info
DocumentRoot /var/www/html/crater/public
<Directory /var/www/html/crater/public>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Require all granted
</Directory>
ErrorLog /var/log/apache2/crater_error.log
CustomLog /var/log/apache2/crate_access.log combined
</VirtualHost>
Activate the rewrite module, virtual host, and restart the apache web server.
sudo a2enmod rewrite
sudo a2ensite crater.maheshpalamuttath.info
sudo systemctl reload apache2 && sudo systemctl restart apache2
Install SSL using certbot.
sudo apt install python3-certbot-apache -y
SSL request for subdomain crater.maheshpalamuttath.info
sudo certbot --non-interactive -m mail@maheshpalamuttath.info --agree-tos --no-eff-email --apache -d crater.maheshpalamuttath.info --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;
exit
Installation Wizard
Browse to the subdomain used for the installation wizard and proceed with the installation