• Contact
  • Contact Us
  • Disclamer
  • Home 1
  • Home 2
  • Home 3
  • Privacy Policy
Saturday, May 10, 2025
How VPS - How to use/setup VPS
  • Login
  • Home
  • Management guides
    • Web servers software
      • Directadmin
      • Hocvps Script
      • Centmin Mod
      • CWP
      • Kloxo-MR
      • Plesk
    • Control Panels
    • Securing VPS/Servers
      • SSL Certificates
      • Upgrading
      • Authentication
  • Operating System
    • CentOS
    • Fedora
    • Debian
    • Linux
    • Arch
    • BSD
    • CoreOS
  • Reviews
  • Coupon
    • Domain Coupon
    • Hosting Coupon
No Result
View All Result
  • Home
  • Management guides
    • Web servers software
      • Directadmin
      • Hocvps Script
      • Centmin Mod
      • CWP
      • Kloxo-MR
      • Plesk
    • Control Panels
    • Securing VPS/Servers
      • SSL Certificates
      • Upgrading
      • Authentication
  • Operating System
    • CentOS
    • Fedora
    • Debian
    • Linux
    • Arch
    • BSD
    • CoreOS
  • Reviews
  • Coupon
    • Domain Coupon
    • Hosting Coupon
No Result
View All Result
How VPS - How to use/setup VPS
No Result
View All Result
Home Operating System CentOS

How to Install InvoicePlane on CentOS 7

How VPS by How VPS
October 1, 2019
in CentOS
0
0
SHARES
29
VIEWS
Share on FacebookShare on Twitter

Contents

  1. Prerequisites
  2. Step 1: Update the system
  3. Step 2: Setup a web server–Apache
  4. Step 3: Install database software–MariaDB 10
    1. 3.1 Setup the MariaDB 10.1 YUM repo:
    2. 3.2 Install MariaDB 10.1 using YUM:
    3. 3.3 Start the MariaDB service:
    4. 3.4 Secure the installation of MariaDB:
    5. 3.5 Create a MariaDB database for InvoicePlane:
  5. Step 4: Install PHP 7
  6. Step 5: Install InvoicePlane
    1. 5.1 Download and unzip the latest stable release of InvoicePlane
    2. 5.2 Setup the URL style
    3. 5.3 Setup proper permissions
    4. 5.4 Modify firewall rules in order to allow web access
    5. 5.5 Continue the installation from a web browser
  7. Want to contribute?


InvoicePlane is an open source e-Commerce application which can be used in to facilitate invoicing, client management, and payment tracking.

This article will cover the process of installing InvoicePlane on a CentOS 7 machine.

Prerequisites

  • A fresh install of Vultr CentOS 7 x64 server instance with the IP address 203.0.113.1.
  • A sudo user.

Step 1: Update the system

Log in from an SSH terminal console as a sudo user, and then update the system as follows:

sudo yum install epel-release -y
sudo yum update -y
sudo shutdown -r now

Log in back as the same sudo user after the system reboot.

Step 2: Setup a web server–Apache

Install the latest stable release of Apache using YUM:

sudo yum install httpd -y

Remove the pre-set Apache welcome page:

sudo sed -i 's/^/#&/g' /etc/httpd/conf.d/welcome.conf

Prevent Apache from listing web directory files to visitors:

sudo sed -i "s/Options Indexes FollowSymLinks/Options FollowSymLinks/" /etc/httpd/conf/httpd.conf

Start the Apache service and enable auto-start on system boot:

sudo systemctl start httpd.service
sudo systemctl enable httpd.service

Step 3: Install database software–MariaDB 10

When dealing with relationship database software on CentOS 7, you can choose MariaDB 10.x in order to experience better performance.

3.1 Setup the MariaDB 10.1 YUM repo:

cat <<EOF | sudo tee -a /etc/yum.repos.d/MariaDB.repo
# MariaDB 10.1 CentOS repository list - created 2017-01-14 03:11 UTC
# http://downloads.mariadb.org/mariadb/repositories/
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.1/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
EOF

3.2 Install MariaDB 10.1 using YUM:

