Install Akaunting accounting software on Ubuntu 22.04|20.04|18.04

Posted on 27 views

Akaunting is a free, open source and online accounting software designed for small businesses and freelancers. This tool is built with modern technologies such as Laravel, Bootstrap, jQuery, RESTful API, and others.

In this blog post, we will look at how to install and configure Akaunting on Ubuntu Linux system. For a complete list of Akaunting features, refer to the official guide. Below is a summary of features.

  • Various Payments: Add non-billable expenses as payments in order to keep your bank/cash account balances up-to-date.
  • Unlimited Attachments: Attach your business files and/or receipts to invoices, expenses, payments for original evidence.
  • Tax Rates: Set up different names for each tax, and link specific taxes to specific products or transactions to save you time.
  • Transaction Categories: Create categories for incomes, expenses and items and see the flow of your business at a glance.
  • Multi-Currency: Send invoices and add expenses in any currency and let the system convert them in your main currency.
  • Bulk Actions: Enable, disable, export, and delete records easily in batch mode.
  • Discount: Encourage client loyalty with your work by giving them a discount from the usual cost.
  • Dashboards & Widgets: Create dashboards/widgets that serve different purposes and share them with your staff/accountant.

Install Akaunting on Ubuntu 22.04|20.04|18.04

Akaunting installation has the following environment dependencies:

  • PHP 7.3 or higher
  • Database (eg: MySQL, PostgreSQL, SQLite)
  • Web Server (eg: Apache, Nginx, IIS)
  • URL Rewrite (mod_rewrite)

For PHP, these extensions should be installed

  • PDO
  • MySQL
  • OpenSSL
  • Mbstring
  • Tokenizer
  • XML
  • Zip
  • GD
  • CURL

Our installation will use Nginx Web Server and MariaDB database server. Before we start the installation, update and upgrade your system.

sudo apt update && sudo apt -y full-upgrade
[ -f /var/run/reboot-required ] && sudo reboot -f

Step 1: Install PHP and Extensions

Add PHP Ondřej Surý PPA repository on Ubuntu 22.04/20.04/18.04:

sudo apt update
sudo apt install lsb-release ca-certificates apt-transport-https software-properties-common -y
sudo add-apt-repository ppa:ondrej/php

Start by installing PHP and required extensions on your Ubuntu server

sudo apt install php7.4
sudo apt install php7.4-bcmath,xml,fpm,mysql,zip,intl,ldap,gd,cli,bz2,curl,mbstring,pgsql,opcache,soap,cgi

Confirm PHP version installed:

$ php --version
PHP 7.4.29 (cli) (built: Apr 21 2022 10:16:36) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
    with Zend OPcache v7.4.29, Copyright (c), by Zend Technologies

Step 2: Install MariaDB Database server

We’ll use MariaDB to store Akaunting data, install it by running the commands below:

sudo apt install mariadb-server mariadb-client

Once MariaDB is installed and running, create a database and user for Akaunting.

$ sudo mysql -u root -p
CREATE DATABASE akaunting;
GRANT ALL PRIVILEGES ON akaunting.* TO 'akaunting'@'localhost' IDENTIFIED BY 'StrongPassword';
FLUSH PRIVILEGES;
\q

Step 3: Download Akaunting software on Ubuntu

Download Akaunting to your local machine using the wget

sudo apt install unzip wget curl -y
VER=$(curl -s https://api.github.com/repos/akaunting/akaunting/releases/latest|grep tag_name|cut -d '"' -f 4)
wget https://github.com/akaunting/akaunting/releases/download/$VER/Akaunting_$VER-Stable.zip

Extract the file and move the folder to /var/www directory.

unzip Akaunting_$VER-Stable.zip -d akaunting
sudo mv akaunting /var/www/

Step 4: Install Nginx and initialize Akaunting

The last step is the installation of Nginx and UI configuration of Akaunting software.

sudo apt remove apache2
sudo apt install nginx

Set /var/www/akaunting directory permission to www-data user and group

sudo chown -R www-data:www-data /var/www/akaunting

Create new Nginx VirtualHost

sudo vim /etc/nginx/conf.d/akaunting.conf

Add and modify the contents below while modifying your domain name akaunting.example.com.

server 
   listen 80;
   server_name akaunting.example.com;
   access_log  /var/log/nginx/akaunting_access.log;
   error_log   /var/log/nginx/akaunting_error.log;

   root  /var/www/akaunting;
   index  index.php index.html;
 
   location / 
             try_files $uri /index.php;
    

   location ~ \.php$ 
            try_files $uri =404;
	    fastcgi_split_path_info ^(.+.php)(/.*)$;
            fastcgi_pass unix:/var/run/php/php-fpm.sock;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            fastcgi_index index.php;
            include fastcgi_params;
    

   location ~ /\. 
             return 404;
    

    location ~ (?:composer.json

Verify that our configuration file is loadable

$ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Restart nginx and php-fpm:

sudo systemctl restart nginx php7.4-fpm.service

When done, launch the installer on http://akaunting.example.com

Select your preferred language

akaunting-ubuntu-18.04-select-language-minThen Configure Database:

  • Hostname: localhost
  • Database: akaunting
  • Username: akaunting
  • Password: StrongPassword

Wait for verification then continue to set admin account and company name

akaunting-add-admin-1024x684

When done, you should get ad admin login page

akaunting-ubuntu-18.04-login-min

Login with the set user email and password. If all goes well, you should be greeted with an admin management portal like below.

akaunting-ubuntu-18.04-web-dashboard-min-1024x239

That’s all. Start exploring Akaunting open-source online accounting software. For further reading, check the Official documentation.

coffee

Gravatar Image
A systems engineer with excellent skills in systems administration, cloud computing, systems deployment, virtualization, containers, and a certified ethical hacker.