v15: installation - ashish-greycube/help GitHub Wiki

Referenece

https://github.com/D-codE-Hub/Frappe-ERPNext-Version-15--in-Ubuntu-22.04-LTS/tree/main
https://frappeframework.com/docs/user/en/installation#debian-ubuntu
https://discuss.frappe.io/t/guide-how-to-install-erpnext-v15-on-linux-ubuntu-step-by-step-instructions/111706/1
https://github.com/flexcomng/erpnext_quick_install/blob/main/erpnext_install.sh

https://github.com/frappe/frappe/wiki/Migrating-to-version-15
https://github.com/frappe/erpnext/wiki/Migration-Guide-to-ERPNext-version-15

Root user : install python,mariadb

timedatectl list-timezones
sudo timedatectl set-timezone Asia/Calcutta Asia/Bahrain
timedatectl
sudo apt-get update -y \
 && sudo apt-get upgrade -y
# swap space as much as memory size. Check memory
free -h
sudo fallocate -l 6G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
free -h
sudo cp /etc/fstab /etc/fstab.bak
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
sudo nano /etc/sysctl.conf
vm.swappiness=10
vm.vfs_cache_pressure=50
sudo apt-get install redis-server
sudo apt-get update \
  && apt-get install --yes --no-install-suggests --no-install-recommends \
  build-essential \
  git \
  libmariadb-dev \
  pv \
  ntp \
  wget \
  curl \
  supervisor \
  openssh-server \
  nano \
  vim \
  less \
  htop \
  software-properties-common \
  gnupg \
  libpango-1.0-0 \
  libharfbuzz0b \
  libpangoft2-1.0-0 \
  libpangocairo-1.0-0 \
  ca-certificates \
  fontconfig \
  libfreetype6 \
  libjpeg-turbo8 \
  libpng16-16 \
  libx11-6 \
  libxcb1 \
  libxext6 \
  libxrender1 \
  xfonts-75dpi \
  xfonts-base \
  gcc \
  libcups2-dev \
  libmagic1 \
  xvfb \
  libfontconfig \
  && rm -rf /var/lib/apt/lists/*
sudo add-apt-repository ppa:deadsnakes/ppa \
  && apt-get update \
  && apt-get install --yes --no-install-suggests --no-install-recommends \
  python3.11 \
  python3.11-dev \
  python3.11-venv \
  python3.11-distutils \
  && rm -rf /var/lib/apt/lists/*
echo "deb http://security.ubuntu.com/ubuntu focal-security main" | sudo tee /etc/apt/sources.list.d/focal-security.list \
  && sudo apt-get update \
  && sudo apt-get install libssl1.1 \
  && sudo rm /etc/apt/sources.list.d/focal-security.list
sudo wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.5/wkhtmltox_0.12.5-1.focal_amd64.deb \
  && sudo dpkg -i wkhtmltox_0.12.5-1.focal_amd64.deb \
  && sudo cp /usr/local/bin/wkhtmlto* /usr/bin/ \
  && sudo chmod a+x /usr/bin/wk* \
  && sudo rm wkhtmltox_0.12.5-1.focal_amd64.deb
wget https://bootstrap.pypa.io/get-pip.py && python3.11 get-pip.py 

Change the root password? [Y/n]: Y

Put Y in all questions of mysql_secure_installation

sudo apt update \
 && sudo apt install mariadb-server mariadb-client \
 && sudo apt-get install libmysqlclient-dev \
 && sudo mysql_secure_installation
sudo nano /etc/mysql/my.cnf
[mysqld]
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
innodb_log_file_size = 2G
innodb_log_buffer_size = 512M
innodb_strict_mode=0

[mysql]
default-character-set = utf8mb4
max_allowed_packet = 2G
sudo service mysql restart
sudo apt update \
 && sudo apt install snapd --yes --no-install-suggests --no-install-recommends \
 && sudo snap install core; sudo snap refresh core \
 && sudo apt-get remove certbot \
 && sudo snap install --classic certbot \
 && sudo ln -s /snap/bin/certbot /usr/bin/certbot
sudo adduser frappe 
usermod -aG sudo frappe \
&& su - frappe

frappe user : install bench

cd /home/frappe/
curl https://raw.githubusercontent.com/creationix/nvm/master/install.sh | bash \
  && source ~/.profile \
  && nvm install 18.16.0 \
  && nvm use v18.16.0 \
  && nvm alias default v18.16.0 \
  && nvm cache clear  \
  && . "/home/frappe/.nvm/nvm.sh"
sudo apt-get update \
  && sudo apt-get install npm \
  && sudo npm install -g yarn
chmod -R o+rx /home/frappe
sudo -H pip3 install frappe-bench
bench init frappe-bench --frappe-branch version-15 --python python3.11
cd frappe-bench/
bench get-app erpnext --branch version-15
bench new-site demo15.greycube.in --db-name demo15 --install-app erpnext
sudo certbot certonly --standalone
bench setup add-domain demo15.greycube.in --site demo15.greycube.in --ssl-certificate /etc/letsencrypt/live/demo15.greycube.in/fullchain.pem --ssl-certificate-key /etc/letsencrypt/live/demo15.greycube.in/privkey.pem
?no
sudo nano /etc/supervisor/supervisord.conf

chmod=0760
chown=frappe:frappe

sudo supervisorctl reload 
cd /home/frappe/frappe-bench
bench config dns_multitenant on

sudo bench setup production frappe
sudo supervisorctl restart all
sudo supervisorctl reload

sudo bench setup production frappe
sudo supervisorctl restart all
sudo supervisorctl reload

bench setup nginx
bench setup socketio
bench setup supervisor
bench setup redis
sudo supervisorctl reload


bench restart
?no
sudo nano /home/frappe/frappe-bench/config/supervisor.conf
change this
[program:frappe-bench-node-socketio]
command=/usr/bin/node /home/frappe/frappe-bench/apps/frappe/socketio.js
to this
[program:frappe-bench-node-socketio]
command=/home/frappe/.nvm/versions/node/v18.16.0/bin/node /home/frappe/frappe-bench/apps/frappe/socketio.js

 bench get-app https://github.com/frappe/payments --branch version-15
 bench get-app https://github.com/frappe/hrms --branch version-15
 bench get-app https://github.com/frappe/print_designer
 https://github.com/resilient-tech/india-compliance  --branch version-15
 bench get-app builder