If your small business data center is in need of a web-based accounting tool, give Akaunting a try.

Your small business data center isn't complete without an accounting tool. Although you might be tempted to head directly toward Quickbooks or another, proprietary solution, why not first try out an open source, on-premise solution? One such option is Akaunting.
Akaunting features:
Customer/vendor management
Inventory management
Multi-company support
Online accounting
Easy invoicing
Billable expenses
Bank accounts
Reporting
Deposits and transfers
Various payments
Multi-currency
Client portal
Installable modules
Akaunting can be installed on any Linux server in your data center. I'm going to walk you through the installation process on Ubuntu Server 18.04.
SEE: Hiring kit: Database administrator (TechRepublic Premium)
What you'll need
The only things you'll need to get Akaunting installed are:
A running (and updated) instance of Ubuntu Server 18.04
A user account with sudo privileges
How to install dependencies
The first thing we're going to do is install the necessary dependencies. To do this, log in to your Ubuntu server and issue the command:
sudo apt-get install apache2 mariadb-server php7.2 libapache2-mod-php7.2 php7.2-common php7.2-imap php7.2-mbstring php7.2-xmlrpc php7.2-soap php7.2-gd php7.2-xml php7.2-intl php7.2-mysql php7.2-cli php7.2-ldap php7.2-zip php7.2-curl unzip -y
Once that command completes, the dependencies are taken care of.
How to configure PHP
Next we need to configure PHP. To do that, issue the command:
sudo nano /etc/php/7.2/apache2/php.ini
Use the Ctrl+W nano keyboard shortcut to locate and edit the following, making sure to change each entry as shown:
file_uploads = On allow_url_fopen = On memory_limit = 256M upload_max_filesize = 30M post_max_size = 40M max_execution_time = 60 zend.assertions = 0 display_errors = Off max_input_vars = 1500 date.timezone = YOUR/TIMEZONE
Where YOUR/TIMEZONE is the actual timezone of your business.
Save and close the file.
Restart and enable both Apache and MariaDB with the following commands:
sudo systemctl start apache2 sudo systemctl enable apache2 sudo systemctl start mariadb sudo systemctl enable mariadb
How to secure the database configuration
The first thing to take care of is to secure the database installation. This is done with the command:
sudo mysql_secure_installation
You'll be asked to set a new admin user password and answer a few questions. Make sure to answer yes (Y) for each question.
Now we can create our database and database user. Access the MariaDB console with the command:
sudo mysql -u root -p
Once at the database prompt, issue the following commands (making sure to substitute PASSWORD with a strong, unique password):
CREATE DATABASE akauntingdb; CREATE USER 'akaunting'@'localhost' IDENTIFIED BY 'PASSWORD'; GRANT ALL ON akauntingdb.* TO 'akaunting'@'localhost' IDENTIFIED BY 'PASSWORD' WITH GRANT OPTION; FLUSH PRIVILEGES; exit
How to install Akaunting
It's finally time to install Akaunting. First, download the required file with the command:
curl -O -J -L https://akaunting.com/download.php?version=latest
Create a new directory and unzip the downloaded file with the following commands:
sudo mkdir -p /var/www/html/akaunting sudo unzip Akaunting_*.zip -d /var/www/html/akaunting/
Change the permissions and ownership with the following commands:
sudo chown -R www-data:www-data /var/www/html/akaunting/ sudo chmod -R 755 /var/www/html/akaunting/
How to configure Apache
The last step to take in the terminal window is the configuration of Apache. Create a new virtual host configuration file with the command:
sudo nano /etc/apache2/sites-available/akaunting.conf
In that new file, paste the following (substituting your information for EMAIL and NAME):
<VirtualHost *:80> ServerAdmin EMAIL DocumentRoot /var/www/html/akaunting ServerName NAME DirectoryIndex index.html index.php <Directory /var/www/html/akaunting/> Options +FollowSymlinks AllowOverride All Require all granted </Directory> ErrorLog ${APACHE_LOG_DIR}/akaunting_error.log CustomLog ${APACHE_LOG_DIR}/akaunting_access.log combined </VirtualHost>
Save and close the file.
Enable the new site with the command:
sudo a2ensite akaunting
Finally, enable the Apache rewrite module and restart Apache with the following commands:
sudo a2enmod rewrite sudo systemctl restart apache2
How to finish the install
The final steps are taken care of in the web interface. Point your browser to http://SERVER_IP/akaunting/index.php (where SERVER_IP is the IP address of the hosting server). On the first screen, select your language and click Next. In the resulting window (Figure A), configure the information for the database as such:
Hostname: localhost
Username: akaunting
Password: The password you set during the database creation
Database: akauntingdb
Figure A
The Akaunting database configuration window.
Click Next and then customize your Company And Admin Details (Figure B).
Figure B
Customizing your company.
Note: The admin email and password you set will be the credentials used to log in to Akauting as the administrator. Click Next and you'll then be prompted to log in. Once you're logged in, you'll be greeted by the setup Wizard (Figure C).
Figure C
The Akaunting setup Wizard.
Walk through the Wizard to configure your company information, currencies, and taxes. On the first page of this wizard, you must retrieve a token from Akaunting. Click the Click Here link and you'll be prompted to create a free Akaunting account. Once you've created and verified your account, log in to your Akaunting account and locate your token. Copy the token and paste it into the Token entry on the first page of the Wizard and click Save.
The remainder of the Wizard is self-explanatory. Once you complete the setup, you can either access the Akaunting Dashboard or install apps to expand its feature set. The apps (such as Double Entry, Estimates, Inventory, and Projects) have an associated cost, but they might well be worth the price--if you needed the added features.
And that's it. Your Akaunting web-based accounting software is up and running and ready to be used. This is an impressive package that should be able to help your small business in ways many of the standard client-based applications cannot.
Also see
- How to become a database administrator: A cheat sheet (TechRepublic)
- 10 things companies are keeping in their own data centers (TechRepublic download)
- How to add ISO images to VirtualBox 6 (TechRepublic)
- How to add container management to Cockpit (TechRepublic)
- How to run a command with the Ansible shell module (TechRepublic)
- How to install a minimal server based on Debian 10 (TechRepublic)
- Accenture launches software to simulate cloud architecture, services at scale (ZDNet)
- Best cloud services for small businesses (CNET)
- DevOps: More must-read coverage (TechRepublic on Flipboard)