Appearance
Installation Guide (RHEL-compatible Linux)
About 808 wordsAbout 3 min
2026-09-01
These steps apply to RHEL-compatible distributions, version 8 or 9 (for example Rocky Linux, AlmaLinux or Red Hat Enterprise Linux). CentOS 7 and CentOS 8 are end of life. The package glibc-langpack-en used below exists from version 8 on.
Requirements
- Memory: the Datafor server starts with a Java heap of 2 GB that can grow to 6 GB (
-Xms2048m -Xmx6144m). The built-in PostgreSQL database and the AI Agent run beside it, so plan at least 8 GB RAM. To change the heap, see Increasing Memory Limit for Datafor Server. - Java: bundled in
bi-server/java. You do not need to install Java. - Ports:
28080(web server),25432(built-in PostgreSQL),28081(AI Agent API) and38081(AI Agent MCP server). Open only28080in the firewall, or only the Nginx ports when Datafor runs behind Nginx. Keep25432,28081and38081closed to the network.
Step 1: Switch to the root user and install the required packages
sudo su root
yum install unzip procps-ng glibc-langpack-en -yConsole output example:
[root@your-server ~]# yum install unzip procps-ng glibc-langpack-en -y
Package unzip-6.0-48.el8_10.x86_64 is already installed.
Package procps-ng-3.3.15-14.el8.x86_64 is already installed.
Package glibc-langpack-en-2.28-251.el8_10.31.x86_64 is already installed.
Dependencies resolved.
Nothing to do.
Complete!Step 2: Create the biadmin user group
groupadd biadminStep 3: Create the biadmin user
Create a user named biadmin, add it to the biadmin group, and set its password:
adduser biadmin -g biadmin
passwd biadminStep 4: Extract the installation package
Go to the directory that holds the installation package and extract it into /opt. Use the file name of the package you received, for example datafor-server-linux-<version>.zip:
unzip -o datafor-server-linux-<version>.zip -d /opt/The package creates /opt/bi-server.
Step 5: Set directory permissions
cd /opt/
chmod -R 700 bi-server
chown -R biadmin:biadmin bi-serverInstallation is now complete.
Starting Datafor
Perform the following steps as the biadmin user.
Step 1: Switch to biadmin
su - biadminStep 2: Start Datafor
cd /opt/bi-server/
./start-server.shThe script starts the built-in PostgreSQL database and then the Datafor web server (Tomcat).
Console output example:
[biadmin@your-server bi-server]$ ./start-server.sh
DEBUG: Found JAVA at the current folder
DEBUG: _PENTAHO_JAVA_HOME=/opt/bi-server/java
DEBUG: _PENTAHO_JAVA=/opt/bi-server/java/bin/java
waiting for server to start...
LOG: listening on IPv4 address "0.0.0.0", port 25432
LOG: database system is ready to accept connections
server started
Using CATALINA_BASE: /opt/bi-server/tomcat
Using CATALINA_HOME: /opt/bi-server/tomcat
Using JRE_HOME: /opt/bi-server/java
Using CATALINA_OPTS: -Xms2048m -Xmx6144m ...
Tomcat started.Step 3: Start the AI Agent
The AI Agent is in /opt/bi-server/ai-agent and runs the API on port 28081, a routing worker, dispatch workers (two by default) and the MCP server on port 38081. Start it with its launcher:
cd /opt/bi-server/ai-agent
./app-console.sh startstart starts only the components that are not running, so it is safe to run it again. On the first start the launcher creates instance-secrets.env and writes the shared secret into Datafor's settings. If it prints Set <agent-secret> in …, restart Datafor once (Step 4, then Step 2) so that Datafor reads the value. See AI Agent Shared Secret.
Check that the AI Agent is ready:
curl -i http://127.0.0.1:28081/ai/healthHTTP/1.1 200 means it is ready. 503 means it cannot work yet; the response body says whether the database, the schema migration or the worker queues are the cause. To set up the AI features, see How to Enable the AI Feature.
Step 4: Stop Datafor
cd /opt/bi-server/ai-agent
./app-console.sh stop
cd /opt/bi-server/
./stop-server.shConsole output example:
LOG: shutting down
LOG: database system is shut down
server stoppedStep 5: Check whether Datafor is running
ps -ef | grep [t]omcatIf the command prints a Java process whose arguments contain /opt/bi-server/tomcat, Datafor is running. No output means it is stopped.
Signing in to Datafor
Open http://<server-ip>:28080/ in a browser. The installation comes with two accounts:
- Administrator:
admin/password - Demo user:
demo/demo
Change the admin password right after the first sign-in (see Modify Password), and change the demo password or delete that user if you do not need it.
Updating the System
To install an update package, follow Upgrading Datafor.