How to install Akaunting on CentOS and Ubuntu

1 Answer(s)

    Akaunting is an open-source software related to online accounting for businesses. It is free to use, and you can access it from any device. You can run your business, check your financial reports, and even get information about your cash flow at any time through its various tools. Akaunting is developed in Laravel (PHP framework), Bootstrap (CSS framework), jQuery, and some RESTful APIs. It is available on GitHub and is available in 28 languages.

    Install Akaunting on CentOS 7

    Step 1. First, let’s start by ensuring your system is up-to-date.

    yum clean all
    yum -y update
    

    Step 2. Install LAMP server.

    A CentOS 7 LAMP stack server is required. If you do not have LAMP installed, you can follow our guide here. Also, install required PHP modules:

    yum -y install php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-mcrypt php-mssql php-snmp php-soap php-tidy curl curl-devel
    

    Step 3. Installing Akaunting on CentOS 7.

    The first thing to do is to go to Akaunting’s download page and download the latest stable version of Akaunting,:

    cd /var/www/akaunting
    curl -O -J -L https://akaunting.com/download.php?version=latest
    unzip Akaunting_1.1.15-Stable.zip
    

    We will need to change some folders permissions:

    chown -R chown apache:apache -R /var/www/akaunting
    

    Step 4. Configuring MariaDB for Akaunting.

    By default, MariaDB is not hardened. You can secure MariaDB using the mysql_secure_installation script. you should read and below each steps carefully which will set root password, remove anonymous users, disallow remote root login, and remove the test database and access to secure MariaDB:

    mysql_secure_installation
    

    Configure it like this:

    - Set root password? [Y/n] y
    - Remove anonymous users? [Y/n] y
    - Disallow root login remotely? [Y/n] y
    - Remove test database and access to it? [Y/n] y
    - Reload privilege tables now? [Y/n] y
    

    Next, we will need to log in to the MariaDB console and create a database for the Akaunting. Run the following command:

    mysql -u root -p
    

    This will prompt you for a password, so enter your MariaDB root password and hit Enter. Once you are logged in to your database server you need to create a database for Akaunting installation:

    MariaDB [(none)]> CREATE DATABASE dbname;
    MariaDB [(none)]> GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';
    MariaDB [(none)]> FLUSH PRIVILEGES;
    MariaDB [(none)]> EXIT;
    

    Step 5. Configure Apache web server for Akaunting.

    We will create Apache virtual host for your Akaunting website. First create ‘/etc/httpd/conf.d/vhosts.conf’ file with using a text editor of your choice:

    nano /etc/httpd/conf.d/vhosts.conf
    IncludeOptional vhosts.d/*.conf
    

    Next, create the virtual host:

    mkdir /etc/httpd/vhosts.d/
    nano /etc/httpd/vhosts.d/yourdomain.com.conf
    

    Add the following lines:

    ServerAdmin webmaster@yourdomain.com
    DocumentRoot "/var/www/akaunting"
    ServerName yourdomain.com
    ServerAlias www.yourdomain.com
    ErrorLog "/var/log/httpd/yourdomain.com-error_log"
    CustomLog "/var/log/httpd/yourdomain.com-access_log" combined
    
    <Directory "/var/www/akaunting/">
    DirectoryIndex index.html index.php
    Options FollowSymLinks
    AllowOverride All
    Require all granted
    
    
    

    Save and close the file. Restart the apache service for the changes to take effect:

    systemctl restart httpd.service
    

    Step 6. Accessing Akaunting.

    Akaunting will be available on HTTP port 80 by default. Open your favorite browser and navigate to http://yourdomain.com/ or http://server-ip and complete the required steps to finish the installation. If you are using a firewall, please open port 80 to enable access to the control panel.

    Congratulations! You have successfully installed Akaunting. Thanks for using this tutorial for installing Akaunting online accounting software on CentOS 7 systems. For additional help or useful information, we recommend you to check the official Akaunting web site.

     

    For Ubuntu, Debian, and Linux Mint

    sudo apt update

    sudo apt install apache2

    sudo systemctl enable apache2
    sudo systemctl start apache2

    To install MySQL DB and setup Database on Debian or Ubuntu-based systems use this command:

    sudo apt install mysql-server

    sudo systemctl start mysql
    sudo systemctl enable mysql

    Note: Replace the red color text with whatever you want to use.

    sudo mysql
    create database h2smedia;
    
    creater user 'h2s'@'localhost' IDENTIFIED BY 'your-pass';
    grant all privileges on h2smedia.* to h2s@localhost;
    flush privileges;
    exit;

     

    The install Akaunting, the minimum PHP version we need to set up for this open-source accounting software is PHP 7.2 or higher.

    For Ubuntu, Debian, and their equal Linux, here are the commands:

    sudo apt update
    sudo apt install php libapache2-mod-php php-bcmath php-common php-imap php-mbstring php-xmlrpc php-soap php-gd php-xml php-intl php-mysql php-cli php-ldap php-zip php-curl

    Download zipped Akaunting file to setup


    In this step, we will download the latest release file of the Akaunting free software and then extract the same in the public web folder for further usage.

     

    wget -O Akaunting.zip https://akaunting.com/download.php?version=latest
    
    sudo mkdir -p /var/www/akaunting/ 
    
    sudo apt install unzip 
    
    sudo unzip Akaunting.zip -d /var/www/akaunting/

     

    Now, change the permission of the cloned folder:

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

    If you get an error” chown: invalid user: ‘www–data:www-data’” after running the above command use this one:

    sudo chown -R apache:apache /var/www/html/akaunting/

     

    Now give the apache user full read and write permission:

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

    Answered on August 30, 2021.
    Add Comment

    Your Answer

    By posting your answer, you agree to the privacy policy and terms of service.