Technology hub‎ > ‎Developer Handy‎ > ‎

Install Endeca Commerce Guided Search on Linux

Easy step by step install in 30mins

Create endeca user and make endeca user sudoer

$> useradd endeca
$> passwd endeca

Add endeca to /etc/sudoers
$> vi /etc/sudoers
add below line
endeca    ALL=(ALL)       ALL

save with override (:wq!) to override reaonly

Login as Endeca and create endeca install directory with permissions

System -> Log off root
Login as endeca/endeca

Create Directory /opt/endeca
sudo mkdir /opt/endeca
sudo chown endeca /opt/endeca

Download the below required linux installables of Endeca Commerce 3.2.1 from Oracle eDelivery (
to /home/endeca folder

Choose Endeca for Linux and download

Oracle Endeca MDEX Engine 6.4.1 for Linux x86-64
Oracle Endeca Platform Services 6.1.3 for Linux x86-64
Oracle Endeca Tools and Frameworks with Experience Manager 3.1.2 for Linux x86-64

I am installing the basic required binaries to run  Endeca Commerce Search

After download the /home/endeca folder should have 


Step 1: Install MDEX

./ --target /opt/endeca

cat /opt/endeca/endeca/MDEX/6.4.1/mdex_setup_sh.ini

Add output to ~/.bashrc (at the end)
export PATH

Step 2: Install Platform Services

./ --target /opt/endeca

Configure the ports your Endeca Instance will utilize.

Please enter the port number of the Endeca HTTP service. The typical default is 8888.
        Please enter a value: 8888

Please enter the shutdown port number of the Endeca HTTP service. The typical default is 8090.
        : 8090

Please enter the port number of the Endeca Control System JCD, or nothing if you do not plan to use a Control System environment. The typical default is 8088.
        : 8088

Would you like this installation configured to run the Endeca Application Controller (EAC)? (Y/N)?
(Please note: this will also install the EAC Agent)
        : Y

Please enter the root of your Endeca MDEX Engine installation. The root directory path typically includes the version number. Leave blank if there is no Endeca MDEX Engine installed.
        : /opt/endeca/endeca/MDEX/6.4.1

Would you like to install the reference implementations? (Y/N)?
        : Y

cat /opt/endeca/endeca/PlatformServices/workspace/setup/installer_sh.ini
Add output to ~/.bashrc (at the end)

#  Environment variables required to run the Endeca Platform Services software.

export PERLLIB
export PERL5LIB
export PATH
#  ENDECA_REFERENCE_DIR points to the directory the reference implementations
#  are installed in.  It is not required to run any Endeca software.


Step 3: Install Workbench (Experience Manager) and Deployment Template

sudo chown -R endeca /opt/endeca
unzip -d /opt/endeca/endeca/PlatformServices/

Step 4: Deploy new Application using Deployment template (I call it testapp)

Exit terminal and open a fresh one to Set the environment variables in Bash
Create directory "apps" mkdir /opt/endeca/endeca/apps

cd /opt/endeca/endeca/PlatformServices/ToolsAndFrameworks/3.1.2/deployment_template/bin

08/15/2013 15:19:25 [] INFO:  Starting deployment template 
08/15/2013 15:19:25 [AppDescriptorReader] INFO:  Parsing application descriptor

   Enter a short name for your application.

   Note: The name must conform to this regular expression: ^[a-zA-Z0-9]+$

   Application name:

   Specify the path into which the application will be deployed. The specified 
   directory must exist and cannot contain spaces.

   For example, to deploy into /localdisk/apps/testapp, specify the path as 

   Deployment directory:

   Specify the port on which the Endeca Application Controller is running. This
   is configured in the server.xml file in the workspace of the Endeca software
   install and should be the same for all applications deployed in this 
   environment. Ports must be in the range 1024-65535 [default: 8888].

   EAC port:
08/15/2013 15:20:20 [] INFO:  Deploying application into 

   What port is the Workbench running? [Default: 8006]

   What port should be used for the Live Dgraph? [Default: 15000]

   What port should be used for the Authoring Dgraph? [Default: 15002]

   What port should be used for LogServer? [Default: 15010]
08/15/2013 15:20:40 [AppDescriptorReader] INFO:  Parsing application descriptor
08/15/2013 15:20:40 [] INFO:  Processing install with id 'Dgraph'
08/15/2013 15:20:40 [] INFO:  Application successfully deployed.

Step 5: Start Platform services, Workbench and Initialize services

cd /opt/endeca/endeca/PlatformServices/6.1.3/tools/server/bin

cd /opt/endeca/endeca/PlatformServices/ToolsAndFrameworks/3.1.2/server/bin

Host changes (Alternatively you can add Hostname added to /etc/hosts file <<yourhost>> to avoid below changes)
cd /opt/endeca/endeca/apps/testapp/config/script/
vi AppConfig.xml
vi LiveDgraphCluster.xml
vi AuthoringDgraphCluster.xml
vi WorkbenchConfig.xml
vi DataIngest.xml
vi ReportGeneration.xml
edit eacHost, hostName, workbenchHost and repositoryUrl, ReportGenerationHost to localhost  (respectively)

cd /opt/endeca/endeca/apps/testapp/control/

Access workbench http://localhost:8006/

Step 6: Install, Deploy/Initialize Discover reference app (optional)

Remove testapp
cd /opt/endeca/endeca/apps/testapp/control
./ --remove-app

cd /opt/endeca/endeca/PlatformServices/ToolsAndFrameworks/3.1.2/deployment_template/bin
./ --app /opt/endeca/endeca/PlatformServices/ToolsAndFrameworks/3.1.2/reference/discover-data/deploy.xml

cd /opt/endeca/endeca/apps/Discover/control
Execute ""
Execute ""
Execute ""
Execute ""

try http://localhost:8006/discover