How to Install Akaunting Accounting Software on Ubuntu 20.04

Written in PHP, Akaunting is a feature-rich and open-source online accounting software that allows users to manage finances and keep track of all the invoices, payments, and expenses, to mention just but a few of the financial-related tasks.

It’s an ideal online accounting platform for small businesses that do not have the financial wherewithal to procure pricey accounting software. Akaunting provides an elegant and intuitive UI will all the features and controls needed to stay abreast of your cashflows and transactions.

Akaunting Features

Notable features include:

  • Multi-currency support.
  • Visual reporting using graphs.
  • Vendor management system.
  • Ability to send invoices to clients via the SMTP protocol (Requires a mail server configured on your server).
  • Creation and management of bills, invoices, and other payments for jobs in progress.
  • Ability to accept bulk payments.
  • Discount management system.
  • Customer Summary.

In this guide, we will walk you through the installation of Akaunting self-hosted free Accounting software on Ubuntu 20.04.

Step 1: Install LAMP Stack on Ubuntu

Since Akaunting is accessed mostly from the front-end by clients and the Administrator and requires a database server to store all of its data, we need to start off by installing the LAMP stack. We already have an elaborate guide on how to install the LAMP stack on Ubuntu 20.04. This will come in handy before proceeding further.

Some additional PHP modules are required for Akaunting Software to function without any issues. Therefore, install the following PHP modules.

$ sudo apt install libapache2-mod-php php7.4-mysql php7.4-gd php7.4-cli php7.4-imagick php7.4-common php7.4-mysql php7.4-gd php7.4-bcmath php7.4-json php7.4-curl php7.4-zip php7.4-xml php7.4-mbstring php7.4-bz2 php7.4-intl php7.4-imap php7.4-ldap php7.4-xmlrpc php7.4-soap 

Step 2: Create a Akaunting Database

Next, we are going to create a database for Akaunting in the MariaDB database server. This the database that the Akaunting application will use to store all of its data.

Therefore, log in to the MariaDB server.

$ sudo mysql -u root -p

Create the database and the database user.

MariaDB [(none)]> CREATE DATABASE akaunting;
MariaDB [(none)]>CREATE USER 'akaunting_user'@'localhost' IDENTIFIED by 'myP@ssWord';

Then grant all privileges to the user on the database.

MariaDB [(none)]>GRANT ALL ON akaunting.* TO 'akaunting_user'@'localhost'; 

Finally, save the changes and exit the MariaDB prompt.

MariaDB [(none)]>EXIT;
Create Akaunting Database
Create Akaunting Database

Step 3: Install Akaunting Software on Ubuntu

With the database in place, we are next going to download the latest release of Akaunting which comes in a zipped archive. To do so, use the wget command as shown.

$ wget -O

Next, create a directory in the webroot directory,

$ sudo mkdir -p /var/www/akaunting/

And thereafter, extract the contents of the zipped archive in the directory.

$ sudo unzip -d /var/www/akaunting/

Next, set the ownership of the directory to the www-data user and group.

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

And the permissions as follows.

$ sudo chmod -R 755 /var/www/akaunting/

Step 4: Configure Apache Virtual Host for Akaunting on Ubuntu

We need to define a virtual host file for the Akaunting site. This will allow Apache to host the site without any conflict with the default Apache virtual host file.

Using your favorite text editor, define the virtual host file as follows.

$ sudo vim /etc/apache2/sites-available/akaunting.conf

Paste the content shown. Be sure to replace with your fully qualified domain name or server IP.

<VirtualHost *:80>
    DocumentRoot /var/www/akaunting/

    <Directory /var/www/akaunting/>
       DirectoryIndex index.php
       Options +FollowSymLinks
       AllowOverride All
       Require all granted

    ErrorLog ${APACHE_LOG_DIR}/akaunting.error.log
    CustomLog ${APACHE_LOG_DIR}/akaunting.access.log combined


Save the changes and exit the configuration file. Then enable the virtual host file and Apache rewrite module.

$ sudo a2ensite akaunting.conf
$ sudo a2enmod rewrite

Additionally, disable the default Apache virtual host file.

$ sudo a2dissite 000-default.conf

For the changes to come into effect, restart Apache.

$ sudo systemctl restart apache2

Step 5: Complete the Setup of Akaunting on Ubuntu

All the configuration and settings are now in place. The only step remaining is to complete the setup from a web browser. To launch your browser and visit your server’s IP address or Fully Qualified Domain Name (FQDN).

http://server-IP or domain name

You will be greeted by the setup page below prompting you to select your preferred language.

Akaunting Language Selection
Akaunting Language Selection

Next, provide the database details that you defined when creating the database and click ‘Next’.

Akaunting Database Settings
Akaunting Database Settings

NOTE: The current release at the time of penning down this guide ( 1.3.17 ) contains a bug, which yields a PHP error that is displayed on the browser. Here’s a snippet of the error.

(1/1) ErrorException
Trying to access array offset on value of type int
in ArrayInput.php line 135

As a workaround, open the ArrayInput.php file.

$ sudo vim akaunting/vendor/symfony/console/Input/ArrayInput.php

Head over to line 135, and change it from:

} elseif ('-' === $key[0]) {


} elseif (isset($key[0]) && '-' === $key[0]) {
Fix Akaunting Error
Fix Akaunting Error

Save your file, then refresh the installation page.

In the last step, fill out the Company and Admin details, and click ‘Next’.

Akaunting Company
Akaunting Company

Finally, the dashboard comes into view. From here, you can proceed to perform your financial calculations and monitoring expenses.

Akaunting Dashboard
Akaunting Dashboard

This brings to an end this guide on the installation of Akauting software on Ubuntu 20.04.

James Kiarie
This is James, a certified Linux administrator and a tech enthusiast who loves keeping in touch with emerging trends in the tech world. When I'm not running commands on the terminal, I'm taking listening to some cool music. taking a casual stroll or watching a nice movie.

Each tutorial at TecMint is created by a team of experienced Linux system administrators so that it meets our high-quality standards.

Join the TecMint Weekly Newsletter (More Than 156,129 Linux Enthusiasts Have Subscribed)
Was this article helpful? Please add a comment or buy me a coffee to show your appreciation.

1 thought on “How to Install Akaunting Accounting Software on Ubuntu 20.04”

  1. How can I set up subdomains to access the same instance of Laravel Installation of Akaunting?

    For example, Akaunting is installed on and I created another domain like Now I want to use the same instance for both of my domains.


Got something to say? Join the discussion.

Thank you for taking the time to share your thoughts with us. We appreciate your decision to leave a comment and value your contribution to the discussion. It's important to note that we moderate all comments in accordance with our comment policy to ensure a respectful and constructive conversation.

Rest assured that your email address will remain private and will not be published or shared with anyone. We prioritize the privacy and security of our users.