Preview:
Step-1
sudo apt-get update -y
sudo apt-get upgrade -y

Step-2
//Create New User//
sudo adduser [frappe-user]
usermod -aG sudo [frappe-user]
su [frappe-user] 
cd /home/[frappe-user]

Step-3
//Install GIT
sudo apt-get install git

Step-4
//Install Python
sudo apt-get install python3-dev python3.10-dev python3-setuptools python3-pip python3-distutils

Step-5
//Install Python Virtual Environment
sudo apt-get install python3.10-venv

Step-6
//Install Software Properties Common
sudo apt-get install software-properties-common

Step-7
//Install MariaDB
sudo apt install mariadb-server mariadb-client

Step-8
//Install Redis Server
sudo apt-get install redis-server

Step-9
//Install other packages, PDF
sudo apt-get install xvfb libfontconfig wkhtmltopdf
sudo apt-get install libmysqlclient-dev

Step-10
//-Configure MYSQL Server-//
//Setup the server
sudo mysql_secure_installation

//When you run this command, the server will show the following prompts. Please follow the steps as shown below to complete the setup correctly.

//Enter current password for root: (Enter your SSH root user password)
//Switch to unix_socket authentication [Y/n]: Y
//Change the root password? [Y/n]: Y
//It will ask you to set new MySQL root password at this step. This can be different from the SSH root user password.
//Remove anonymous users? [Y/n] Y
//Disallow root login remotely? [Y/n]: N
//This is set as N because we might want to access the database from a remote server for using //business analytics software like Metabase / PowerBI / Tableau, etc.
//Remove test database and access to it? [Y/n]: Y
//Reload privilege tables now? [Y/n]: Y
--------------------

Step-11
//Edit MYSQL default config file
sudo nano /etc/mysql/my.cnf
---------------
[mysqld]
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci

[mysql]
default-character-set = utf8mb4
----------------

Step-12
//Restart Mysql Server
sudo service mysql restart

Step-13
//Install CURL//
sudo apt install curl

Step-14
//Install Node//
curl https://raw.githubusercontent.com/creationix/nvm/master/install.sh | bash
source ~/.profile
nvm install 18

Step-15
//Install NPM//
sudo apt-get install npm

Step-16
//Install Yarn//
sudo npm install -g yarn

Step-17
//Install Frappe Bench//
sudo pip3 install frappe-bench

Step-18
//Initialize Frappe Bench//
bench init --frappe-branch version-14 frappe-bench
cd frappe-bench

Step-19
//Change user directory permissions.//
//This will give the bench user execution permission to the home directory.//
chmod -R o+rx /home/[frappe-user]

Step-20
//Install ERPNext and other Apps
//Download all the apps we want to install
//The first app we will download is the payments app. This app is required when setting up ERPNext.
bench get-app payments

Step-21
//Download ERPNext app
bench get-app --branch version-14 erpnext

Step-22
//Download HRMS
bench get-app hrms

Step-23
//Install ERPNEXT
bench --site site1.local install-app erpnext

Step-24
//Install HRMS
bench --site site1.local install-app hrms

Step-25
BENCH START
-----------------------

 Step-26
 //Enable Scheduler
bench --site site1.local enable-scheduler

Step-27
//Disable maintenance mode
bench --site site1.local set-maintenance-mode off

Step-28
//Setup production config
sudo bench setup production [frappe-user]

Step-29
// NGINX Install
bench setup nginx

Step-30
//Restart Supervisor and Launch Production Mode
sudo supervisorctl restart all
sudo bench setup production [frappe-user]
downloadDownload PNG downloadDownload JPEG downloadDownload SVG

Tip: You can change the style, width & colours of the snippet with the inspect tool before clicking Download!

Click to optimize width for Twitter