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
Download Crater from the official website: craterapp.com/downloads.
sudo wget https://craterapp.com/downloads/file/5.0.6 -O crater.zipExtract the downloaded zip file:
sudo apt install unzip -y && sudo unzip crater.zipMove the extracted folder to the web root directory:
sudo mv crater /var/www/html/Adjust ownership and permissions for the necessary directories:
1 2 3 4sudo 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
Create a virtual host configuration file:
sudo vim /etc/apache2/sites-available/crater.confPaste the following virtual host configuration into the file:
1 2 3 4 5 6 7ServerName 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 combinedEnable necessary modules, activate the virtual host, and reload/restart Apache:
1 2 3sudo a2enmod rewrite sudo a2ensite crater.maheshpalamuttath.info sudo systemctl reload apache2 && sudo systemctl restart apache2
Secure the Site with SSL
Install Certbot:
sudo apt install python3-certbot-apache -yAcquire 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
Access the MySQL shell:
sudo mysqlCreate a database and user for Crater:
1 2 3 4 5create database crater; create user 'crater'@'localhost' identified by 'crater123'; grant all privileges on crater.* to 'crater'@'localhost'; flush privileges; exit
Run the Installation Wizard
- Open your web browser and go to the subdomain (e.g.,
crater.maheshpalamuttath.info) you configured earlier. - Follow the on-screen instructions to finalize the Crater installation.