ERPNext Conference 2019* Blog

How to install erpnext version 12 on ubuntu 18.04


Then, you need to assign erpnext user to sudo group and assign the password. Looks like you have installed mariadb under a different user and did not do the necessary config.

Reinstall the system with the sequence I have laid down and you will be up and running in no time.


thanks. I will check


yes, I have installed mariadb as root user


Reinstall Ubuntu 18.0.4LTS. Do apt update and apt upgrade as root. Reboot.
Install pyhton3-setuptools python3-minimal redis-server build-essential
Download and run the Easy Install script with proper parameters on sudo -H switch.
assign a password to erpnext user and add it to sudoers
login with erpnext user and go to bench folder


sudo -H python3 --production --site --user erpnext --mysql-root-password whatever_you_fancy --admin-password whatever_you_fancy --bench-name bench_you_would_like_to_call


Hi @Tufan_Kaynak2,

With reference to a post I made a few days ago - Erpnext installation issue on 16.04 and 18.04

I tried your method above and ran into the same issue when “bench init frappe-bench” runs as the last part of the install. In addition, I still had to to a manual wget for the wkhtmltox file.

Any ideas what I could be doing wrong.

The install base is a clean 18.04.1 VM guest on Proxmox.



Thank you very much. Installed version 12 successfully using venilla machine.


Hi @ekabyte could you please put a note in the forum with lessons learned so any other community member could get benefit of your experience. you can add mistakes to avoid and clean steps (detailed) so even beginner can follow.


  1. I have installed fresh Ubuntu 18.0.4LTS
  2. Ran the command apt-get update
  3. Ran the command apt-get upgrade
  4. Rebooted server
  5. apt-get install python3-setuptools python3-minimal redis-server build-essential
  6. created user erpnext

sudo adduser erpnext (Adding a new user erpnext)
usermod -aG sudo erpnext (giving proper permission)
su erpnext (login as erpnext user)

  1. Download the installation script by running below command:

  2. Then install the erpnext by using this command (it will take nearly 45 minits to run in 4GB virtualbox image, below command install all the requisite for erpnext (example nginx, mariadb etc ):

    sudo -H python3 --production --site localhost --user erpnext --mysql-root-password your_password --admin-password your_password --bench-name your_bench_name

  3. This will install the ERPNEXT. After this I have updated the bench by running below command:

cd erp_bench/
bench update

  1. I have accessed the application using the link http://localhost (It worked me from the port 80)

Installation woes - Ubuntu 18.04
Need help Setting up ERPnext for the first time

Just a doubt, by the way Thanks a lot to write steps it’s very helpfull I like it,

below command I see “–mysql-root-password your_password --admin-password your_password --bench-name your_bench_name” shall I changed or keep it as it is?

ex: your_password I should remove this text and replace it right? or can you give dummy command sample…


your_password write your own password (both places)

your_bench_name Name your bench example frappe_bench


thank you this working very well
many thanks for you
you save my life


One tricky point:
In case you receive redis-server configuration errors, possibly you have disabled ipv6 on the system. The default configuration does not recognize this and throws error while trying to bind to the ipv6 loopback interface.

Just edit /etc/redis/redis_conf file and edit the bind line erasing ipv6 related address.


looks like disabling ipv6 before installing Erpnext via easy install is not a good idea after all.


Thank you!

This is extremely helpful. Don’t know how many times I was going around in circles with the documentation on Github trying to resolve dependencies. This method cleared the fog out of my eyes and I’ve spun up a working instance finally. To anyone reading this - use @ekabyte 's process here for v12!

Glad to see things shifting out of the “inbetween time” and full time python3 but I think that might be a bit of what’s been causing confusion in the documentation for some. Guess it hasn’t been updated yet!

In particular, it’s mentioned as an option in the github docs but then there is the suggestion to use an alias to the old python names before the easy-install script, which causes errors of course and makes the script fail (ie: alias python=python3 implies that the install wants python, but really it’s python3…don’t use the alias any longer I guess)

  1. fresh ubuntu desktop 64 v18.04.2 inside ovb (host is windows 8.1 64)
  2. sudo mkdir buffer
  3. cd buffer
  4. sudo apt install python-minimal build-essential python-setuptools

reboot for snapshot

  1. sudo wget
  2. sudo -H python --production --user frappe
  3. enter mysql root password
  4. enter the default Administrator user password
  5. ERROR! The requested handler ‘restart network manager’ was not found in either the main handlers list nor in the listening handlers list
  6. sudo -H python --production --user frappe
  7. Frappe/ERPNext has been successfully installed!

i have started to test erpnext since 3 years ago but never setup the whole server without, feel so unsatisfied. :frowning:

edit : failed at setup :frowning:

Setting up your system

Updating global settings


Perhaps you meant to type the other, but did you try python3 for the packages instead of python? AFAIK the new ERPNext requires python3 (correct me if I’m wrong?)

eg: sudo apt install python3-minimal python3-setuptools, etc…

I had all sorts of errors (some pretty unintelligible and not clear) until getting the right dependencies sorted.


had the same issue, just define a password for the frappe user.

I think it is passwd frappe


Hi @Lucas_Moreira , Thanks for replying. For the user password, which part it is solving?


How to solve below installation error?

TASK [dns_caching : Add dnsmasq to network config] ******************************************************************************************************************************
task path: /tmp/.bench/playbooks/roles/dns_caching/tasks/main.yml:11
<> EXEC /bin/sh -c ‘echo ~root && sleep 0’
<> EXEC /bin/sh -c ‘( umask 77 && mkdir -p “echo /root/.ansible/tmp/ansible-tmp-1566961745.6961405-113787252108860” && echo ansible-tmp-1566961745.6961405-113787252108860="echo /root/.ansible/tmp/ansible-tmp-1566961745.6961405-113787252108860" ) && sleep 0’
Using module file /usr/local/lib/python3.6/dist-packages/ansible/modules/files/
<> PUT /root/.ansible/tmp/ansible-local-5459hlf0qd1t/tmp0bovl9wv TO /root/.ansible/tmp/ansible-tmp-1566961745.6961405-113787252108860/
<> EXEC /bin/sh -c ‘chmod u+x /root/.ansible/tmp/ansible-tmp-1566961745.6961405-113787252108860/ /root/.ansible/tmp/ansible-tmp-1566961745.6961405-113787252108860/ && sleep 0’
<> EXEC /bin/sh -c ‘/usr/bin/python3 /root/.ansible/tmp/ansible-tmp-1566961745.6961405-113787252108860/ && sleep 0’
<> EXEC /bin/sh -c ‘rm -f -r /root/.ansible/tmp/ansible-tmp-1566961745.6961405-113787252108860/ > /dev/null 2>&1 && sleep 0’
ERROR! The requested handler ‘restart network manager’ was not found in either the main handlers list nor in the listening handlers list
Traceback (most recent call last):
File “”, line 413, in
File “”, line 135, in install_bench
run_playbook(‘site.yml’, sudo=True, extra_vars=extra_vars)
File “”, line 327, in run_playbook
success = subprocess.check_call(args, cwd=os.path.join(cwd, ‘playbooks’))
File “/usr/lib/python3.6/”, line 291, in check_call
subprocess.CalledProcessError: Command ‘[‘ansible-playbook’, ‘-c’, ‘local’, ‘site.yml’, ‘-vvvv’, ‘-e’, ‘@/tmp/extra_vars.json’, ‘–become’, ‘–become-user=myfrappe’]’ returned non-zero exit status 1.