Anybody able to install ERPNext 15 on Ubuntu/Debian?

I’ve tried following the few available install guides for ERPNext 15 on Ubuntu 22, Ubuntu 23 and Debian 12. I get errors every time I try to install frappe.

Has anybody had luck installing ERPNext 15?

follow this video tutorial. Only thing to change is Version no. i.e. where ever it is version-14 in the video, replace it with version-15-beta. I have tried and installed it on ubuntu server 22.04.3 and it works flawlessly…

1 Like

Debian 12 ERPNext 15 installation is working fine.
Only need a quick workaround for pip3 when encountering the E-M error:

Note: There is a bug with Python 3.11 and Debian 12; workaround:
sudo rm /usr/lib/python3.*/EXTERNALLY-MANAGED

I’ve done the upgrade from 14 to 15 on Debian 12, but can’t remember any of the process. Now I am trying to spawn a test environment using the same on a local VM, but problems after problems. Python is the biggest problem, can you help please?

Following points should lead you through the process. The individual lines should be well understood (not just blindly copied). Make changes according to your user name, site name, and so forth.

Server Setup

1.1 Login to the server as root user

1.2 Create User

We create this user as a security measure to prevent root user access.

This user will be assigned admin permissions and will be used as the main Frappe Bench user.

apt-get install sudo -y

adduser erpnext

usermod -aG sudo erpnext

su erpnext

cd /home/erpnext/

Note: Replace [erpnext] with your username.

1.2 Setup correct date and timezone

Set timezone

sudo timedatectl set-timezone “Europe/Berlin”

TEST
date

1.3 Update & Upgrade server packages

apt-get update -y

apt-get upgrade -y

2 INSTALL REQUIRED PACKAGES

TEST

[package] –version

2.1 GIT

sudo apt-get install git -y

2.2 Python

sudo apt-get install python3 -y

2.3 Python Virtual Environment

sudo apt-get install python3.11-venv -y

2.4 SPC for repository management

sudo apt-get install software-properties-common -y

2.5 MariaDB (MySQL Server)

sudo apt install mariadb-server mariadb-client -y

2.6 Redis Server

sudo apt-get install redis-server -y

2.7 Other packages for fonts, pdf, …

sudo apt-get install xvfb libfontconfig wkhtmltopdf default-libmysqlclient-dev

3 CONFIGURE MYSQL SERVER

3.1 Setup

sudo mysql_secure_installation

During the setup process the server will prompt you with a few questions as given below;

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

Set new MySQL root password. This can be different from the SSH root user password.

Remove anonymous users? [Y/n] Y

Disallow root login remotely? [Y/n]: Y

Set as N if you 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

3.2 EDIT MySQL default config file

sudo nano /etc/mysql/my.cnf

Add the below code block at the bottom of the file;

[mysqld]

character-set-client-handshake = FALSE

character-set-server = utf8mb4

collation-server = utf8mb4_unicode_ci

[mysql]

default-character-set = utf8mb4

3.3 Restart the MySQL server (for the config to take effect)

sudo service mysql restart

4 INSTALL CURL Node NPM Yarn

sudo apt-get install curl; curl https://raw.githubusercontent.com/creationix/nvm/master/install.sh | bash; source ~/.profile; nvm install 18; sudo apt-get install npm; sudo npm install -g yarn

TEST

node --version

4.1 Install CURL

sudo apt install curl

4.2 Install Node through NodeVersionManager

curl https://raw.githubusercontent.com/creationix/nvm/master/install.sh | bash

source ~/.profile

nvm install 18

4.3 Install NPM

sudo apt-get install npm

4.4 Install Yarn

sudo npm install -g yarn

5 INSTALL FRAPPE BENCH

5.1 Install Frappe Bench

Note: There is a problem with Python 3.11 and Debian 12; workaround:

sudo rm /usr/lib/python3.*/EXTERNALLY-MANAGED

sudo apt install python3-pip -y;

sudo pip3 install frappe-bench

TEST

