Akaunting – installation & configuration on Ubuntu & CentOS

Akaunting is an open source software related to online accounting for business. Akaunting is free to use completely, it does not offer any trial. You can manage your money online using Akaunting because it has all the needed tools. You can access Akaunting from any device. You can run your business, check your finance reports, get information about your cash position anytime via computer, tablet or mobile phone.

Akaunting is open source, so you have access to its code. It provides you full privacy, hence, your data is safe and secure. Akaunting helps you to stay on top of your cashflow and make smarter decisions about your business. You can get reports of your financial health. You can create different categories for expenses, income and items. You can issue professional invoices to your customers. You can also accept bulk payments from your clients. Akaunting provides a client portal to its users. Akaunting helps you to manage record of your bills and expenses and cash flow out. You can add deposits to accounts and transfer between accounts. Akaunting provides you vendor management, customer management, inventory management, client portal, customer summary and much more. It supports multiple currencies.

Akaunting was developed in Laravel ( PHP framework ), Bootstrap ( CSS framework ), jQuery and some RESTful API. It is available on Github. Akaunting is available in 28 popular languages including Arabic, English, Albanian, Bulgarian, Brazilian, Chinese, Croatian, Czech, Danish, Dutch, French, German, Greek, Indonesian, Italian, Hebrew, Mexican, Norwegian, Persian, Portuguese, Romanian, Russian, Spanish, Swedish, Thai, Turkish, Ukrainian and Vietnamese.

Akaunting Prerequisites:

  1. VPS must have at least 1GB RAM and 1 Core processor.
  2. A registered domain name
  3. You should setup your VPS’s hostname.
  4. Login as root user and create user with root privileges.

Update your system:

Before proceeding with installation of any kind of package, use the following command to update your Ubuntu system. To execute this command, remember to login from non-root user with sudo privileges. After execution of this command, you will be prompted to Is this ok? Type ‘y’ and hit Enter key.

Step 1:

For Ubuntu

# sudo apt update && sudo apt upgrade

For CentOS

# sudo yum update -y

Install unzip:

You will be required to unzip the compressed zip folder of Akaunting, for this purpose, you will have to install unzip.

For Ubuntu:

To install execute the command.

# sudo apt-get install unzip

For CentOS:

To install execute the command.

# sudo yum install unzip -y

Install build-essential:

Some essentials are required for installing and setting up Akaunting. Follow the steps below for build-essential.

Ubuntu:

To install execute the command.

# sudo apt install build-essential

Install EPEL repository:

CentOS:

To install EPEL repository, execute the following command.

# sudo rpm -Uvh

https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

Install Webstatic YUM repository:

CentOS:

To install webstatic YUM repository, execute the following command.

# sudo rpm -Uvh

https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

Install PHP:

PHP is a server-side scripting language. To install PHP, execute the following command.

Ubuntu:

# sudo apt install -y php7.0

CentOS:

# sudo yum install -y php72w

Install PHP extensions:

For installation of Akaunting, some PHP extensions are required. The required extensions include php-cli, php-fpm, php-mbstring, php-mysql, php-common, php-zip, php-curl and php-xml. To install these extensions, execute the following command.

Ubuntu:

# sudo apt install -y php7.0-cli php7.0-fpm php7.0-mbstring php7.0-mysql php7.0-common php7.0-zip php7.0-curl php7.0-xml

CentOS:

# sudo yum install -y php72w-cli php72w-fpm php72w-common php72w-mbstring php72w-xml php72w-mysql php72w-pgsql php72w-sqlite3 php72w-zip php72w-curl

Check the installation of PHP

To check PHP version and installation of PHP, execute the command below.

# php -v

Install MySQL server:

Akaunting requires MySQL database. To install MySQL, execute the command below.

Ubuntu:

# sudo apt install -y mysql-server

Set password for your MySQL server and repeat password for it as shown below.

To do security settings for MySQL server, execute the command below.

# sudo mysql_secure_installation

CentOS:

# sudo yum install -y mariadb-server

Now start and enable MariaDB server, so that on reboot, MariaDB can restart automatically.

# sudo systemctl enable mariadb
# sudo systemctl start mariadb

To do security settings for MySQL server, execute the command below.

# sudo mysql_secure_installation

Configure database:

In this section, you will have to create a database, add a user, setup its credentials and assign database to user. To do so, login to MySQL shell.

# mysql -u root -p

Now execute the following query to create database, username and assign database.

CREATE DATABASE ak;

GRANT ALL ON ak.* TO ‘ak’ IDENTIFIED BY ‘654321Ab’;

