Installing ERPNext v16 on Fedora 43

System Update & Preparation

First, ensure your system is fresh and set SE Linux to “Permissive” to avoid complex permission blocking during installation.

Bash

Update System
sudo dnf update -y

sudo setenforce 0
sudo sed -i 's/^SELINUX=.*/SELINUX=permissive/g' /etc/selinux/config

Step 2: Create the Frappe User

We create a dedicated user for security.

Bash


sudo adduser frappe_user
sudo usermod -aG wheel frappe_user
sudo passwd frappe_user
su - frappe_user

Step 3: Install Dependencies

Fedora 43 uses dnf5, which requires specific syntax. We also explicitly install gcc to fix the command 'gcc' failed error .

Bash

sudo dnf install -y "@Development Tools" "@C Development Tools and Libraries"
sudo dnf install -y git python3-devel python3-pip \
python3.14 python3.14-devel \
curl pkgconf-pkg-config mariadb-devel \
libffi-devel openssl-devel libyaml-devel \
gcc gcc-c++ make

Step 4: Install & Configure MariaDB

Fedora services are not started by default; we must enable them.

Bash

sudo dnf install -y mariadb-server mariadb
sudo systemctl enable --now mariadb
#Secure Installation (Follow prompts: Y, Y, Y, Y)
sudo mysql_secure_installation
sudo nano /etc/my.cnf.d/frappe.cnf

Paste this configuration:

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

[mysql]
default-character-set = utf8mb4

Restart MariaDB:

sudo systemctl restart mariadb

Step 5: Install Redis

sudo dnf install -y redis
sudo systemctl enable --now redis

Step 6: Install Node.js 24 & Yarn

Add NodeSource v24 Repo
curl -fsSL https://rpm.nodesource.com/setup_24.x | sudo bash -
Install Node & Yarn
sudo dnf install -y nodejs
sudo npm install -g yarn

Step 7: Install PDF Tools

sudo dnf install -y cairo pango gdk-pixbuf2 libffi-devel shared-mime-info

Step 8: Install Bench (via pipx)

sudo dnf install -y pipx
pipx ensurepath
source ~/.bashrc
pipx install frappe-bench
pipx install uv
pipx install honcho

Step 9: Initialize Frappe v16

bench init frappe-bench \
  --frappe-branch v16.1.1 \
  --python python3.14

Step 10: Create Site & Install Apps

cd frappe-bench
bench new-site fedora.local
bench get-app erpnext --branch v16.0.1
bench get-app hrms --branch v16.1.0
bench --site fedora.local install-app erpnext
bench --site fedora.local install-app hrms

Start bench

bench use fedora.local
bench start