Installing Endeca Commerce Guided Search on Mac OSX

Easy step by step install in 30mins

Below are the steps to install Endeca on Mac with VirtualBox and Centos

Grab VirtualBox for Mac

http://www.oracle.com/technetwork/server-storage/virtualbox/downloads/index.html#vbox

http://sourceforge.net/projects/virtualboximage/files/CentOS/5.6/Centos-x86_64.7z/download

Download appropriate image (CentOS 5.1) at the below link

http://virtualboxes.org/images/centos/

Extract using Unarchiver found at https://itunes.apple.com/app/the-unarchiver/id425424353?mt=12&ls=1

IF VM doesn't start: VirtualBox VM settings: System -> Motherboard -> Enable IO APIC

Create new VM, Allocate memory with "Other Linux" and choose from "Existing" (browse to .vdi file)

Start VM

Login: root

password: roottoor

Execute below commands to update system

$yum update (might take a while)

$yum install kernel-devel gcc

Enable sharing and Display drivers

Go to Devices -> Install Guest Additions (Installs folder sharing and display drivers for mac)

To share Mac folders with VM. Select VM on "VirtualBox Manager" and (Command + S) -> Shared Folder tab. Add local folder

Folder will show up on /media directory on VirtualBox centos

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 (edelivery.oracle.com)

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

/home/endeca/platformservices_613654721_x86_64pc-linux.sh

/home/endeca/V37716-01.zip

/home/endeca/mdex_6.4.1.715066_x86_64pc-linux.sh

Step 1: Install MDEX

./mdex_6.4.1.715066_x86_64pc-linux.sh --target /opt/endeca

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

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

ENDECA_MDEX_ROOT=/opt/endeca/endeca/MDEX/6.4.1

export ENDECA_MDEX_ROOT

PATH=$ENDECA_MDEX_ROOT/bin:$PATH

export PATH

Step 2: Install Platform Services

./platformservices_613654721_x86_64pc-linux.sh --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)

VERSION=6.1.3

BUILD_VERSION=6.1.3.654721

ARCH_OS=x86_64pc-linux

PRODUCT=IAP

ENDECA_INSTALL_BASE=/opt/endeca

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

ENDECA_ROOT=/opt/endeca/endeca/PlatformServices/6.1.3

export ENDECA_ROOT

PERLLIB=$ENDECA_ROOT/lib/perl:$ENDECA_ROOT/lib/perl/Control:$ENDECA_ROOT/perl/lib:$ENDECA_ROOT/perl/lib/site_perl:$PERLLIB

export PERLLIB

PERL5LIB=$ENDECA_ROOT/lib/perl:$ENDECA_ROOT/lib/perl/Control:$ENDECA_ROOT/perl/lib:$ENDECA_ROOT/perl/lib/site_perl:$PERL5LIB

export PERL5LIB

PATH=$ENDECA_ROOT/bin:$ENDECA_ROOT/perl/bin:$ENDECA_ROOT/utilities:$PATH

export PATH

ENDECA_CONF=/opt/endeca/endeca/PlatformServices/workspace

export ENDECA_CONF

# ENDECA_REFERENCE_DIR points to the directory the reference implementations

# are installed in. It is not required to run any Endeca software.

ENDECA_REFERENCE_DIR=/opt/endeca/endeca/PlatformServices/reference

export ENDECA_REFERENCE_DIR

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

sudo chown -R endeca /opt/endeca

unzip V37716-01.zip -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

./deploy.sh

08/15/2013 15:19:25 [deploy.pl] INFO: Starting deployment template

installation.

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

file

/opt/endeca/endeca/PlatformServices/ToolsAndFrameworks/3.1.2/deployment_template/lib/../app-templates/base_descriptor.xml.

------------------------------------------------------------------------------

Enter a short name for your application.

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

Application name:

testapp

------------------------------------------------------------------------------

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

/localdisk/apps.

Deployment directory:

/opt/endeca/endeca/apps

------------------------------------------------------------------------------

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:

8888

08/15/2013 15:20:20 [deploy.pl] INFO: Deploying application into

/opt/endeca/endeca/apps/testapp

------------------------------------------------------------------------------

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

8006

------------------------------------------------------------------------------

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

15000

------------------------------------------------------------------------------

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

15002

------------------------------------------------------------------------------

What port should be used for LogServer? [Default: 15010]

15010

