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.
Crater System Requirements
If it meets the requirements click Continue.
PHP extensions
Checking directory permissions. Continue.
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.
Domain Verification
Mail configuration, enter the name and email address as the identity of the email sender. Save.
Mail Configuration
Account information, enter your name, email, and password. Save & Continue.
Account Information
Company information, enter company name and country. Save & Continue.
Company Information
Company preferences, select currency (cannot be changed later), date format, and time zone. Save & Continue.
Company Preferences
Install Crater complete.
Reference: https://docs.craterapp.com/