Akaunting software is a free and open-source web-based application for finance & accounting purposes. Here we will see the steps to install it on Windows 10 using the IIS web server.
Akaunting is open-source with a GitHub repository and uses PHP 7.2 or higher and Mysql to get installed and operate. For webserver, it supports Apache, Nginx, and IIS. Although we can use Apache and Nginx on Windows 10 using the WSL Linux app, I think it would be great if we go for an inbuilt IIS- Internet Informations service web server of Windows 10 to install Akaunting because of its better integration.
Install Akaunting software on Windows 10 or 7
So, first of all, we have to enable the IIS web server on Windows 10 and then we can install the Akaunting free accounting software. So, let’s get started.
Note: If you don’t want to use complicated IIS then go for Windows 10 subsystem for Linux– here is the tutorial on that- Steps-to-install-Akaunting-software-on-windows-10-using-WSL
Step 1: Install the IIS Web server on Windows 10 for Akaunting
If you already have enabled the IIS on Windows 10 then simply move to the next step otherwise type: “Turn Windows features On or Off” in the Windows search box as it appears, and click on it to open the same.
Now, scroll down and select an option called “Internet Information Services ” and press the OK button.
Let it install and after that restart your system. For more information on it, you can see our tutorial on how to enable IIS on Windows 10.
Step 2: Install Php, Php Manager & MySql for the IIS webserver
As we know that open source applications such as Akaunting are based on PHP Hypertext programming language and require a database to save files for them we need PHP or MariaDB/PostgreSQL/MySQL. Thus, first, we set these for Windows 10 IIS server before installing Akaunting. Also, one extra extension we will install is PHP manager, it helps us to manage the version and extensions of PHP on the IIS web server, graphically.
To install them we will not be going to use the Microsoft web platform installer because most of the packages available in it are too old or not available plus also slow in downloading. So, in such a case from my point of view, the best way to install all of them is Chocolatey Choco, a Windows package manager just like we have in Linux Distros.
In the Windows search box type the command prompt and run it as administrator.
Now use the below command to install chocolatey, if you haven’t yet.
@"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"
Now, close and again open the Command prompt as admin.
Run the following command to install the latest version of PHP on Windows 10
choco install php
Install PHP Manager for IIS Webserver
choco install php-manager
Finally, install MariaDB Database.
choco install mariadb
(optional) If you want to install MySQL not MariaDB, then the command will be:
choco install mysql
Note: Restart your system.
Step 3: Set PHP in IIS Manager
Go to Windows search and type IIS, as the Internet Information Services Manager appears, click on it to run.
Among all the features you will see an option for PHP manager, click to open it.
Now, select the option- “Register new PHP version” and the three dots to select the installed PHP file.
In Explorer, go to C: Drive-> Select tools folder-> php74 (or whatever version you have) and finally the PHP-cgi.exe file.
Now, Akaunting needs a PHP file info extension to work properly. Thus, we have to enable that too. On the same Window, scroll down and click on the “Enable or Disable PHP extensions” Link.
Scroll down and find the php_fileinfo.dll file, select that and click on the Enable button given on the right-side panel.
Step 4: Create a Database for Akaunting
Now, MySQL is ready just create a database with a username and password to use with it.
Note: Replace the red color text with values or names which you want to give to your Akaunting Database and that could be anything.
create database demo; creater user 'h2suser'@'localhost' IDENTIFIED BY 'pass';
grant all privileges on demo.* to h2suser@localhost; flush privileges;
exit
Note: Restart your system here before moving further
Step 5: Download Akaunting
So, everything is ready, it’s time to create a website for Akaunting but before that let’s download its core web files which we require to install and run on any web server. Go to the official Akaunting web page, here is the link to download it: www.akaunting.com/thank-you A zipped folder will be on your system. Unzip or extract it somewhere you think, it will be secure and wouldn’t get deleted by somebody / you, accidentally.
Step 6: Create a Website on the IIS server for Akaunting
Well, we already have one default website on an IIS server running on port 80, thus if you want to run Akaunitng on the same port then first we have to change that. Or else rather than changing run this free accounting software website on some custom port. However, here we will let you know how to use port 80 with it. For that select Default website on IIS Manager and then click on the Binding option given on the right-side panel. Now change port 80 to something else, for example, let’s say 8081.
Select the port and then the Edit button. Add the custom port and then finally click on the OK button.
Now, again go to IIS Manager and right-click on the Sites option, and select Add websites.
Give your site a name, as we are installing this free accounting software, thus, I have used the same. After that click on the three dots and browse to the extracted Akaunting folder and select that. We have to also give the right to our IIS server to access the folder content. For that click on Connect as an option.
A pop-up window will open, select “Specific User” and then the Set button.
Use the username and password that you have used to log in to your Windows 10 system where you are installing Akaunting.
Step 7: Add index.php to IIS website Default Document
Select the created website and double-click on the Default Document feature.
Now, select the Add link from the Actions tab and then type index.php followed by the OK button.
Step 8: Access the Akaunting website to set up it.
Open your browser and type:
http://localhost/install/language
A setup page will get opened. Select the language which you want to use in Akaunting, enter the database details and you are good to go.
Other Articles:
Whatever you’ve shown here is not working
Where is step 5 and 6 and also in step 4, the commands are for Linux. not for windows.
Sorry, there was a mistake in the steps numbering. Whereas to perform Step 4th you have to install Mysql using Step 1st & Second. And then follow this updated tutorial.
getting HTTP Error 404.0 – Not Found
Check out the file path is correct because this error appears when the webserver is not able to fetch the files to display.
Hi
Your document is relevant for 3.0.10? I am trying to setup the software using Windows 11 & IIS. PHP is preconfigured.
I copied the folder under C:inetpubwwwroot eg:C:inetpubwwwrootAkauting & created a new webiste. Trying to initiate the installation is complaining about install folder not being found.
It looks like much have changed with the latest version.
Did you find a solution?
Is there an update to this how-to for Akaunting 3.0 being installed without docker? This seems to bug out with the web.config file.
I used ChatGPT-4.0 and here is what I found:
Me: Can you help me install akaunting 3.0 locally on windows running with IIS?
ChatGPT:
Sure, I can guide you through the process. Since Akaunting is a PHP application, you’ll first need to ensure that your Windows server with IIS has PHP and MySQL (or MariaDB) installed and correctly configured.
Please follow these steps:
Step 1: Install PHP on IIS
1.1 Download the PHP for Windows package from the PHP download page (https://windows.php.net/download/). Choose the VC15 x64 Non Thread Safe version that matches your PHP version requirement. As of my knowledge cutoff in September 2021, Akaunting 3.0 requires PHP 7.3.0 or higher.
1.2 Extract the downloaded zip file into a directory on your server, e.g., C:\PHP.
1.3 Rename the php.ini-development file in the PHP directory to php.ini.
1.4 Open the php.ini file in a text editor, locate the following lines, and uncomment them by removing the semicolon at the beginning:
extension_dir = “ext”
extension=mysqli
extension=pdo_mysql
extension=openssl
1.5 Save and close the php.ini file.
1.6 Open the IIS Manager, select the root node in the left pane, double-click “ISAPI and CGI Restrictions” in the middle pane, add a new ISAPI or CGI restriction, enter the path to php-cgi.exe in the PHP directory, provide a description (e.g., “PHP”), and check the “Allow extension path to execute” box.
1.7 Still in the IIS Manager, select the root node in the left pane, double-click “Handler Mappings” in the middle pane, add a new module mapping with the following settings:
Request path: *.php
Module: FastCgiModule
Executable: C:\PHP\php-cgi.exe (adjust the path as necessary)
Name: PHP_via_FastCGI
1.8 Click “OK” to save the new module mapping, then click “Yes” to confirm that you want to create a FastCGI application for this executable.
Step 2: Install MySQL or MariaDB
Download and install MySQL or MariaDB on your server:
2.1 MySQL: Download the MySQL Installer from https://dev.mysql.com/downloads/installer/ and follow the instructions to install MySQL.
2.2 MariaDB: Download the MariaDB MSI package from https://mariadb.org/download/, and follow the instructions to install MariaDB.
During the installation, you’ll be prompted to create a root password. Make sure to remember this password as you’ll need it later.
Step 3: Install Akaunting
3.1 Download the latest version of Akaunting from https://akaunting.com/download.
3.2 Unzip the downloaded file and move the unzipped folder to the root directory of your website. If you’re using the default IIS website, this would typically be C:\inetpub\wwwroot\.
3.3 Open your web browser and navigate to http://localhost/akaunting (replace “akaunting” with the name of the folder you moved to wwwroot).
3.4 Follow the on-screen instructions to complete the installation. You’ll be asked to enter details for the database connection. Use the root user and password you created when installing MySQL or MariaDB.
3.5 After the installation is complete, you should be able to access your Akaunting instance by navigating to http://localhost/akaunting in your web browser.
Please note that this is a simplified guide and actual steps may vary depending on your server configuration and the versions of IIS, PHP
Me:
When I click default document for akaunting in iis, it gives me an error coming from the web.config file
ChatGPT:
It’s possible that the web.config file provided by Akaunting isn’t working correctly with your IIS configuration. Akaunting is built on the Laravel framework, which typically uses an Apache or Nginx server, so some additional steps may be required to get it working on IIS.
First, ensure that the URL Rewrite module is installed in your IIS. Laravel (and thus Akaunting) uses this for its routing functionality. You can download it from the official Microsoft website: https://www.iis.net/downloads/microsoft/url-rewrite
After installing the URL Rewrite module, you need to modify the web.config file in the Akaunting root directory. If it doesn’t exist, create it. The file should contain rules for rewriting URLs to be handled by index.php, which is how Laravel routes requests. Here’s a sample web.config that may work:
This web.config file will redirect all requests to index.php unless the requested resource is an existing file or directory, which should make the Akaunting application work as expected.
Remember to back up your current web.config file before replacing it with this one, in case you need to revert the changes.
If you’re still encountering issues, it would be useful to know the specific error message you’re seeing. That could help in pinpointing the problem.
— That worked, but there is a bit more to the PHP extensions. Basically, I had to find the comments for each of these errors and uncomment them, then it all worked.
cURL extension needs to be installed and loaded!
FileInfo extension needs to be installed and loaded!
Intl extension needs to be installed and loaded!
GD extension needs to be installed and loaded!
Mbstring extension needs to be installed and loaded!
ZIP extension needs to be installed and loaded!