> For the complete documentation index, see [llms.txt](https://docs.pentaho.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.pentaho.com/install/legacy-redirects/manual-installation-process-archived-content/prepare-your-linux-environment-for-a-manual-installation.md).

# Prepare your Linux environment for a manual installation

{% hint style="info" %}
This page is kept for existing links. Go to [Manual installation process](/install/legacy-redirects/manual-installation-process.md#prepare-your-linux-environment-for-a-manual-installation).
{% endhint %}

This guide helps you prepare your Linux environment for a manual installation. Manual installation deploys the Pentaho Server to your own supported web application server (for example, Tomcat).

If you prefer an installation that includes a bundled web application server, see [Archive installation](/install/pentaho-installation-overview-cp/archive-installation.md).

### Process overview

{% hint style="info" %}
If you already installed a supported web application server, skip **Install your web application server**.
{% endhint %}

1. [Create the Pentaho user](#create-the-pentaho-user)
2. [Create Linux directory structure](#create-linux-directory-structure)
3. [Install Java](#install-java)
4. [Install your web application server](#install-your-web-application-server)
5. [Install the Pentaho Repository host database](#install-the-pentaho-repository-host-database)
6. [Download and unpack installation files](#download-and-unpack-installation-files)
7. [Set environment variables](#set-environment-variables)
8. [Advanced Linux considerations](#advanced-linux-considerations)
9. [Prepare your Pentaho Repository](#prepare-your-pentaho-repository)

### Create the Pentaho user

Create a user account with administrative privileges. You will use it for the remaining steps.

1. Create an administrative user on the server and name it `pentaho`.
2. Verify the `pentaho` user can read, write, and execute in its home directory.
3. Verify users can write to the directory where you install Pentaho.

### Create Linux directory structure

Choose an installation path. Pentaho recommends this directory structure.

1. Sign in to the machine where you will run the Pentaho Server.
2. Make sure you are signed in as the `pentaho` user.
3. Create these directories under the `pentaho` user’s home directory:

   ```
   <your home directory>/pentaho/server/pentaho-server
   <your home directory>/.pentaho
   ```
4. Verify you have read, write, and execute permissions for the directories you created.

### Install Java

Pentaho requires a supported Java version.

1. Check [Components Reference](/install/components-reference.md) for the supported Java version.
2. Download and install the supported JRE or JDK.
3. Set `JAVA_HOME` to your Java installation directory.

   Example:

   ```
   export JAVA_HOME=/usr/lib/jvm/jdk11.x.x.x
   ```

### Install your web application server

If you plan to deploy Pentaho on your own Tomcat server, install Tomcat first.

{% hint style="info" %}
If you already have a supported Tomcat installed, skip this section.
{% endhint %}

1. Check [Components Reference](/install/components-reference.md) for the supported Tomcat version.
2. Install your web application server, following its vendor documentation.
3. Start the web application server and verify you can reach the default page.
4. Stop the web application server.

### Install the Pentaho Repository host database

The Pentaho Repository stores data used for scheduling and security. It also stores metadata and models for reports.

1. Choose a supported database type:
   * PostgreSQL
   * MySQL
   * MariaDB
   * Oracle
   * MS SQL Server
2. Check [Components Reference](/install/components-reference.md) for supported database versions.
3. Install the database you selected.
4. Verify the database is installed and running.

### Download and unpack installation files

Pentaho Server and Operations Mart are delivered as compressed files. Download them, unpack them, then copy the contents to the correct directories.

#### Download files

1. Sign in to the [Support Portal](https://support.pentaho.com/hc/en-us) using the credentials in your Pentaho Welcome Packet.
2. In the **Pentaho** card, select **Download**.
3. In the **11.x** list, select **Pentaho 11.0 GA Release**.

   <div data-gb-custom-block data-tag="hint" data-style="info" class="hint hint-info"><p>You might need to select <strong>See all &#x3C;number> articles</strong> to see all downloads.</p></div>
4. In **Pentaho Server/Manual Build (No Web Application Server)**, download:
   * `pentaho-server-manual-ee-11.0.0.0-<build number>.zip`
5. In **Operations Mart**, download:
   * `pentaho-operations-mart-11.0.0.0-<build number>.zip`

#### Unpack installation files

1. Unpack `pentaho-server-manual-ee-11.0.0.0-<build number>.zip`.
2. Move its contents to:
   * `/pentaho/server/pentaho-server`
3. Unpack `pentaho-operations-mart-11.0.0.0-<build number>.zip`.
4. Move its contents to:
   * `/pentaho/server/pentaho-server`
5. In `/pentaho-server`, go to `/pentaho-server-manual-ee`.
6. Unpack these ZIP files and move their contents as shown:
   * `license-installer.zip` → `pentaho/server`
   * `jdbc-distribution-utility.zip` → `pentaho/server`
   * `pentaho-data.zip` → `pentaho/server/pentaho-server`
   * `pentaho-solutions.zip` → `pentaho/server/pentaho-server`
7. Copy these files to your web application server:
   * `pentaho.war` → `pentaho/server/pentaho-server/<tomcat installation directory>/webapps`
   * `pentaho-style.war` → `pentaho/server/pentaho-server/<tomcat installation directory>/webapps`
   * `PentahoServer_OSS_Licenses.html` → `pentaho/server/pentaho-server`

#### Verify directory structure

1. Verify these directories exist:
   * `pentaho/server/pentaho-server/`
   * `pentaho/server/pentaho-server/data/<database name>`
2. If your web application server is not under `pentaho/server/pentaho-server`, verify you copied the WAR files to your chosen `<tomcat installation directory>/webapps` directory.

### Set environment variables

If you do not set the required `*_HOME` environment variables, Pentaho may not start correctly.

1. Set `PENTAHO_JAVA_HOME` to your Java installation path.

   Example:

   ```
   export PENTAHO_JAVA_HOME=/usr/lib/jvm/java-11-oracle
   ```
2. (Optional) If you are using a JRE, also set `JRE_HOME`.
3. Sign out and sign back in, then verify the variables are set.

### Advanced Linux considerations

Some headless server scenarios need extra configuration.

* A system with no video card
* A system with a video card but no X server installed

In some environments (especially without a video card), you might need both procedures to generate reports.

#### Systems without video cards

Add `-Djava.awt.headless=true` to `CATALINA_OPTS` in your application server startup scripts.

{% hint style="warning" %}
Startup can fail if any environment variable value is invalid. Double-check settings after edits.
{% endhint %}

Example:

```
export CATALINA_OPTS="-Djava.awt.headless=true -Xms4096m -Xmx6144m -XX:MaxPermSize=256m -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000"
```

If you create a service control script, add the same parameter to its `CATALINA_OPTS`.

#### Systems without X11

Chart generation requires X11 functions.

If you cannot install an X server, install `Xvfb` instead. Xvfb emulates X11 in memory.

Install Xvfb using your operating system’s package manager.

### Prepare your Pentaho Repository

After you finish preparing your environment, initialize and configure your Pentaho Repository.

Select the database you are using:

* [PostgreSQL](/install/legacy-redirects/manual-installation-process-archived-content/use-postgresql-as-your-repository-database-manual-installation.md)
* [MySQL or MariaDB](/install/legacy-redirects/manual-installation-process-archived-content/use-mysql-or-mariadb-as-your-repository-database-manual-installation.md)
* [Oracle](/install/legacy-redirects/manual-installation-process-archived-content/use-oracle-as-your-repository-database-manual-installation.md)
* [MS SQL Server](/install/legacy-redirects/manual-installation-process-archived-content/use-ms-sql-server-as-your-repository-database-manual-installation.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.pentaho.com/install/legacy-redirects/manual-installation-process-archived-content/prepare-your-linux-environment-for-a-manual-installation.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
