Crater is an open-source invoicing app built with Laravel. It allows freelancers and small businesses to manage their invoices, expenses, and clients with ease. In this tutorial, we'll show you how to install Crater on Debian.
Before we begin, make sure your Debian system meets the following requirements:
Crater requires a web server to run. We'll use Apache in this tutorial. To install Apache on Debian, run the following commands:
sudo apt update
sudo apt install apache2
After the installation is complete, start the Apache service and enable it to start automatically on boot:
sudo systemctl start apache2
sudo systemctl enable apache2
Verify that Apache is running by visiting http://localhost in your web browser. You should see the Apache2 Debian Default Page.
Crater uses a MySQL database to store its data. To install MySQL on Debian, run the following command:
sudo apt install mysql-server
During the installation process, you will be prompted to set a root password for MySQL. Choose a strong password and remember it.
After the installation is complete, start the MySQL service and enable it to start automatically on boot:
sudo systemctl start mysql
sudo systemctl enable mysql
Verify that MySQL is running by logging in to the MySQL shell:
mysql -u root -p
Enter the root password when prompted. If you can successfully log in, you're ready to proceed.
Crater requires PHP 7.3 or higher. To install PHP on Debian, run the following commands:
sudo apt install php php-common php-cli php-mysql php-curl php-mbstring php-xml
After the installation is complete, verify that PHP is installed by running the following command:
php --version
You should see the PHP version number displayed.
Composer is a dependency manager for PHP. It is used to install and manage Crater's dependencies. To install Composer on Debian, run the following commands:
sudo apt install curl
curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer
After the installation is complete, verify that Composer is installed by running the following command:
composer --version
You should see the Composer version number displayed.
Crater uses Node.js and NPM to manage its front-end dependencies. To install Node.js and NPM on Debian, run the following commands:
sudo apt install nodejs npm
After the installation is complete, verify that Node.js and NPM are installed by running the following commands:
node --version
npm --version
You should see the Node.js and NPM version numbers displayed.
Now that we've installed all the required dependencies, we're ready to clone Crater from GitHub. To do this, run the following commands:
cd /var/www/html
sudo git clone https://github.com/crater-invoice/crater.git
cd crater
sudo composer install
sudo npm install
sudo npm run dev
The first command changes the current directory to /var/www/html. This is where Apache serves its web files from by default. The second command clones the Crater repository from GitHub. The third command changes the current directory to the Crater directory. The fourth command installs Crater's PHP dependencies using Composer. The fifth command installs Crater's front-end dependencies using NPM. The sixth command compiles Crater's assets using NPM.
Crater requires a MySQL database and user to function. To create a database and user, log in to the MySQL shell:
mysql -u root -p
Enter the root password when prompted. Then, create a new database and user:
CREATE DATABASE crater_db;
CREATE USER 'crater_user'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON crater_db.* TO 'crater_user'@'localhost';
FLUSH PRIVILEGES;
Replace 'password' with a strong password for the crater_user.
Now that we've set up the database and user, we're ready to configure Crater. Copy the .env.example file to .env:
sudo cp .env.example .env
Then, edit the .env file with your favorite text editor:
sudo nano .env
Find the following lines in the .env file:
DB_DATABASE=
DB_USERNAME=
DB_PASSWORD=
And replace them with:
DB_DATABASE=crater_db
DB_USERNAME=crater_user
DB_PASSWORD=password
Replace 'password' with the password you set for the crater_user.
Save and close the .env file.
Finally, run the Crater installer to set up the database schema and create a user:
php artisan crater:install
Follow the prompts to create a user and set up your company information.
You should now be able to access Crater by visiting http://localhost/crater/public in your web browser. Log in with the username and password you created during the installation process.
That's it! You have successfully installed Crater on Debian.
If you want to self-host in an easy, hands free way, need an external IP address, or simply want your data in your own hands, give IPv6.rs a try!
Alternatively, for the best virtual desktop, try Shells!