How to Install Frappe/ERPNext v15 on Ubuntu 24.04 LTS – Step-by-Step Guide
Struggling to set up Frappe/ERPNext on Ubuntu 24.04 LTS?
Installing Frappe/ERPNext manually can be challenging, especially when dealing with system dependencies, database configuration, Node.js, Python, Redis, and other required services. A small configuration issue can result in installation errors later in the process.
This guide provides a step-by-step process for installing Frappe Framework and ERPNext Version 15 on Ubuntu 24.04 LTS.
Whether you are new to ERP systems, setting up a development environment, or upgrading your ERPNext knowledge, this guide will walk you through the installation process from installing the required dependencies to creating your first ERPNext site.
Note: This guide is based on the installation procedure provided in the original source material. The commands and versions are preserved rather than replaced with a different installation approach.
If you are interested in installing ERPNext on Windows 11 using Docker, you can also read our guide on how to install ERPNext on Windows 11.
Table of Contents
-
- Step 1: Install Git
- Step 2: Install Python Development Tools
- Step 3: Install Setuptools and Pip
- Step 4: Install Python Virtual Environment
- Step 5: Install MariaDB
- Step 6: Install MySQL Development Files
- Step 7: Configure MariaDB
- Step 8: Install Redis
- Step 9: Install Node.js 18
- Step 10: Install Yarn
- Step 11: Install wkhtmltopdf
- Step 12: Install Frappe Bench
- Step 13: Initialize Frappe Bench
- Step 14: Create a Site in Frappe Bench
- Step 15: Install ERPNext
Pre-requisites
Before starting the installation, make sure your Ubuntu 24.04 LTS system has the required software and dependencies.
The following components are required by the installation procedure:
| Requirement | Purpose |
|---|---|
| Python 3.11+ | Python runtime required by the Frappe framework |
| Node.js 18+ | JavaScript runtime required for frontend assets |
| Redis 5 | Used for caching and real-time updates |
| MariaDB 10.3.x / PostgreSQL 9.5.x | Database system |
| Yarn 1.12+ | JavaScript dependency manager |
| Pip 20+ | Python package manager |
| wkhtmltopdf 0.12.5 with patched Qt | PDF generation |
| Cron | Scheduled jobs and backups |
| NGINX | Proxying multi-tenant sites in production |
Ubuntu 24.04 Default Versions
Ubuntu 24.04 provides the following default versions according to the original guide:
- Python: 3.12
- MariaDB: 10.11
Note: MariaDB 10.11 is newer than the MariaDB version referenced in the prerequisites and may show compatibility warnings.
Once the operating system is ready, you can begin the installation.
Step-by-Step Installation
Step 1: Install Git
Git is required for downloading and managing the Frappe and ERPNext source code.
Run the following command:
sudo apt-get install git
After installation, Git will be available on your Ubuntu system.
Step 2: Install Python Development Tools
Frappe requires Python development packages to build and install Python dependencies.
Install the Python development package using:
sudo apt-get install python3-dev
This installs the Python development files required during the installation process.
Step 3: Install Setuptools and Pip
Next, install Python’s package management tools.
Run:
sudo apt-get install python3-setuptools python3-pip
This installs:
- Setuptools — used for building and distributing Python packages.
- Pip — used to install Python packages and dependencies.
Step 4: Install Python Virtual Environment
A Python virtual environment allows Python dependencies to be isolated from the system-wide Python installation.
On Ubuntu 24.04, install the Python 3.12 virtual environment package:
sudo apt install python3.12-venv
Once installed, the system will be able to create Python virtual environments required by the Frappe Bench setup.
Step 5: Install MariaDB
MariaDB is used as the database server for the ERPNext installation described in this guide.
First, install the software-properties package:
sudo apt-get install software-properties-common
Next, install MariaDB:
sudo apt install mariadb-server
After installation, check whether the MariaDB service is running:
sudo systemctl status mariadb
You should see the MariaDB service status displayed in the terminal.
Next, run the MariaDB security configuration utility:
sudo mysql_secure_installation
Follow the prompts shown by the utility to:
- Configure the root password.
- Configure MariaDB security settings.
- Complete the initial database security configuration.
Important: Keep track of any database credentials you configure during this process, as they may be required later when creating your ERPNext site.
Step 6: Install MySQL Development Files
Frappe requires MySQL/MariaDB development libraries for certain database-related Python dependencies.
Install the required package:
sudo apt-get install libmysqlclient-dev
This provides the development files required by packages that interact with MySQL/MariaDB.
Step 7: Configure MariaDB
After installing MariaDB, you need to configure its settings for the Frappe/ERPNext installation.
Open the MariaDB server configuration file:
sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf
Add the following configuration:
[server]
user = mysql
pid-file = /run/mysqld/mysqld.pid
socket = /run/mysqld/mysqld.sock
basedir = /usr
datadir = /var/lib/mysql
tmpdir = /tmp
lc-messages-dir = /usr/share/mysql
bind-address = 127.0.0.1
query_cache_size = 16M
log_error = /var/log/mysql/error.log
[mysqld]
innodb-file-format=barracuda
innodb-file-per-table=1
innodb-large-prefix=1
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
[mysql]
default-character-set = utf8mb4
Save the Configuration
After adding the configuration:
- Press
Ctrl+X. - Press
Yto confirm saving. - Press
Enterto confirm the filename.
Restart MariaDB so the new configuration takes effect:
sudo service mysql restart
MariaDB should now restart using the updated configuration.
Step 8: Install Redis
Redis is used by Frappe for caching and real-time functionality.
Install Redis with:
sudo apt-get install redis-server
Once the package has been installed, Redis will be available on the system for Frappe to use.
Step 9: Install Node.js 18
Node.js is required for building and managing the JavaScript assets used by Frappe and ERPNext.
First, install curl:
sudo apt install curl
Next, download and run the NVM installation script:
curl https://raw.githubusercontent.com/creationix/nvm/master/install.sh | bash
Reload your profile so that NVM becomes available in the current shell:
source ~/.profile
Now install Node.js 18 using NVM:
nvm install 18
Node.js 18 should now be installed and available for use.
Step 10: Install Yarn
Yarn is the JavaScript package manager used by the Frappe frontend build process.
First, install npm:
sudo apt-get install npm
Then install Yarn globally:
sudo npm install -g yarn
Yarn should now be available from the command line.
Step 11: Install wkhtmltopdf
wkhtmltopdf is used for generating PDF documents.
Install the required packages:
sudo apt-get install xvfb libfontconfig wkhtmltopdf
This installs:
xvfblibfontconfigwkhtmltopdf
These components are required by the installation procedure for PDF generation.
Step 12: Install Frappe Bench
Frappe Bench is the command-line tool used to manage Frappe Framework installations, benches, sites, and applications.
Install Frappe Bench using Pip:
sudo -H pip3 install frappe-bench --break-system-packages
After installation, verify that Bench is available:
bench --version
If the command returns the installed Bench version, the installation was successful.
Step 13: Initialize Frappe Bench
Now that the required dependencies and Bench are installed, initialize a new Frappe Bench.
Run:
bench init frappe-bench --frappe-branch version-15
This creates a new Bench named frappe-bench using the Frappe Version 15 branch.
Move into the newly created Bench directory:
cd frappe-bench/
Start the development server:
bench start
At this stage, the Frappe development environment should start.
Note:
bench startruns the development environment. Production deployments require additional configuration and are outside the scope of this installation procedure.
Step 14: Create a Site in Frappe Bench
After initializing the Bench, create a new Frappe site.
Run:
bench new-site localhost
During site creation, follow the prompts provided by Bench.
Once the site has been created, open the following address in your browser:
http://localhost:8000
This will allow you to access the Frappe site running locally.
Step 15: Install ERPNext
The next step is to download ERPNext Version 15 into the Bench.
Run:
bench get-app erpnext --branch version-15
Once ERPNext has been downloaded, install it on the site you created earlier:
bench --site localhost install-app erpnext
After ERPNext has been installed, start the Bench again:
bench start
You can now access your ERPNext installation through the local site.
Conclusion
Congratulations! 🎉
You have successfully installed Frappe/ERPNext Version 15 on Ubuntu 24.04 LTS.
You can now start configuring your ERPNext instance according to your business requirements.
ERPNext can be customized extensively for different business processes, including accounting, sales, purchasing, inventory, manufacturing, HR, and other business operations.
If you encounter difficulties during the installation process, feel free to contact us.
Our ERPNext implementation services are designed to help businesses seamlessly set up, customize, and optimize Frappe/ERPNext.
FAQ
1. What if I face compatibility issues with MariaDB 10.11?
Ubuntu 24.04 includes MariaDB 10.11 by default.
MariaDB 10.11 is newer than the recommended MariaDB 10.3.x version mentioned in the prerequisites.
If you encounter compatibility issues, the original guide recommends considering MariaDB 10.6 or using PostgreSQL as an alternative.
Note: The original guide does not provide the detailed downgrade procedure for MariaDB or the PostgreSQL installation procedure. Those steps should therefore be handled separately rather than assumed as part of this guide.
2. How do I access ERPNext after installation?
After starting the Bench, navigate to the following address in your browser:
http://localhost.com:8000
Log in using the administrator credentials configured during site creation.
Note: The original source contains
http://localhost.com:8000in this FAQ. Earlier in the installation procedure, the site is accessed usinghttp://localhost:8000. Follow the URL appropriate to the site configuration you created.
3. How do I keep my installation updated?
Run the following command periodically to update your Frappe/ERPNext installation:
bench update
The bench update command is used to update the Bench and its installed applications according to the Bench update process.
Final Checklist
Before considering the installation complete, make sure you have completed the following:
- [ ] Git installed
- [ ] Python development tools installed
- [ ] Setuptools and Pip installed
- [ ] Python virtual environment package installed
- [ ] MariaDB installed
- [ ] MariaDB security configuration completed
- [ ] MySQL development files installed
- [ ] MariaDB configuration updated
- [ ] MariaDB restarted
- [ ] Redis installed
- [ ] Node.js 18 installed
- [ ] Yarn installed
- [ ] wkhtmltopdf installed
- [ ] Frappe Bench installed
- [ ] Frappe Version 15 Bench initialized
- [ ] Frappe site created
- [ ] ERPNext Version 15 downloaded
- [ ] ERPNext installed on the site
- [ ] Bench started
- [ ] ERPNext accessed through the browser
Your Frappe/ERPNext Version 15 environment is now ready for further configuration and customization.



Comments
Start the conversation — be the first to share your thoughts.