VOOZH about

URL: https://www.digitalocean.com/community/tutorials/how-to-install-an-erpnext-stack-on-ubuntu-20-04?comment=93560

⇱ How To Install an ERPNext Stack on Ubuntu 20.04 | DigitalOcean


How To Install an ERPNext Stack on Ubuntu 20.04

Published on July 15, 2020
Not using Ubuntu 20.04?
Choose a different version or distribution.
Ubuntu 20.04
👁 How To Install an ERPNext Stack on Ubuntu 20.04

The author selected Software in the Public Interest to receive a donation as part of the Write for DOnations program.

Introduction

ERPNext is an Enterprise Resource Planning (ERP) suite that leverages the power and flexibility of open-source technologies. It excels at managing core business processes such as finance, sales, human resources, manufacturing, purchases, services, helpdesk needs, and more. Among the benefits of implementing a system like ERPNext are:

  • Better productivity by automating repetitive business processes
  • Improved IT efficiency by sharing a database for all departments within the company
  • Better decision-making thanks to an integral vision of how business units relate to each other

ERPNext is based on Frappe, a full-stack web application framework written in Python that takes full advantage of the Node/JavaScript runtime environment and uses MariaDB as its database backend. One of the many advantages of Frappe-based applications, like ERPNext, is the bench command-line utility. The bench CLI saves administrators time by automating tasks such as installing, updating, configuring, and managing multiple Frappe/ERPNext sites.

In this tutorial you will install and configure an ERPNext stack on one server running Ubuntu 20.04. This will allow you to configure your stack for various development or production environments depending on your needs, and it will prepare you to build a more complex, fault-tolerant architecture.

Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases.

Learn more about our products

About the author(s)

I grew up playing with a Commodore 64 instead of a smartphone. Love computers and mostly anything tech. Star Wars & LOTR fan.

Supporting the open-source community one tutorial at a time. Former Technical Editor at DigitalOcean. Expertise in topics including Ubuntu 22.04, Ubuntu 20.04, CentOS, and more.

Still looking for an answer?

Was this helpful?

This textbox defaults to using Markdown to format your answer.

You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!

I am unable to access localhost:8000 via web browser after “sudo supervisorctl start all”. The results I got after executing “systemctl list-unit-files | grep ‘fail2ban|nginx|supervisor’” are identical to this tutorial’s.

However, if I execute “bench start”, I can access ERPNext on localhost:8000 and continue with the tutorial.

Please help. Thanks!

This was super helpful, thanks. Much better than the official documentation!

Super great article! Thank you very much 👍👍👍 How to remove testing purpose open port(8000 port) after finished installation?

Thanks for the detailed tutorial. I used it to convert a moderately old computer into a server which is currently hosting an instance of erpnext(v12). I want to connect other devices on other networks(we have multiple networks in our place) to this server. I’m an absolute novice when it comes to linux, and this has been a wonderful learning experience. How do i make other networks and computers see my instance of erp next? Also, is it possible to make this instance available over the internet? This would be a big boon for those doing work from home. Please reply if possible

I recommend very much these guided steps, very informative, easy to copy and I have used them for installing a fresh instance of ERPNext 13… there was only one step below that did not work but I was able to skip it:

sudo bash nodesource_setup.sh

Thanks for the documentation. Some thing all should make sure are, the username and database name shoubld be same . I got this error cannot import name ‘soft_unicode’ from ‘markupsafe’ , that was fixed by pip3 install markupsafe==2.0.1 and sudo pip3 install markupsafe==2.0.1

Hello I am having an issue at this step:

bench new-site your_domain --admin-password ‘erpnext_admin_password’ --mariadb-root-username sammy --mariadb-root-password ‘mariadb_password’

This is the error I am getting: pymysql.err.OperationalError: (1044, “Access denied for user ‘dbuser’@‘localhost’ to database ‘dbuser’”)

Can someone please advise?

Typo: sudo nano nodesurce_setup.sh it should say nodesource_setup.ch

This is way better than the official documentation! Thanks a lot guys

$ sudo chown sammy -R /home/sammy chown: invalid user: ‘sammy’

Any advice here?

👁 Creative Commons
This work is licensed under a Creative Commons Attribution-NonCommercial- ShareAlike 4.0 International License.
  • Deploy on DigitalOcean

    Click below to sign up for DigitalOcean's virtual machines, Databases, and AIML products.

Become a contributor for community

Get paid to write technical tutorials and select a tech-focused charity to receive a matching donation.

DigitalOcean Documentation

Full documentation for every DigitalOcean product.

Resources for startups and AI-native businesses

The Wave has everything you need to know about building a business, from raising funding to marketing your product.

Get our newsletter

Stay up to date by signing up for DigitalOcean’s Infrastructure as a Newsletter.

New accounts only. By submitting your email you agree to our Privacy Policy

The developer cloud

Scale up as you grow — whether you're running one virtual machine or ten thousand.

Start building today

From GPU-powered inference and Kubernetes to managed databases and storage, get everything you need to build, scale, and deploy intelligent applications.

© 2026 DigitalOcean, LLC.Sitemap.
Dark mode is coming soon.