Erpnext 13 Final Installation DEVELOPMENT & PRODUCTIONS [UBUNTU/SERVER 22.04]

https://www.youtube.com/watch?v=4v4zs8TWleY :cowboy_hat_face:

ERPNext 14 Ubuntu/Server 22

ERPNext 14+DEV Ubuntu/Server 22

DEBIAN 11 ERPNext 13, 14+DEV
.
.

:boom: NOTES :boom:

:small_blue_diamond: SHOULD USE SUGGESTED SYSTEM

because of python versions and frappe dependencies other systems might dont work

:small_blue_diamond: SHOULD BE ONLY 2 USERS IN SYSTEM [ root & frappe ]

you can use any other user other then frappe

:small_blue_diamond: ROOT & FRAPPE PASSWORDS SHOULD BE SAME AS MARIADB

you can use any other password other then frappe07

:small_blue_diamond: SERVER SHOULD BE UPGRADED BEFORE START INSTALLATION

.
.

:anger: DEVELOPMENT SETUP

sudo apt-get clean -y
sudo apt-get autoremove -y
sudo apt --fix-broken install -y
sudo dpkg --configure -a
sudo apt-get install -f
sudo apt-get update && sudo apt-get upgrade

root@server22

su - root

:small_blue_diamond: FIREWALL

ufw allow 22,25,143,80,443,3306,3022,8000/tcp
ufw enable

:small_blue_diamond: REQUIRED TOOLS

apt-get install git python3-dev python3.10-dev python3-setuptools python3-pip python3-distutils redis-server -y
apt install python3.10-venv -y
sudo apt-get update -y
apt-get install xvfb libfontconfig wkhtmltopdf -y

:small_blue_diamond: MARIADB

SET YOUR ROOT PASSWORD HERE

sudo passwd root
password: frappe07

apt-get install mariadb-server mariadb-client -y

mysql_secure_installation

Switch to unix_socket authentication [Y/n] n
Change the root password? [Y/n] y
password: frappe07
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

set root password. THIS IS MUST

mysql -u root -p
USE mysql;
ALTER USER root@localhost IDENTIFIED VIA mysql_native_password;
SET PASSWORD = PASSWORD(‘frappe07’);
***GIVE THE PASSWORD AS ABOVE IN mysql_secure_installation SETUP
FLUSH PRIVILEGES;
exit

nano /etc/mysql/my.cnf

**add these lines @end of the file

[mysqld]
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci

[mysql]
default-character-set = utf8mb4

service mysql restart
sudo reboot

frappe@server22

SET YOUR USER PASSWORD HERE

sudo passwd frappe
password: frappe07

sudo su - frappe
sudo chmod o+x $HOME
tee -a ~/.bashrc<<EOF
PATH=$PATH:~/.local/bin/
EOF
source ~/.bashrc

:small_blue_diamond: NODE JS & NPM

sudo apt-get install curl
curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash -
sudo apt-get install -y nodejs

:small_blue_diamond: BENCH DIRECTORY

sudo mkdir /home/bench
sudo chown -R frappe /home/bench
cd /home/bench
sudo npm install -g yarn

:small_blue_diamond: FRAPPE

sudo pip3 install frappe-bench

Dont use other versions or something else

bench init frappe --verbose --frappe-branch v13.36.2

cd frappe
bench start

OPEN NEW SESSION

:small_blue_diamond: SITE CREATION

sudo su - frappe
cd /home/bench/frappe
bench new-site site1.local
bench use site1.local
bench migrate

:small_blue_diamond: ERPNEXT & HRMS

bench get-app payments

make sure bench is runing in other terminal

bench get-app erpnext --branch v13.36.2

make sure bench is runing in other terminal

bench --site site1.local install-app erpnext
make sure bench is runing in other terminal

bench use site1.local
bench migrate

.
.
.

:partying_face: GO TO [SERVER IP]:8000 SETUP YOUR DEVELOPMENT SYSTEM :partying_face:

.
.
.

:anger: PRODUCTION SETUP

bench --site site1.local enable-scheduler
bench --site site1.local add-to-hosts
bench --site site1.local set-maintenance-mode off
bench --site site1.local scheduler resume
sudo snap install --classic certbot
sudo bench setup production frappe

bench setup supervisor
sudo ln -s pwd/config/supervisor.conf /etc/supervisor/conf.d/frappe-bench.conf

sudo bench setup sudoers $(whoami)

STOP BENCH ++> ctrl+c

sudo service supervisor stop
sudo service nginx stop
sudo service supervisor start
sudo service nginx start
sudo bench setup production frappe

.
.
.

:partying_face: GO TO [SERVER IP] YOUR PRODUCTION SYSTEM IS UP :partying_face:

.
.
.

After productions is up. if you want to add any other app. just go through with below setup to avoid

error: <class ‘PermissionError’>, [Errno 13] Permission denied: file: /usr/lib/python3/dist-packages/supervisor/xmlrpc.py line: 560

===========================================

sudo su - frappe
cd /home/bench/frappe
sudo service supervisor stop
sudo service nginx stop
bench start

OPEN NEW SESSION

sudo su - frappe
cd /home/bench/frappe

bench get-app chat
make sure bench is runing in other terminal

bench get-app https://github.com/libracore/woocommerceconnector.git
make sure bench is runing in other terminal

bench --site site1.local install-app chat
make sure bench is runing in other terminal

bench --site site1.local install-app woocommerceconnector
make sure bench is runing in other terminal

bench use site1.local
bench migrate
sudo service supervisor start
sudo service nginx start
bench --site site1.local clear-website-cache

8 Likes

Great Job! :clap::clap::clap:

2 Likes

Thanks, this works great!

1 Like

Thanks for your contribution

1 Like

thank you for this @Usman_Ali … very thorough , outclasses the other “formal” tutorials on the subject

1 Like

can you update this line to SET PASSWORD FOR 'root'@'localhost' = PASSWORD('frappe07');

My Thread: [ok, with PyJumper] ERPNext 13 Production Mode and Ubuntu 22.04 LTS - Manual Install - January 2023

Hello @Usman_Ali,

thank’s for the Tutorial.

What did you mean with "“other systems might dont work”?

https://packages.ubuntu.com/jammy/python3

Paket: python3 (3.10.4-0ubuntu2)

interactive high-level object-oriented language (default python3 version)

How can i check if the python3 version work’s with the frappe ERPNext system?

Where and how did you have create the user “frappe”?

How can i check the right “–frappe-branch” release?

Greets
jannis

My solution: Fast steps to install Frappe/ERPNext v13/v14 on Clean Ubuntu 22.04 Production/Develop - #2 by jannis