Crater is an invoicing application based on the Laravel PHP framework targeting individual users or small and medium-sized businesses. Crater is an open source application and can be installed on your own server.
*Crater Features*
Features contained in the Crater:
· Invoice: create and send invoices to clients · Estimate: make an estimate or offer a price · Track Payment: tracking transactions and payments · Exprenses: record and track expenses · Reports: make a billing report · Taxes: set the type of tax · Mobile App: Android and iOS mobile versions available
*Tutorial Environment*
Environment used in this tutorial:
· OS: Ubuntu 20.04 · Web Server: Apache · PHP: 7.4 · Database: MariaDB 10.3 · Subdomain: crater.musaamin.my.id · SSL: Let’s Encrypt · Crater: v5.0.6
*Download Crater*
Download Crater on craterapp.com/downloads.
[INPUT]1 wget https://craterapp.com/downloads/file/5.0.6 -O crater.zip
Unzip crater.zip.
[INPUT]1 2 apt install unzip -y unzip crater.zip
*Install Apache*
Install Apache web server.
[INPUT]1 apt install apache2 -y
Move the crater folder.
[INPUT]1 mv crater /var/www/crater.musaamin.my.id
Change the ownership and permissions of the folder.
[INPUT]1 2 3 4 chown -R www-data:www-data /var/www/crater.musaamin.my.id chmod 775 /var/www/crater.musaamin.my.id/storage/framework chmod 775 /var/www/crater.musaamin.my.id/storage/logs chmod 775 /var/www/crater.musaamin.my.id/bootstrap/cache
Create virtual hosts file.
[INPUT]1 nano /etc/apache2/sites-available/crater.musaamin.my.id.conf
Enter the virtual host configuration.
[INPUT]1 2 3 4 5 6 7 8 9 10 11 12 13
Activate the rewrite module, virtual host, and restart the apache web server.
[INPUT]1 2 3 a2enmod rewrite a2ensite crater.musaamin.my.id systemctl restart apache2
*Install PHP*
Install PHP and the required extensions.
[INPUT]1 apt install libapache2-mod-php php-common php-bcmath php-mbstring php-mysql php-tokenizer php-zip php-curl -y
Restart apache.
[INPUT]1 systemctl restart apache2
*Install SSL*
Install certbot.
[INPUT]1 apt install python3-certbot-apache -y
SSL request for subdomain crater.musaamin.my.id.
[INPUT]1 certbot –non-interactive -m email@example.com –agree-tos –no-eff-email –apache -d crater.musaamin.my.id –redirect
*Install MariaDB*
Install MariaDB database.
[INPUT]1 apt install mariadb-server -y
Securing MariaDB installation.
[INPUT]1 2 3 4 5 6 7 8 9 10 mysql_secure_installation Enter current password for root (enter for none): ENTER Set root password? [Y/n] ENTER New password: ENTER_PASSWORD Re-enter new password: RE-ENTER_PASSWORD Remove anonymous users? [Y/n] ENTER Disallow root login remotely? [Y/n] ENTER Remove test database and access to it? [Y/n] ENTER Reload privilege tables now? [Y/n] ENTER
Create database.
[INPUT]1 2 3 4 5 6 7 mysql create database crater; create user ‘crater’@’localhost’ identified by ‘secret’; grant all privileges on crater.* to ‘crater’@’localhost’; flush privileges; exit
*Installation Wizard*
Browse to the subdomain 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 folder permissions. *Continue*.
Folder 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.
Crater Dashboard