FLUSH PRIVILEGES;

EXIT;

 

Install Nginx server:

You will be required to install nginx server, for this purpose, you will need to follow the steps below.

Step 1:

Ubuntu:

To install execute the command.

# sudo apt-get install nginx

CentOS:

To install execute the command.

# sudo yum -y install nginx

Step 2:

CentOS + Ubuntu

Now you will need to start Nginx server by executing command below.

# sudo systemctl start nginx

To check status of Nginx server, execute the command below.

# sudo systemctl status nginx

To check installation, access IP address of your Alibaba Cloud ECS or your domain name that you have pointed to your IP address. In my case, I have accessed via domain name.

To check current version of nginx, execute the command below.

# sudo nginx -v

Configure nginx server:

Let’s create configuration file in available sites for Akaunting. To do so, execute the command below.

In case of CentOS, please use the command below, otherwise skip nano installation command.

# sudo yum -y install nano (CentOS Only)

Ubuntu:

# sudo nano /etc/nginx/sites-available/akaunting.conf

Now add the following text to opened file.

server {

listen 80;

listen [::]:80;

server_name softpedia.xyz;

root /var/www/akaunting;

index index.php index.html;

location / {

try_files $uri $uri/ /index.php?$query_string;

}

location ~ \.php$ {

fastcgi_index index.php;

try_files $uri =404;

include fastcgi_params;

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

fastcgi_pass unix:/run/php/php7.0-fpm.sock;

}

}

 

CentOS:

# sudo nano /etc/nginx/conf.d/akaunting.conf

Now add the following text to opened file.

server {

listen 80;

listen [::]:80;

server_name softpedia.xyz;

root /var/www/akaunting;

index index.php index.html;

location / {

try_files $uri $uri/ /index.php?$query_string;

}

location ~ \.php$ {

fastcgi_index index.php;

try_files $uri =404;

include fastcgi_params;

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

fastcgi_pass 127.0.0.1:9000;

}

}

 

Ubuntu:

Now activate the newly configured akaunting.conf file by adding file to sites-enabled directory.

# sudo ln -s /etc/nginx/sites-available/akaunting.conf /etc/nginx/sites-enabled/

CentOS + Ubuntu

Now to test nginx configuration, execute the following command.

# sudo nginx -t

Now reload nginx server by executing the command below.

# sudo systemctl reload nginx.service

Install Akaunting:

Let’s create folder for placing files of Akaunting and then assign permissions. To proceed with installation and configuring Akaunting, follow the steps below.

Step 1:

Create root folder for Akaunting in /var/www directory.

# sudo mkdir -p /var/www/akaunting

Step 2:

Now change the ownership of /var/www/akaunting directory to aareez. In my case, username is aareez. You can replace it with your username.

# sudo chown -R aareez:aareez /var/www/akaunting

Step 3:

Navigate to /var/www/akaunting directory by executing command below.

# cd /var/www/akaunting

The following command will fetch the copy of Akaunting.

# curl -O -J -L https://akaunting.com/download.php?version=latest

Execute the command below to extract files from compressed zip folder.

# unzip Akaunting_1.2.12-Stable.zip

Now remove the downloaded zip folder by executing command below.

# rm Akaunting_1.2.12-Stable.zip

Step 4:

Now add the ownership of /var/www/akaunting directory to www-data.

Ubuntu:

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

CentOS:

# sudo chown -R nginx:nginx /var/www/akaunting

Open the file by executing command below, to configure and find the user and group name in opened file. The current user and group are apache. Change apache to nginx and save the file.

# sudo nano /etc/php-fpm.d/www.conf

Now restart php-fpm by the command below.

# sudo systemctl restart php-fpm.service

Now reload nginx server by executing the command below.

# sudo systemctl reload nginx.service

Now you can access Akaunting installer via your Alibaba Cloud ECS IP address. If you have pointed a domain to your IP address, you can also use it. In my case, I have pointed domain to my ECS IP address: http://softpedia.xyz/ . After accessing, the following screen appears.

akaunting

Hit the Next button, the following screen will appear. You will be asked to add details for your database.  I have added details according the above procedure. Now hit Next key.

akaunting

Now add the required details as shown below. Setup admin details, this will be used later to login to admin panel.

akaunting

Now hit Next button, you will be redirected to login page as shown below.

akaunting

After login, you will be redirected to dashboard of Akaunting.

 akaunting

Congratulations..!! Akaunting is ready to use.

 

 

 

Leave a Reply

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