08/15/2013 15:20:40 [AppDescriptorReader] INFO: Parsing application descriptor

file

/opt/endeca/endeca/PlatformServices/ToolsAndFrameworks/3.1.2/deployment_template/lib/../app-templates/base_descriptor.xml.

08/15/2013 15:20:40 [deploy.pl] INFO: Processing install with id 'Dgraph'

08/15/2013 15:20:40 [deploy.pl] INFO: Application successfully deployed.

Step 5: Start Platform services, Workbench and Initialize services

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

./startup.sh

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

./startup.sh

Host changes (Alternatively you can add Hostname added to /etc/hosts file 127.0.0.1 <<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/

./initialize_services.sh

Access workbench http://localhost:8006/

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

Remove testapp

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

./initialize_services.sh --remove-app

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

deploy --app /opt/endeca/endeca/PlatformServices/ToolsAndFrameworks/3.1.2/reference/discover-data\deploy.xml

cd /opt/endeca/endeca/Discover/control

Execute "initialize_services.sh"

Execute "load_baseline_test_data script.sh"

Execute "baseline_update script.sh"

Execute "promote_content script.sh"

try http://localhost:8006/discover

IGNORE STEPS BELOW: Below is the Failed attempt to directly install on Mac OSX - Native libraries and MDEX are build only for Linux

==================================================================================

Download the below required linux installables of Endeca Commerce 3.2.1 from Oracle eDelivery (edelivery.oracle.com)

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

Step 1: Create symbolic links for Mac to look like Linux

sudo ln -s /usr/bin/more /bin/more

sudo ln -s /usr/sbin/chown /bin/chown

sudo ln -s /usr/bin/chgrp /bin/chgrp

sudo ln -s /usr/bin/sed /bin/sed

sudo ln -s /usr/bin/tar /bin/tar

sudo ln -s /usr/bin/basename /bin/basename

sudo ln -s /usr/bin/true /bin/true

sudo ln -s /bin/expr /usr/bin/expr

Edit ~/.bash_profile and Add

export JAVA_HOME=$(/usr/libexec/java_home)

Step 2: Install Mdex 6.4.1

./mdex_6.4.1.715066_x86_64pc-linux.sh --target /Users/userxx12/endeca/

cat /Users/userxx12/endeca/endeca/MDEX/6.4.1/mdex_setup_sh.ini (path printed at the end of installation)

Add the Env variables printed above to your ~/.bash_profile file

ENDECA_MDEX_ROOT=/Users/userxx12/endeca/endeca/MDEX/6.4.1

export ENDECA_MDEX_ROOT

PATH=$ENDECA_MDEX_ROOT/bin:$PATH

export PATH

Step 2: Install Platform Services 6.1.3

./platformservices_613654721_x86_64pc-linux.sh --target /Users/userxx12/endeca/

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

: 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.

: /Users/userxx12/endeca/endeca/MDEX/6.4.1

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

: Y

cat /Users/userxx12/endeca/endeca/PlatformServices/workspace/setup/installer_sh.ini (path printed at the end of installation)

Add the Env variables printed above to your ~/.bash_profile file

VERSION=6.1.3

BUILD_VERSION=6.1.3.654721

ARCH_OS=x86_64pc-linux

PRODUCT=IAP

ENDECA_INSTALL_BASE=/Users/userxx12/endeca

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

ENDECA_ROOT=/Users/userxx12/endeca/endeca/PlatformServices/6.1.3

export ENDECA_ROOT

PERLLIB=$ENDECA_ROOT/lib/perl:$ENDECA_ROOT/lib/perl/Control:$ENDECA_ROOT/perl/lib:$ENDECA_ROOT/perl/lib/site_perl:$PERLLIB

export PERLLIB

PERL5LIB=$ENDECA_ROOT/lib/perl:$ENDECA_ROOT/lib/perl/Control:$ENDECA_ROOT/perl/lib:$ENDECA_ROOT/perl/lib/site_perl:$PERL5LIB

export PERL5LIB

PATH=$ENDECA_ROOT/bin:$ENDECA_ROOT/perl/bin:$ENDECA_ROOT/utilities:$PATH

export PATH

ENDECA_CONF=/Users/userxx12/endeca/endeca/PlatformServices/workspace

export ENDECA_CONF

# ENDECA_REFERENCE_DIR points to the directory the reference implementations

# are installed in. It is not required to run any Endeca software.

ENDECA_REFERENCE_DIR=/Users/userxx12/endeca/endeca/PlatformServices/reference

export ENDECA_REFERENCE_DIR

Step 3: Install Deployment template

Extract Tools and Frameworks 3.1.2

Copy ToolsAndFrameworks/3.1.2/deployment_template folder to /Users/userxx12/endeca/endeca/Solutions/ folder

Step 4: Start Platform Services

Edit /Users/userxx12/endeca/endeca/PlatformServices/6.1.3/tools/server/bin/setenv.sh

Comment the JAVA_HOME by adding # in the front (looks like below)

#JAVA_HOME=$ENDECA_ROOT/j2sdk

Start Platform services by executing startup.sh

cd /Users/userxx12/endeca/endeca/PlatformServices/6.1.3/tools/server/bin/

./startup.sh

Check Log file: /Users/userxx12/endeca/endeca/PlatformServices/workspace/logs/catalina.out

Step 5: Deploy app using Deployment Template

Edit ~/.bash_profile and remove the path to Endeca perl/bin (Comment the below path and add new line without perl)

#PATH=$ENDECA_ROOT/bin:$ENDECA_ROOT/perl/bin:$ENDECA_ROOT/utilities:$PATH

PATH=$ENDECA_ROOT/bin:$ENDECA_ROOT/utilities:$PATH

Edit /Users/userxx12/endeca/endeca/Solutions/deployment_template/bin/deploy.sh (Comment the below PERL_BIN and add perl path to default Mac OSX perl)

#PERL_BIN="${ENDECA_ROOT}/perl/bin/perl"

PERL_BIN="/usr/bin/perl"

Execute deploy.sh

cd /Users/userxx12/endeca/endeca/Solutions/deployment_template/bin/

./deploy.sh

08/14/2013 12:27:39 [deploy.pl] INFO: Starting deployment template

installation.

08/14/2013 12:27:39 [AppDescriptorReader] INFO: Parsing application descriptor

file

/Users/userxx12/endeca/endeca/Solutions/deployment_template/lib/../app-templates/base_descriptor.xml.

------------------------------------------------------------------------------

Enter a short name for your application.

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

Application name:

apptest

------------------------------------------------------------------------------

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/apptest, specify the path as

/localdisk/apps.

Deployment directory:

/Users/userxx12/endeca/endeca/apps

------------------------------------------------------------------------------

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:

8888

08/14/2013 12:28:41 [deploy.pl] INFO: Deploying application into

/Users/userxx12/endeca/endeca/apps/apptest

------------------------------------------------------------------------------

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

8006

------------------------------------------------------------------------------

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

15000

------------------------------------------------------------------------------

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

15002

------------------------------------------------------------------------------

What port should be used for LogServer? [Default: 15010]

15010

08/14/2013 12:29:12 [AppDescriptorReader] INFO: Parsing application descriptor

file

/Users/userxx12/endeca/endeca/Solutions/deployment_template/lib/../app-templates/base_descriptor.xml.

08/14/2013 12:29:12 [deploy.pl] INFO: Processing install with id 'Dgraph'

08/14/2013 12:29:12 [deploy.pl] INFO: Application successfully deployed.

Edit Scripts to use Mac OSX Java

vi /Users/userxx12/endeca/endeca/apps/apptest/config/script/set_environment.sh

comment lines for JAVA_HOME

#JAVA_HOME=$ENDECA_ROOT/j2sdk:$JAVA_HOME

#export JAVA_HOME

vi /Users/userxx12/endeca/endeca/apps/apptest/control/runcommand.sh

change JAVA definition to default

#JAVA="${ENDECA_ROOT}/j2sdk/bin/java"

JAVA="/usr/bin/java"

Step 6: Install and Start Workbench

Copy "server" and "reference" directory from ToolsAndFramwork (downloaded) to /Users/userxx12/endeca/endeca/PlatformServices/workbench/ (create workbench directory)

Edit /Users/userxx12/endeca/endeca/PlatformServices/workbench/server/bin/workbench.sh and comment the JAVA_HOME definition

#export JAVA_HOME="${ENDECA_TOOLS_ROOT}/server/j2sdk"

Execute "workbench.sh start" to start workbench in the background

Check logs: tail -f /Users/userxx12/endeca/endeca/PlatformServices/workbench/server/workspace/logs/catalina.out