How to install ERPnext on Ubuntu 16.04


erpnext on ubuntu

In this article, we will show you how to install ERPNext on an Ubuntu 16.04 VPS. ERPNext is a powerful and easy to use, open source,  fully featured ERP system.  ERPNext is written in Python on top of the Frappe framework and includes Accounting, Inventory, Manufacturing, CRM, Sales, Purchase, Project Management, HRMS and more. This guide should work on other Linux VPS systems as well but was tested and written for an Ubuntu 16.04 VPS


Log in to your VPS via SSH

ssh root@vps_IP

Update the system and install necessary packages

apt-get update && sudo apt-get -y upgrade
apt-get install wget python-minimal

Install Frappe and ERPNext

We will use the easy install script which at the time of the writing of this guide works with Ubuntu 14.04, Ubuntu 16.04, CentOS 7, Debian 7, Debian 8 and MacOS X. In this guide we will run the install script on a minimal installation of Ubuntu 16.04, logged in as a root user.

To download the install script run the following command:

cd && wget

Start the installation by issuing the command below:

python --production --user frappe

The install script will install all requirements including bench, create a new user ‘frappe’ and setup a new ERPNext site. You can sit back and relax while the script goes through the installation process.

Under the hood this python script uses Ansible playbook to install the following services, tools and modules:
– MariaDB
– Nginx
– Nodejs
– Redis
– Supervisor – process control tool for unix
– Wkhtmltopdf – used for printing
– Install bench, which is a command line tool which will help you to install new applications, manage sites and update Frappe and ERPNext.
– Create a new bench and a new site on the bench.

During the installation process, the script will ask you for a MariaDB root password and a Frappe Administrator password which you can use later on to login to the ERPNext dashboard. Make sure to use a strong password.

The installation will take some time and if it is successful, you will see something like this:

Frappe/ERPNext has been successfully installed!

Once the installation process is completed, visit your server IP address and you will see the Login screen. Login as Administrator using the password you previously set and you will be redirected to the Setup page where you can select a language, timezone, user details, company, items, customers, suppliers and more.

That’s it. You have successfully installed ERPNext on your Ubuntu 16.06 VPS. For more information about how to manage your ERPNext installation, please refer to the official ERPNext documentation.


PS. If you liked this post please share it with your friends on the social networks using the buttons on the left or simply leave a reply below. Thanks.


  Comments: 13

  1. Hello,
    I installed erpnext on Debian with your concise tutorial. However, on reboot, it does not seem to start. What service could I be missing out?


  2. How can ERP NEXT installed in window 10 for working in offline by a single user.

  3. Hi,

    The steps are pretty clear that I can follow and install ERPNXT easily.
    The steps are better explained compared to their own installation guide.

    Please edit and add these 2 steps that will make it as a complete tutorial.
    see where frappe-bench has been installed

    1. $cd frappe-bench
    2. $bench start

    this will start the server.


  4. Hi

    I tried with ubuntu 16.04, but did not want to work, but it does work with ubuntu 14.04.
    Would be nice to know why 16.04 fails and not 14.04.

    • The guide should work with Ubuntu 16.04. Please explain in more details what exactly is not working.

      • Muhammad Abouzeid

        I went thru the above steps in fresh installed ubuntu 16.04.04 LTS server.
        I get a very long errors with red color. at the end of those errors I found:
        to retry, use: —limit @/tmp/.bench/playbooks/site.retry
        PLAY RECAP ********************************************
        localhost :ok=2 changed=0 unreachable=0 fialed=1
        Traceback (most recent call last):
        File “”, line 400, in
        File “”, line 117, in install_bench
        run_playbook(‘site.yml’,sudo=True, extra_vars=extra_vars)
        File “”, line 333, in run_playbook
        success = subprocess.check_call(array, cwd=os.path.join(cwd, ‘playbooks’))
        File “/usr/lib/python2.7/”, line 541, in check_cali
        raise CalledProcessError: Command ‘[‘ansible-playbook’, ‘local’, ‘site.yml, ‘-e’, ‘@/tmp/extra_vars.json’, ‘–become’, ‘–become-user-frappe’]’ returned non-zero exit status 2

        • Please try updating your bench-repo folder on master branch.

          • Muhammad Abouzeid

            bench-repo folder is not created. In fact, nothing found under frappe user home except passwords.txt

          • Muhammad Abouzeid

            no other feedback?
            I downgraded my server to ubuntu 14.04.5 and run the same steps.
            I got the same error. frappe user is not created. nothing in frappe home except the file passwords.txt

  5. Hello,

    the installation worked perfectly fine. But in my explorer when i want to create a new account the status stays within the verfication process. I do not recieve a confirmation mail as well as any sign of sucess…
    My Firfox browser also says, that the Connection is not safe.

    Also i cannot login with an exisiting account. It just says, that the account is not existing..

    Can anyone please help?


Your feedback