What is Invoice Plane?
[Invoice Plane is a] self-hosted open source application for managing your invoices, clients and payments.-https://www.invoiceplane.com/
Installation
- Log into the Linux device
- Run the following commands in a terminal window:
# update software repositories
sudo apt update
# install available software updates
sudo apt upgrade -y
# install prerequisites
sudo apt install curl wget zip -y
# install Apache HTTPD and MySQL
sudo apt install apache2 mariadb-server mariadb-client -y
# install PHP components
sudo apt install php7.4 php7.4-curl php7.4-common php7.4-json php7.4-mysqli php7.4-gd php7.4-mbstring php7.4-xmlrpc -y
# configure the MySQL database
sudo su
mysql_secure_installation - Press Enter to login as root
- Type N and press Enter to not switch to unix socket authentication
- Type Y and press Enter to set a root password, type the password twice to confirm
- Type Y and press Enter to remove anonymous users
- Type Y and press Enter to disallow root login remotely
- Type Y and press Enter to remove the test database
- Type Y and press Enter to reload privilege tables
- Run the following command to login into MySQL:
mysql -u root -p
- Authenticate with the root password set earlier
- Run the following commands to create the Invoice Plane database and database user
CREATE DATABASE invoice_plane;
GRANT ALL ON invoice_plane.* to 'invoice_plane_rw'@'localhost' IDENTIFIED BY 'Inv0!c3Pl@n3!';
FLUSH PRIVILEGES;
EXIT;
exit - Continue with the following commands:
# fetch the latest download URL
regex='"browser_download_url": "(https:\/\/github.com\/InvoicePlane\/InvoicePlane\/releases\/download\/[^/]*\/[^/]*\.zip)"' && response=$(curl -H "Accept: application/vnd.github.v3+json" https://api.github.com/repos/InvoicePlane/InvoicePlane/releases/latest) && [[ $response =~ $regex ]] && downloadURL="${BASH_REMATCH[1]}"
# download the latest release
wget -O invoiceplane.zip $downloadURL
# create target directory
sudo mkdir /var/www/html/invoiceplane
# extract the downloaded zip to /var/www/html/invoiceplane
sudo unzip ./invoiceplane.zip -d /var/www/html/invoiceplane
# copy sample config file
sudo cp /var/www/html/invoiceplane/ipconfig.php.example /var/www/html/invoiceplane/ipconfig.php
# edit config.php
sudo nano /var/www/html/invoiceplane/ipconfig.php - Scroll down to the const IP_URL variable and set the value to the IP address or DNS name of the host
IP_URL=http://localhost/invoiceplane
- Press CTRL+O, Enter, CTRL+X to write the changes
- Continue with the following commands:
# set the owner of the invoiceplane directory
sudo chown -R www-data:www-data /var/www/html/invoiceplane
Invoice Plane Web Installer
- Open a web browser and navigate to http://DNSorIP/invoiceplane
- The Invoice Plane Installation web installer should be load
- Click the Setup button
- Select a Language > Click Continue
- Click Continue on the Prerequisites page
- Complete the Database Details form as follows
Hostname: localhost
Port: 3306
Username: invoice_plane_rw
Password: Inv0!c3Pl@n3!
Database: invoice_plane - Click the Try Again button then click Continue
- Complete the Create User Account form > Click Continue
- Back in the terminal, run the following command to disable the setup wizard
# set the DISABLE_SETUP flag to true
sudo sed -i 's/DISABLE_SETUP=false/DISABLE_SETUP=true/g' /var/www/html/invoiceplane/ipconfig.php - Click the Login button
- Login with the Email and Password setup during the installation
- Welcome to Invoice Plane
Source: https://wiki.invoiceplane.com/en/1.0/getting-started/installation