bench --version

5.2 Initialize Frappe Bench

sudo apt-get -y install supervisor

bench init --frappe-branch version-15 frappe-bench

WARN: supervisor
WARN: redis_cache

5.3 Go to Frappe Bench directory

This will be the main directory from where we will be running all the commands.

The full path of this directory will be: /home/erpnext/frappe-bench/

cd frappe-bench/

5.4 Change user directory permissions

This will allow execution permission to the home directory of the frappe user we created in step 1.4

chmod -R o+rx /home/erpnext/

5.5 Create a New Site

We will use this as the default site where ERPNext and other apps will be installed.

bench new-site site15.local

6 INSTALL APPS TO BENCH

6.1 Download Apps

ERPNext

bench get-app --branch version-15 erpnext

Print Designer (optional)

bench get-app GitHub - frappe/print_designer: Visual print designer for Frappe / ERPNext

HR & Payroll integration (optional)

bench get-app hrms

TEST

bench version --format table

6.2 Install Apps

ERPNext

bench --site site15.local install-app erpnext

Print Designer (optional)

bench --site site15.local install-app print_designer

HR & Payroll integration (optional)

bench --site site15.local install-app hrms

Migrate site to integrate Apps into ERPNext

bench --site site15.local migrate

Note: You might get some warnings / error messages while trying to install apps on the default site. These messages can be ignored and you can proceed further.

7 SETUP PRODUCTION SERVER

7.1 Enable scheduler service

bench --site site15.local enable-scheduler

7.2 Disable maintenance mode

bench --site site15.local set-maintenance-mode off

7.3 Setup production config

sudo bench setup production harry

7.4 Setup NGINX web server

bench setup nginx

7.5 Final server setup

sudo supervisorctl restart all

sudo bench setup production harry

When prompted to save new/existing config files, hit “Y”

Ready to Go!

You can now go to your server [IP-address]:80 and you will have a fresh new installation of ERPNext ready to be configured!

If you are facing any issues with the ports, make sure to enable all the necessary ports on your firewall using the below commands;

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

sudo ufw enable

bugfix printdesigner

wget https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6.1-2/wkhtmltox_0.12.6.1-2.jammy_amd64.deb

1 Like

Yes, on local ESXI server with Ubuntu 24.04 and flexcomng/erpnext_quick_install script and installed webmin, only problem was using firefox logging into erpnext wasnt working had to switch browsers.

Alright never mind, EDIT*

If your terminal is complaining “PermissionError: [Errno 13] Permission denied: ‘frappe-bench’”

Try switching to the home directory by cd ~ and it should install now.


Original post:

So there isn’t such file our system complains about this

"erpnext@debian:/usr/lib/python3.11$ bench init --frappe-branch version-15 frappe-bench
Traceback (most recent call last):
File “/usr/local/lib/python3.11/dist-packages/bench/commands/make.py”, line 75, in init
init(
File “/usr/local/lib/python3.11/dist-packages/bench/utils/render.py”, line 105, in wrapper_fn
return fn(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^
File “/usr/local/lib/python3.11/dist-packages/bench/utils/system.py”, line 64, in init
bench.setup.dirs()
File “/usr/local/lib/python3.11/dist-packages/bench/utils/render.py”, line 126, in wrapper_fn
return fn(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^
File “/usr/local/lib/python3.11/dist-packages/bench/bench.py”, line 338, in dirs
os.makedirs(self.bench.name, exist_ok=True)
File “”, line 225, in makedirs
PermissionError: [Errno 13] Permission denied: ‘frappe-bench’

ERROR: There was a problem while creating frappe-bench
Do you want to rollback these changes? [y/N]: Y
INFO: Rolling back Bench “frappe-bench”
erpnext@debian:/usr/lib/python3.11$
"

1 Like

https://medium.com/@prasantpant/update-your-frappe-to-specific-latest-version-a08689fcd296

1 Like

Thanks @Harry I follow your advice and the installation went flawlessly for V-15 on debian 12.