By Mark Vella-West on March 14, 2022
Expert

SOURCE: How To Install ERPNext in Ubuntu 20.04 - A Step by Step Guide - Code with Karani


ERPNext installation can be a pain in the neck, especially if you are getting started. In this article, I will take a step-by-step approach to configure our newly installed ubuntu 20.04 OS to set up an environment and install ERPNext. We will not leave any stone un-turned here. Let’s get to work!

Prerequisites

Software Requirements

  1. Updated Ubuntu 20.04
  2. A user with sudo privileges
  3. Python 3.6+
  4. Node.js 12
  5. Redis 5
  6. MariaDB 10.3.x / Postgres 9.5.x
  7. yarn 1.12+
  8. pip 20+
  9. wkhtmltopdf (version 0.12.5 with patched qt)
  10. cron
  11. NGINX

Hardware Requirements

  1. 4GB RAM
  2. 40GB Hard Disk

 

In our first steps, we will make sure our system is up to date by running below commands:

$ sudo apt update
$ sudo apt -y upgrade

It is recommended to reboot your system whenever you do upgrade:

$ sudo reboot


Step 1: Install Python Tools & wkhtmltopdf

$ sudo apt -y install vim libffi-dev python3-pip python3-dev  python3-testresources libssl-dev wkhtmltopdf


Step 2: Install Curl, Redis and Node.js

$ sudo apt install curl
$ sudo curl --silent --location https://deb.nodesource.com/setup_14.x | sudo bash -

$ curl -sL https://dl.yarnpkg.com/debian/pubkey.gpg | gpg --dearmor | sudo tee /usr/share/keyrings/yarnkey.gpg >/dev/null
$ echo "deb [signed-by=/usr/share/keyrings/yarnkey.gpg] https://dl.yarnpkg.com/debian stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
$ sudo apt-get update && sudo apt-get install yarn
$ sudo apt -y install gcc g++ make nodejs redis-server

Step 3: Install Nginx web server and MariaDB Database server

$ sudo apt -y install nginx
$ sudo apt install mariadb-server

Change authentication plugin.

$ sudo mysql -u root
USE mysql;
UPDATE user SET plugin='mysql_native_password' WHERE User='root';
UPDATE user SET authentication_string=password('your_password') WHERE user='root';
FLUSH PRIVILEGES;
EXIT;

Ensure you have the following settings for mysqld and mysql client as provided. I have put a file on a public github repo, so you can copy and replace the whole file. 

$ sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf
$ sudo systemctl restart mariadb


Step 4: Install Bench and ERPNext

A bench is a tool used to install and manage ERPNext on your Ubuntu system. We will create a user that will run the ERPNext system, then configure the system.

$ sudo useradd -m -s /bin/bash erpnext
$ sudo passwd erpnext
$ sudo usermod -aG sudo erpnext

Now it is time to update your PATH.

$ sudo su - erpnext
$ tee -a ~/.bashrc<<EOF
PATH=\$PATH:~/.local/bin/
EOF
$ source ~/.bashrc

Next, you need to create a directory for ERPNext setup and give erpnext user read and write permissions to the directory:

$ sudo mkdir /opt/bench
$ sudo chown -R erpnext /opt/bench

Next switch to erpnext user and install the application:

$ sudo su - erpnext
$ cd /opt/bench

Install frappe bench and git

$ sudo apt install git

$ sudo pip3 install frappe-bench

The next step is to initialize the bench directory with frappe framework installed. Make sure you are still inside the /opt/bench directory:

$ bench init erpnext

Create a new Frappe site.

$ cd erpnext

$ bench new-site erp.codewithkarani.com


Step 5: Get ERPNext application from GitHub

Download the ERPNext application from frappe Github repo. We will get version 13. You can get whichever version you like.

$ bench get-app branch version-13 erpnext https://github.com/frappe/erpnext


Step 6: Install ERPNext App on our Site

$ bench --site erp.codewithkarani.com install-app erpnext


Step 7: Start ERPNext and finish Installation

$ bench start

Navigate to the IP address of your installation and the port number shown on the terminal after running. In the case of a local instance, use 127.0.0.1:8000

 


<iframe class="ql-video" frameborder="0" allowfullscreen="true" src="https://www.youtube.com/embed/Xnc3-2HPK6E?feature=oembed"></iframe>



 



More articles on reCIHER-INTERNAL



More articles on reCIHER-INTERNAL
Comments

No comments yet.

Add a comment
Ctrl+Enter to add comment