Install the Classification and Language Services
- Last Updated: May 13, 2026
- 3 minute read
- Semaphore
- Documentation
The Classification and Language Service is used to provide classification facilities for applications. The application analyzes submitted text and returns categories from a particular model (classification scheme) for which the document is appropriate.
Important: For Semaphore 5.10.2, a new NLP processor was introduced that works by default when no language packs are installed. However, the results from this configuration are likely to produce different results from an installation using language packs. Therefore, to ensure consistent results when upgrading, continue using the same language packs as earlier installations. If you are starting a new project, installing Semaphore without language packs provides is sufficient in most scenarios.
Note: If you are not using language packs, you do not need to install Java or configure the SEMAPHORE_JVM_LIB parameter.
The command to install the Classification Server is
yum install Semaphore-ClassificationServer-<Version>.x86_64.rpm
Configure Language Packs
If you are using language packs to support the classification process, you must install the Base language pack and at least one other language pack.
If you are using language packs, perform the following on the server hosting the Classification and Language Services:
-
Install the base language pack by running the following command:
yum install Semaphore-LanguagePack-Linux-Base-<Version>.rpm -
Install each of the purchased language specific packs. For example, execute a command that takes the following form:
yum install Semaphore-LanguagePack-Linux-<Language>-<Version>.rpm
Before starting the Classification Server, you must add a SEMAPHORE_JVM_LIB setting to the /etc/sysconfig/semaphore-cs file. This tells Classification Server where the Java Virtual Machine library used for the language packs can be found. The setting needs to be the full path name; therefore, a simple way to find this is from the following command prompt type (the stderr redirection eliminates warnings from the response):
find -L / -name libjvm.so 2\> /dev/null
Next, specify the returned file path for the SEMAPHORE_JVM_LIB value. For example, SEMAPHORE_JVM_LIB=/full/path/to/the/libjvm.so. Note that we recommend specifying a soft link to the JVM library to avoid potential issues on subsequent updates to the JDK software. Refer to How do you change the JDK version for Semaphore after installation? in the Semaphore for Linux Administration for more information.
If you experience issues starting the Classification Server, refer to Issue - Classification Server with Language Packs installed fails to start in the Semaphore for Linux Administration.
Note: Before you can start Classification Server for the first time you will need to install a licence key, refer to Installing the licence key for details.
Configure the Classification Server
The Classification Server (CS) processes requests sent by client applications (such as Semaphore for SharePoint solutions) and classifies the content of the request against a set of rules stored on the server. The resulting classification information is then returned to the requesting application.
The Classification Server configuration file is named config.xml by default and found in the /etc/opt/semaphore/CS/conf/ directory. Other configuration files may be used by specifying them via start-up parameters for Classification Server; however, we recommend using the typical name for easier maintenance.
For details of the settings in this file see Configure the Classification and Language Service (CLS)
For any settings changes to take effect, you must restart the server:
-
Login to the installation server as an administrator
-
Stop the
semaphore-csservice by executing the following command:systemctl stop semaphore-cs -
Edit the configuration file with your changes at the following location:
/etc/opt/semaphore/[CS]{.underline}/conf/config.xml -
Save the changes on the configuration file
-
Restart the
semaphore-csservice by executing the following command:systemctl start semaphore-cs
How to make Classification Server accessible from outside the installation server
By default, port 5059 (Admin server interface) of Classification Server is accessible only in the localhost, even if you open this port in your server firewall. This section discusses how to make Classification Server accessible to an outside server/machine.
To allow the Classification Server to be accessible outside of localhost:
-
Login to the server hosting CLS as an administrator.
-
Stop the
semaphore-csservice by executing the following command:systemctl stop semaphore-cs -
Open the configuration file, which is typically stored in the following location:
/etc/opt/semaphore/CS/conf/config.xml -
Search for either
5058or5059, depending on which port you want to modify. -
Under the
only_accept_ipproperty for your port, add the IP address where you want Classification Server to be accessible. Alternatively, comment out theonly_accept_ipproperty section to allow the Classification Server to be accessible anywhere in the network -
Save the changes to the configuration file.
-
Restart the
semaphore-csservice executing the following command:systemctl start semaphore-cs
Next steps