Install ERPNext v15 on Ubuntu 24.04
These commands will install all prerequisites required to install ERPNext on Ubuntu 24.04.
timedatectl set-timezone "Asia/Amman"
sudo apt-get update -y
sudo apt-get upgrade -y
sudo adduser frappe
usermod -aG sudo frappe
su frappe
cd /home/frappe/
sudo apt-get install git -y
sudo apt-get install python3-dev -y
sudo apt-get install python3.12-dev -y
sudo apt-get install python3-setuptools -y
sudo apt-get install python3-pip -y
sudo apt-get install python3-distutils-extra -y
sudo apt-get install python3.12-venv -y
sudo apt-get install software-properties-common -y
sudo apt install mariadb-server mariadb-client -y
sudo apt-get install redis-server -y
sudo apt-get install xvfb libfontconfig wkhtmltopdf -y
sudo apt-get install libmysqlclient-dev -y
sudo mysql_secure_installation
During the setup process, the server will prompt you with a few questions as given below. Follow the instructions to continue the setup.
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
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
sudo service mysql restart
sudo apt install curl
curl https://raw.githubusercontent.com/creationix/nvm/master/install.sh | bash
source ~/.profile
nvm install 18
sudo apt-get install npm -y
sudo npm install -g yarn
npm install -g npm@11.0.0 ??? Check the verion on screen.
sudo -H pip3 install frappe-bench --break-system-packages
sudo -H pip3 install ansible --break-system-packages
bench init --frappe-branch version-15 frappe-bench
cd frappe-bench/
chmod -R o+rx /home/frappe/
bench get-app --branch version-15 erpnext
bench get-app --branch version-15 payments
bench get-app --branch version-15 hrms
bench get-app --branch version-15 webshop
bench get-app --branch version-15 education
bench get-app --branch version-15 print-designer
bench get-app lms
bench get-app --branch version-15 healthcare
bench --site site.com install-app erpnext
bench --site site.com install-app payments
bench --site site.com install-app webshop
bench --site site.com install-app hrms
bench --site site.com install-app education
bench --site site.com install-app lms
bench --site site.com install-app healthcare
bench --site site.com enable-scheduler
bench --site site.com set-maintenance-mode off
sudo bench setup production frappe
bench setup nginx
sudo supervisorctl restart all
sudo bench setup production frappe
sudo ufw allow 22,25,143,80,443,3306,3022,8000/tcp
sudo ufw enable
cd /home/frappe/frappe-bench/
bench config dns_multitenant on
bench setup add-domain [subdomain.yourdomain.com] --site [site-name]
bench setup nginx
sudo service nginx reload
sudo snap install core
sudo snap refresh core
sudo snap install --classic certbot
sudo ln -s /snap/bin/certbot /usr/bin/certbot
sudo certbot --nginx
bench new-site sitename.com