Simple Invoices is a web based open source invoicing system. It is very simple but functional application, supporting various billing formats. It is great for small organizations and home users. In this blog post we will guide you through the installation for Simple Invoices on a CentOS 7 VPS with Apache, PHP and MariaDB.
To start the Simple Invoices installation, login to your server as user root
ssh root@IP
and as usual, run the following command to make sure that all packages on your CentOS 7 virtual server are up to date:
yum -y update
Now, we will install Apache web server:
yum install httpd
Once it is installed, start Apache and set it to start on system start up:
systemctl start httpd systemctl enable httpd
Install PHP among with few PHP modules required by the application:
yum -y install php php-pdo php-common php-mysql
Run the following commands to install MariaDB
yum install mariadb mariadb-server
Start the MariaDB server and enable it to start on system start up:
systemctl start mariadb systemctl enable mariadb
Run the mysql_secure_installation
script to secure the database server and set your MariaDB root password.
Simple Invoices requires a blank database. Log in to the MariaDB server as user ‘root’ and create new database and user for the application.
mysql -u root -p CREATE DATABASE simpleinvoices; CREATE USER 'siuser'@'localhost' IDENTIFIED BY 'PASSWORD'; GRANT ALL PRIVILEGES ON `simpleinvoices`.* TO 'siuser'@'localhost'; FLUSH PRIVILEGES; exit
Don’t forget to replace ‘PASSWORD’ with an actual strong password.
Download the latest stable release of Simple Invoices from their official website:
wget https://bitbucket.org/simpleinvoices/simpleinvoices/downloads/simpleinvoices.2011.1.zip
Install the ‘unzip’ package necessary for unpacking the Simple Invoices zip archive and unpack the downloaded archive to the document root directory of your server:
yum -y install unzip unzip simpleinvoices.2011.1.zip -d /var/www/html/
Edit the Simple Invoices configuration file and enter the details of the database we created:
vim /var/www/html/simpleinvoices/config/config.ini database.params.host = localhost database.params.username = siuser database.params.password = PASSWORD database.params.dbname = simpleinvoices
Change the ownership of the ‘/var/www/html/simpleinvoices/’ directory:
chown -R apache:apache /var/www/html/simpleinvoices/
Create Apache virtual host for your website. Create ‘/etc/httpd/conf.d/vhosts.conf’ file with the following content:
vim /etc/httpd/conf.d/vhosts.conf IncludeOptional vhosts.d/*.conf
and create the virtual host:
mkdir /etc/httpd/vhosts.d/ vim /etc/httpd/vhosts.d/yourdomain.com.conf <VirtualHost YOUR_SERVER_IP:80> ServerAdmin webmaster@yourdomain.com DocumentRoot "/var/www/html/simpleinvoices/" ServerName yourdomain.com ServerAlias www.yourdomain.com ErrorLog "/var/log/httpd/yourdomain.com-error_log" CustomLog "/var/log/httpd/yourdomain.com-access_log" combined <Directory "/var/www/html/simpleinvoices/"> DirectoryIndex index.html index.php Options FollowSymLinks AllowOverride All Require all granted </Directory> </VirtualHost>
Restart the Apache web server for the changes to take effect:
systemctl restart httpd
Now, open your favorite web browser and point it to http://yourdomain.com to run the web installer. You will have to choose your database type and enter the necessary information to complete the installation.
Of course you don’t have to do any of this if you use one of our Linux VPS Hosting services, in which case you can simply ask our expert Linux admins to install Simple Invoices for you. They are available 24×7 and will take care of your request immediately.
PS. If you liked this post please share it with your friends on the social networks using the buttons on the left or simply leave a reply below. Thanks.