InvoicePlane is a free and open source invoicing system that helps you create and manage your invoices, quotes, and payments. In this tutorial, we will show you how to install InvoicePlane on the Linux Mint Latest operating system.
Before we begin, make sure you meet the following requirements:
mysql
, mbstring
, mcrypt
, gd
, zip
, and curl
First, let's update the package list and install the required packages.
sudo apt update
sudo apt install apache2 mysql-server php php-mysql php-mbstring php-mcrypt php-gd php-zip php-curl unzip wget
Once the installation is complete, verify that Apache and MySQL services are running:
sudo systemctl status apache2
sudo systemctl status mysql
Now, let's download InvoicePlane and install it on our system.
cd /var/www/html/
sudo wget https://github.com/InvoicePlane/InvoicePlane/releases/download/v1.5.11/InvoicePlane-v1.5.11.zip
sudo unzip -d invoiceplane InvoicePlane-v1.5.11.zip
sudo chown -R www-data:www-data /var/www/html/invoiceplane
Before we can use InvoicePlane, we need to create a database and a user for InvoicePlane to use.
sudo mysql -u root -p
Enter your MySQL root password when prompted. Next, create a new database called invoiceplane
:
CREATE DATABASE invoiceplane;
Now, create a new user with a strong password:
CREATE USER 'invoiceplane'@'localhost' IDENTIFIED BY 'password';
Grant the user full privileges to the invoiceplane
database:
GRANT ALL PRIVILEGES ON invoiceplane.* TO 'invoiceplane'@'localhost';
FLUSH PRIVILEGES;
Finally, exit MySQL:
exit
Now that we have installed InvoicePlane and created a database, let's configure it.
cd /var/www/html/invoiceplane/
sudo cp ipconfig.php.example ipconfig.php
sudo nano ipconfig.php
Change the following values:
APP_URL
– The URL where InvoicePlane is located, for example, http://example.com/invoiceplane
DB_HOSTNAME
– The hostname of your MySQL server. If InvoicePlane is installed on the same machine as MySQL, leave this as localhost
DB_USERNAME
– The username you created in Step 3DB_PASSWORD
– The password you created in Step 3DB_DATABASE
– The name of the database you created in Step 3Save and exit the file.
Now, let's install the dependencies using Composer.
First, install Composer if it's not already installed:
sudo apt install composer
Next, change to the InvoicePlane directory:
cd /var/www/html/invoiceplane/
Now, install the dependencies:
sudo composer install
Finally, let's configure Apache to serve InvoicePlane.
sudo nano /etc/apache2/sites-available/invoiceplane.conf
Paste the following configuration:
<VirtualHost *:80>
DocumentRoot /var/www/html/invoiceplane
ServerName your_domain.com
<Directory /var/www/html/invoiceplane>
Options FollowSymLinks
AllowOverride All
Order allow,deny
allow from all
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Replace your_domain.com
with your domain name or IP address.
Save and close the file.
Now, enable the new virtual host and restart Apache:
sudo a2ensite invoiceplane.conf
sudo systemctl restart apache2
Open your web browser and go to the URL you configured in the APP_URL
configuration option. You will see the InvoicePlane login screen.
Congratulations! You have successfully installed InvoicePlane on Linux Mint Latest. You can now log in and start using InvoicePlane to create and manage your invoices, quotes, and payments.
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!