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