sudo yum install MariaDB-server MariaDB-client -y

3.3 Start the MariaDB service:

sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service

3.4 Secure the installation of MariaDB:

sudo /usr/bin/mysql_secure_installation

Answer questions as below, and be sure to use your own MariaDB root password.

Enter current password for root (enter for none): Enter
Set root password? [Y/n]: Y
New password: <your-password>
Re-enter new password: <your-password>
Remove anonymous users? [Y/n]: Y
Disallow root login remotely? [Y/n]: Y
Remove test database and access to it? [Y/n]: Y
Reload privilege tables now? [Y/n]: Y

3.5 Create a MariaDB database for InvoicePlane:

Log into the MySQL shell as root:

mysql -u root -p

Enter the MariaDB root password you set earlier in order to log in.

In the MySQL shell, create a database invoiceplane, a database user invoiceplaneuser, and its password yourpassword as follows.

Note: Remember to replace these sample parameters with your own ones.

CREATE DATABASE invoiceplane;
CREATE USER 'invoiceplaneuser'@'localhost' IDENTIFIED BY 'yourpassword';
GRANT ALL PRIVILEGES ON invoiceplane.* TO 'invoiceplaneuser'@'localhost' IDENTIFIED BY 'yourpassword' WITH GRANT OPTION;
FLUSH PRIVILEGES;
EXIT;

Step 4: Install PHP 7

As required by InvoicePlane, install PHP 7.1 and necessary extensions using the Webtatic YUM repo as follows:

sudo rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
sudo yum install mod_php71w php71w-gd php71w-common php71w-mbstring php71w-mcrypt php71w-mysqlnd php71w-recode php71w-xmlrpc -y

Next, you need to setup your preferred timezone for your machine:

sudo vi /etc/php.ini

Find the line:

;date.timezone =

Change it to:

date.timezone = America/New_York

Save and quit:

:wq!

Note: According to your specific location, you can determine the proper timezone value from the PHP official website.

Note: If you do not set the timezone in PHP.ini, PHP will use the System Timezone.

Step 5: Install InvoicePlane

5.1 Download and unzip the latest stable release of InvoicePlane

cd
wget https://invoiceplane.com/download/v1.4.10 -O v1.4.10.zip
sudo yum install unzip -y
sudo unzip v1.4.10.zip -d /var/www/html

Note: You can always find the latest stable release from official InvoicePlane download page.

5.2 Setup the URL style

1) Use the vi text editor to open the file /var/www/html/index.php:

sudo vi /var/www/html/index.php

Find the line:

define('IP_URL', '');

Replace it with:

define('IP_URL', 'http://203.0.113.1/');

Or:

define('IP_URL', 'http://example.com/');

Save and quit:

:wq!

2) Open another file /var/www/html/application/config/config.php:

sudo vi /var/www/html/application/config/config.php

Find the line:

$config['index_page'] = 'index.php';

Replace it with:

$config['index_page'] = '';

Save and quit:

:wq!

3) Rename the /var/www/html/htaccess file to /var/www/html/.htaccess:

sudo mv /var/www/html/htaccess /var/www/html/.htaccess

4) Use the vi text editor to open the file /etc/httpd/conf/httpd.conf:

sudo vi /etc/httpd/conf/httpd.conf

Go to the segment <Directory "/var/www/html">...</Directory>, and then find the line:

AllowOverride None

Replace it with:

AllowOverride All

Save and quit:

:wq!

5) Restart Apache in order to put your modifications into effect:

sudo systemctl restart httpd.service

5.3 Setup proper permissions

sudo chown -R apache:apache /var/www/html

5.4 Modify firewall rules in order to allow web access

sudo firewall-cmd --zone=public --permanent --add-service=http
sudo firewall-cmd --reload

5.5 Continue the installation from a web browser

Point your web browser to http://203.0.103.1/setup, and you will be brought into the installation wizard.

1) On the Choose a Language page, choose the language you want, and then click the Continue button.

2) On the Prerequisites page, you will be prompted that ./uploads/customer_files is not writable. You need to create that directory as follows:

