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 (SMBs).
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.opensio.co.in
- 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 -y unzip && 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.opensio.co.in
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/crater_access.log combined
</VirtualHost>
Activate the rewrite module, virtual host, and restart the apache web server.
sudo a2enmod rewrite
sudo a2ensite crater.conf
sudo systemctl reload apache2 && sudo systemctl restart apache2
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
Install SSL using certbot.
sudo apt install python3-certbot-apache -y
SSL request for subdomain crater.opensio.co.in
sudo certbot –non-interactive -m info@opensio.co.in –agree-tos –no-eff-email –apache -d crater.opensio.co.in –redirect
Installation Wizard
Browse to the subdomain (crater.opensio.co.in)used for the installation wizard.
Click Check Requirements to check if the server meets the requirements to run Crater.
![](https://i0.wp.com/maheshpalamuttath.info/wp-content/uploads/2022/01/1.png?resize=840%2C386&ssl=1)
Crater System Requirements
If it meets the requirements click Continue.
![](https://i0.wp.com/maheshpalamuttath.info/wp-content/uploads/2022/01/2.png?resize=840%2C386&ssl=1)
PHP extensions
Checking directory permissions. Continue.
![](https://i0.wp.com/maheshpalamuttath.info/wp-content/uploads/2022/01/3.png?resize=840%2C386&ssl=1)
Directory Permissions
Configure Site URL and database. Enter the database name, username, and password that was created previously. Save & Continue.
Database Connection
Domain verification. Verify Now.
![](https://i0.wp.com/maheshpalamuttath.info/wp-content/uploads/2022/01/5.png?resize=840%2C386&ssl=1)
Domain Verification
Mail configuration, enter the name and email address as the identity of the email sender. Save.
![](https://i0.wp.com/maheshpalamuttath.info/wp-content/uploads/2022/01/6.png?resize=840%2C386&ssl=1)
Mail Configuration
Account information, enter your name, email, and password. Save & Continue.
![](https://i0.wp.com/maheshpalamuttath.info/wp-content/uploads/2022/01/7.png?resize=840%2C386&ssl=1)
Account Information
Company information, enter company name and country. Save & Continue.
![](https://i0.wp.com/maheshpalamuttath.info/wp-content/uploads/2022/01/8.png?resize=840%2C386&ssl=1)
Company Information
Company preferences, select currency (cannot be changed later), date format, and time zone. Save & Continue.
![](https://i0.wp.com/maheshpalamuttath.info/wp-content/uploads/2022/01/9.png?resize=840%2C386&ssl=1)
Company Preferences
Install Crater complete.
![](https://i0.wp.com/maheshpalamuttath.info/wp-content/uploads/2022/01/10.png?resize=840%2C386&ssl=1)
![](https://i0.wp.com/maheshpalamuttath.info/wp-content/uploads/2022/01/11.png?resize=840%2C426&ssl=1)
Reference: https://docs.craterapp.com/