This page describes the installation procedure for Fess on Linux environments. It covers the TAR.GZ, RPM, and DEB package formats.
Warning
Running with the embedded OpenSearch is not recommended for production environments. Always set up an external OpenSearch server.
Prerequisites
The system requirements described in System Requirements are met
Java 21 is installed
OpenSearch 3.7.0 is available for use (or is newly installed)
Choosing an Installation Method
For Linux environments, you can choose from the following installation methods:
| Method | Recommended Environments | Features |
|---|---|---|
| TAR.GZ | Development environments, environments requiring customization | Can be extracted to any directory |
| RPM | RHEL, CentOS, Fedora systems | Service management via systemd possible |
| DEB | Debian, Ubuntu systems | Service management via systemd possible |
System Configuration for Running OpenSearch
To run OpenSearch stably on Linux, configure the following kernel parameters and resource limits. These are mainly required for the TAR.GZ version (when installing OpenSearch manually). For the RPM / DEB versions, the OpenSearch and Fess packages configure settings such as the file descriptor limit via systemd, but since vm.max_map_count is a host-level kernel setting, be sure to check it regardless of which installation method you use.
Maximum Map Count for Virtual Memory
Because OpenSearch uses a large number of memory maps, set vm.max_map_count to 262144 or higher.
To set this temporarily:
To set this persistently:
File Descriptor Limit
When running OpenSearch manually (TAR.GZ version), set the file descriptor limit for the user running OpenSearch to 65535 or higher.
Add the following to /etc/security/limits.conf (replace opensearch with the username that runs OpenSearch):
Note
For the RPM / DEB versions, this setting is not necessary because the file descriptor limit is configured in the systemd service definition.
Installation with TAR.GZ Version
Step 1: Install OpenSearch
Download OpenSearch
Download the TAR.GZ version from Download OpenSearch.
Note
This example uses OpenSearch 3.7.0. Fess 15.8 supports OpenSearch 3.7.0.
Install OpenSearch Plugins
Install the plugins required by Fess.
Important
Plugin versions must match the OpenSearch version. In the example above, all are specified as 3.7.0.
Configure OpenSearch
Add the following settings to
config/opensearch.yml.Warning
Important Security Notice
Use
plugins.security.disabled: trueonly in development or test environments. In production environments, enable the OpenSearch security plugin and configure appropriate authentication and authorization. When enabling the security plugin on OpenSearch 2.12 or later, you must set the administrator password (environment variableOPENSEARCH_INITIAL_ADMIN_PASSWORD) at the first startup. For details, refer to Security Configuration.Tip
Adjust other settings, such as the cluster name and network settings, according to your environment. Example configuration:
Tip
The OpenSearch heap size is configured with
-Xms/-Xmxinconfig/jvm.options. As a guideline, use no more than half of the available physical memory and less than 32GB, and it is recommended to specify the same value for-Xmsand-Xmx.
Step 2: Install Fess
Download and Extract Fess
Download the TAR.GZ version from the download site.
Configure Fess
Edit
bin/fess.in.shto configure the connection information to OpenSearch. This file already contains, in a commented-out state, the settings for connecting to an external OpenSearch cluster.Uncomment (remove the leading
#from) the following two lines near the top of the file.Before (default state):
After:
Note
Set
FESS_DICTIONARY_PATHto the same path specified forconfigsync.config_pathin OpenSearch’sopensearch.yml.If OpenSearch is running on a different host, change
SEARCH_ENGINE_HTTP_URLto the appropriate hostname or IP address. Example:SEARCH_ENGINE_HTTP_URL=http://192.168.1.100:9200Rather than adding a new
SEARCH_ENGINE_HTTP_URL=...line, uncomment and edit the existing commented-out line.
Tip
To change the Fess heap size, edit
FESS_MIN_MEM(default:256m) andFESS_MAX_MEM(default:2g) inbin/fess.in.sh, or set the environment variableFESS_HEAP_SIZE.Verify Installation
Verify that the configuration file has been edited correctly:
Step 3: Startup
For startup procedures, refer to Startup, Shutdown, and Initial Setup.
Installation with RPM Version
The RPM version is used on RPM-based Linux distributions such as Red Hat Enterprise Linux, CentOS, and Fedora.
Step 1: Install OpenSearch
Download and Install OpenSearch RPM
Download the RPM package from Download OpenSearch and install it.
Alternatively, you can add a repository and install from it. For details, refer to Installing OpenSearch.
Install OpenSearch Plugins
Configure OpenSearch
Add the following settings to
/etc/opensearch/opensearch.yml.Settings to add:
Warning
Do not use
plugins.security.disabled: truein production environments. Refer to Security Configuration for appropriate security configuration.
Step 2: Install Fess
Install Fess RPM
Download the RPM package from the download site and install it.
Configure Fess
For the RPM version, edit the environment variable configuration file
/etc/sysconfig/fess. This file is preserved across package upgrades (do not edit/usr/share/fess/bin/fess.in.shdirectly, since it is overwritten during upgrades).Configure the connection information to OpenSearch. The default values are as follows. Change them as needed:
Note
Set
FESS_DICTIONARY_PATHto the same path asconfigsync.config_pathinopensearch.yml.Register and Enable the Service
Enable the services using systemd (systemd is the standard on RHEL 8 and later, and CentOS 8 and later):
Note
Because the Fess service depends on the OpenSearch service, OpenSearch must be started first.
Note
On legacy environments that do not use systemd, you can register Fess with
chkconfig:
Step 3: Startup
For startup procedures, refer to Startup, Shutdown, and Initial Setup.
Installation with DEB Version
The DEB version is used on DEB-based Linux distributions such as Debian and Ubuntu.
Step 1: Install OpenSearch
Download and Install OpenSearch DEB
Download the DEB package from Download OpenSearch and install it.
Alternatively, you can add a repository and install from it. For details, refer to Installing OpenSearch.
Install OpenSearch Plugins
Configure OpenSearch
Add the following settings to
/etc/opensearch/opensearch.yml.Settings to add:
Warning
Do not use
plugins.security.disabled: truein production environments. Refer to Security Configuration for appropriate security configuration.
Step 2: Install Fess
Install Fess DEB
Download the DEB package from the download site and install it.
Configure Fess
For the DEB version, edit the environment variable configuration file
/etc/default/fess. This file is preserved across package upgrades (do not edit/usr/share/fess/bin/fess.in.shdirectly, since it is overwritten during upgrades).Configure the connection information to OpenSearch. The default values are as follows. Change them as needed:
Note
Set
FESS_DICTIONARY_PATHto the same path asconfigsync.config_pathinopensearch.yml.Register and Enable the Service
Enable the services using systemd:
Note
Because the Fess service depends on the OpenSearch service, OpenSearch must be started first.
Step 3: Startup
For startup procedures, refer to Startup, Shutdown, and Initial Setup.
Post-Installation Verification
After the installation is complete, verify the following:
Verify Configuration Files
OpenSearch configuration file (opensearch.yml)
Fess configuration file
TAR.GZ version:
bin/fess.in.shRPM version:
/etc/sysconfig/fessDEB version:
/etc/default/fess
Directory Permissions
Verify that the directories specified in the configuration (
configsync.config_path/FESS_DICTIONARY_PATH) exist and have appropriate permissions set.For the TAR.GZ version:
For the RPM/DEB versions:
Verify Kernel Parameters
Verify that the value is
262144or higher.Verify Java Version
Verify that Java 21 or later is installed.
Next Steps
After installation is complete, refer to the following documentation:
Startup, Shutdown, and Initial Setup - Starting Fess and initial setup
Security Configuration - Security configuration for production environments
Troubleshooting - Troubleshooting
Frequently Asked Questions
Q: Will other versions of OpenSearch work?
A: Fess depends on a specific version of OpenSearch. To ensure plugin compatibility, it is strongly recommended to use the recommended version (3.7.0). If you use a different version, you must also adjust the plugin versions appropriately.
Q: How do I configure OpenSearch as a cluster?
A: Refer to the official OpenSearch documentation Cluster formation. For a cluster configuration, you must remove the discovery.type: single-node setting and add appropriate cluster settings.