sudo mkdir /var/www/html/uploads/customer_files
sudo chown apache:apache /var/www/html/uploads/customer_files

Then click the Try again button to test your settings again. If passed, click the Continue button to move on.

3) On the Database Details page, input the database information you setup earlier:

  • Hostname: localhost
  • Username: invoiceplaneuser
  • Password: yourpassword
  • Database: invoiceplane

Click the Try again button to test your database settings. If passed, click the Continue button to move on.

4) On the Install Tables and Upgrade Tables pages, just click the Continue button.

5) On the Create User Account page, input necessary user information as follows, and then click the Continue button:

  • Email Address:
  • Name:
  • Password:
  • Verify Password:
  • Street Address:

6) On the Installation Complete page, click the Login button to complete the installation.

However, for security purposes, you should forbid access to http://203.0.103.1/setup from now on by editing the .htaccess file as follows:

sudo vi /var/www/html/.htaccess

Find the line:

RewriteEngine On

Add a line right beneath it:

Redirect /setup http://203.0.103.1/`

Save and quit:

:wq!

This concludes our tutorial. Thanks for reading.

Want to contribute?

You could earn up to $300 by adding new articles

Submit your article
Suggest an update
Request an article
Previous Post

Install ownCloud 7 on CentOS 6 with Nginx w/ SSL, PHP-FPM, and PGSQL (Automated Startup Script)

Next Post

How to Disable SELinux on CentOS 7

Next Post

How to Disable SELinux on CentOS 7

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

No Result
View All Result

Recent Post

Install Imagemagick on CentOS
CentOS

Install Imagemagick on CentOS

by How VPS
June 28, 2023
0

This is how I installed Imagemagick on a vanilla CentOS server Start off by installing the prerequisites yum install php-pear...

Read more
how to Check phpinfo

How to Check phpinfo of Hosting or VPS?

June 28, 2023
Failed to download metadata for repo 'appstream' on Centos 8

How to fix error: Failed to download metadata for repo ‘appstream’ on Centos 8

February 25, 2022
How to Fix MySQL Error "Plugin 'InnoDB' registration as a STORAGE ENGINE failed"?

How to Fix MySQL Error “Plugin ‘InnoDB’ registration as a STORAGE ENGINE failed”?

November 17, 2020
How to optimize Mysql or MariaDB

How to optimize Mysql or MariaDB

November 3, 2020

Recent News

  • Install Imagemagick on CentOS
  • How to Check phpinfo of Hosting or VPS?
  • How to fix error: Failed to download metadata for repo ‘appstream’ on Centos 8

Category

  • Arch
  • Authentication
  • Backups
  • BSD
  • Centmin Mod
  • CentOS
  • Control Panels
  • CoreOS
  • CWP
  • Debian
  • Directadmin
  • Encryption
  • Fedora
  • Firewalls
  • Hocvps Script
  • Hosting providers
  • Kloxo-MR
  • Linux
  • Mitigations
  • Operating System
  • Plesk
  • Reviews
  • Securing VPS/Servers
  • Security Patches
  • SSL Certificates
  • Uncategorized
  • Upgrading
  • VPS/Servers management guides
  • Vulnerability Detection
  • Web servers software
  • Webhosting Control Panel
  • About
  • Advertise
  • Careers
  • Contact

© 2025 JNews - Premium WordPress news & magazine theme by Jegtheme.

No Result
View All Result
  • Home
  • Management guides
    • Web servers software
      • Directadmin
      • Hocvps Script
      • Centmin Mod
      • CWP
      • Kloxo-MR
      • Plesk
    • Control Panels
    • Securing VPS/Servers
      • SSL Certificates
      • Upgrading
      • Authentication
  • Operating System
    • CentOS
    • Fedora
    • Debian
    • Linux
    • Arch
    • BSD
    • CoreOS
  • Reviews
  • Coupon
    • Domain Coupon
    • Hosting Coupon

© 2025 JNews - Premium WordPress news & magazine theme by Jegtheme.

Welcome Back!

Login to your account below

Forgotten Password?

Retrieve your password

Please enter your username or email address to reset your password.

Log In
Thabet