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