This guide is intended for developers and describes how to set up an Intershop development environment on Mac OS X.
You can either use Oracle or MS SQL Server.
Use the Oracle database either in a VM, a Docker container or use an external database.
Download the Oracle Client for Mac OS.
Modify oracleClientDir in environment.properties according to your environment.
Info
In case you get the error ORA-21561: OID generation failed when connecting to the database, edit the hosts file on the Mac to include a local computer name by adding the computer name to the end of the 127.0.0.1 line.
For example, the last line of the hosts file would read: 127.0.0.1 localhost <local computer name>.
The following MS SQL Docker container can be used:
https://github.com/IntershopCommunicationsAG/mssql-intershop-docker
Azure Data Studio can be used as database tool, see Download and install Azure Data Studio:
CREATE DATABASE intershop COLLATE Latin1_General_100_CI_AS;
Set the following environment.properties:
databaseType=mssql intershop.jdbc.url =jdbc:sqlserver://localhost:1433;database=db intershop.jdbc.user=intershop intershop.jdbc.password=intershop
To set up Intershop Studio on Mac:
Download and install standard Eclipse for Mac.
Go to Help | Install New Software.
Select Intershop Studio Update Site: https://repository.cloud.intershop.com/studio/
Install Intershop Studio Extensions
If you get an error message regarding org/eclipse/xtend/typesystem/MetaModel, you need to install the Xtend IDE:
Make sure that Eclipse is using the correct JDK by going to About Eclipse | Installation Details | Configuration, check for the -vm argument.
If the JDK version needs to be changed, follow this:
Start Eclipse by double clicking the Eclipse application on MacOS.
If you need to pass arguments to Eclipse, edit the eclipse.ini file inside the Eclipse application bundle:
Select the Eclipse application bundle icon while holding down the Control Key.
A popup menu opens.
Select Show Package Contents in the popup menu.
Locate eclipse.ini file in the Contents/MacOS sub-folder and open it with your favorite text editor to edit the command line options.
To increase shared memory:
Edit /etc/sysctl.conf:
kern.sysv.shmmax=12582912 kern.sysv.shmall=12582912
or:
#on each reboot sudo sysctl -w kern.sysv.shmmax=12582912 sudo sysctl -w kern.sysv.shmall=12582912
The packages for Mac OS X are now also published in the Intershop Repository under OS-Id darwin and they should be used automatically when deploying with gradle on a Mac:
environment.properties:
platformId = darwin.x86_64
Mac-specific packages:
ivy-releases/com.intershop.infrastructure/runtime/3.0.3/zips/runtime-local-darwin.x86_64-3.0.3.zip
ivy-releases/com.intershop.infrastructure/tcm/3.0.3/zips/tcm-local-darwin.x86_64-3.0.3.zip
ivy-releases/com.intershop/3rd_apache/2.4.28.1/zips/3rd_apache-local-darwin.x86_64-2.4.28.1.zip
ivy-releases/com.intershop/webadapter/1.0.10/zips/webadapter-local-darwin.x86_64-1.0.10.zip
In gradle_environment.sh the command readlink is used, which does not exist on Mac OS X by default. However, this can be solved with the help of Homebrew :
Use the following command:
brew install coreutils
Create an alias:
alias readlink=greadlink
To set the java.library.path:
Edit tomcat.sh and add JAVA_OPTS=$JAVA_OPTS\ -Djava.library.path=$IS_HOME/lib.
To start the web server:
cd local/httpd/bin sudo ./apachectl -k start
If you get the error message ./apachectl: line 73: ulimit: open files: cannot modify limit: Invalid argument, you can edit apachectl and replace:
ULIMIT_MAX_FILES="ulimit -S -n `ulimit -H -n`"
with
ULIMIT_MAX_FILES=""
To automate this you can run follwing command in the directory <server>/local/httpd/bin :
sed -i apachectl.bak 's/^\(ULIMIT[^"]*"\)[^"]*\(.*"\)/\1\2/' apachectl
To start the server:
cd server/local/bin . ./environment.sh ./tomcat.sh
To start the application server using Intershop Studio's server view, the run configuration must be extended:
Add the VM argument: -Djava.library.path="${IS_HOME}/lib"
Do the same for the debug configuration.
The information provided in the Knowledge Base may not be applicable to all systems and situations. Intershop Communications will not be liable to any party for any direct or indirect damages resulting from the use of the Customer Support section of the Intershop Corporate Website, including, without limitation, any lost profits, business interruption, loss of programs or other data on your information handling system.