Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Info
titlePre Gradle version

This page documents the usage with Gradle, the pre-Gradle documentation is here: Demo and Test Setup Guide

This page documents the trunk version, the documentation for the R16.11 version is here: Demo and Test Setup Guide

 

Table of contents

Table of Contents

Introduction

This document describes an initial setup process and basic configuration options for the Open For Business Project. For more detail see related documents such as the OFBiz Framework Configuration Guide, the Entity Engine (database) Configuration Guide, the Service Engine Configuration Guide, and other related documents you may found at OFBiz Documentation Index

If you run into trouble there are various resources available to help. The first steps would be to search on the New OFBiz Docs Site and Old OFBiz Wiki (now archived), and then on the OFBiz Mailing Lists. If you can't find you answer there, then subscribe to the Apache OFBiz Users Mailing List, and send a message with as much detail as possible about the problem you are having.

Quick & Easy Setup

You can There are 2 possibilities to get up and running OFBiz quickly by downloading the OFBiz Complete distribution and following some simple instructions:

For more options and explanations, see the rest of this document.

  1. Download and install the Java 2 v1.5 series 1.8 or higher JDK/J2SDK (not the JRE, you need the full SDK) from Sun's Java (J2SE) site if you intent to use a release prior to R10.04 or trunk else use 1.6, and make . You can use OpenJdk 8 (or higher).
    Make sure your JAVA_HOME environment variable is set to this JDK after installation (NOTE that for Mac OS X no JVM setup is needed, just make sure Java is up to date with the OS X Software Update facility). Note also that OpenJdk is still not recommended, there are still some compilation problmems with it (today: 2010-05-27)
    There are still people using older versions, even it it's of course not recommened, notably for security reasons. By and large see this page on system requirements.
  2. "Download" OFBiz Download the OFBiz release archive and unzip it in the directory of your choice (see comments below about that, so for now checking out of SVN repository is preferred, see below...). This should create one sub-directory: ofbiz. This will be the OFBIZ_HOME location.
  3. (not for snapshots) Load OFBiz demo data in the embedded Apache Derby database running "gradlew loadAll" on Windows or "./gradlew loadAll" on Linux/Unix/OSX.
  4. Start OFBiz with embedded Tomcat by going into the ofbiz directory and then running
    • Windows: "gradlew ofbiz" or "startofbiz.bat" (or even "%JAVA_HOME%\bin\java -jar build\libs\ofbiz.jar")
    for Windows,
    • Linux/Unix/OSX: "./gradlew ofbiz" or "./startofbiz.sh" (or even "$JAVA_HOME/bin/java -jar build/libs/ofbiz.jar")
    for Linux/Unix. For OS X you can just run "java -jar ofbiz
    • .
    jar" and you don't need to setup the JAVA_HOME or anything because it is already there.
  5. Open a browser and go to http
    https://127.0.0.1:8080/ecommerce/control/mainlocalhost:8443/ecommerce or https://localhost:8443/ecomseo for the ecommerce application or
    https://127.0.0.1localhost:8443/webtools /control/main
    for the WebTools application or
    https://127.0.0.1localhost:8443/catalog /control/mainfor the Catalog Manager application.
  6. The default administrative account is username: "admin", password: "ofbiz".
  7. Have fun with it! You are running on a Java database. For more discussion of databases, read the section below on that topic.
  8. For more detailed options and configuration information, read on!

Building

...

OFBiz

When building from SVN you will need to have a Java 1.5 series J2SDK (NOT just the JRE, need to full SDK) as mentioned above. The build is done using Ant, and sufficient Ant libraries are included with OFBiz. If you have Ant installed separately just make sure you have version 1.5 or later, and then run Ant as normal intead of as listed in the following examples, a release or a svn checkout, you will use Gradle, and sufficient Gradle libraries (notably the gradlew wrapper) and scripts are embedded with OFBiz.

In the directory where you want OFBiz to be, do a SVN checkout of, for instance, the ofbiz trunk (releases branches are also availble). For example:

svn co http://svn.apache.org/repos/asf/ofbiz/trunk ofbiz

For information on connecting to SVN click heresee above.

Now go into the "ofbiz" directory and run "ant.batgradlew" (Windows), or "./antgradlew" (Linux/Unix/OSX). It will compile all modules and leave you an executable jar (ofbiz.jar) in the "ofbiz/build/libs" directory.

To load the seed and demo data, run "ant.bat run-install" or "%JAVA_HOME%\bin\java -jar ofbiz.jar install" (Windows), or "./ant run-install" or*"$JAVA_HOME/bin/java -jar ofbiz.jar install"* (Linux/Unix/OSX)

As an alternative to the previous step: to load the seed data only, run "ant.bat run-install-seed" or "%JAVA_HOME%\bin\java -jar ofbiz.jar install -readers=seed" (Windows), or "./ant run-install-seed" or*"$JAVA_HOME/bin/java -jar ofbiz.jar install -readers=seed"* (Linux/Unix/OSX)

To start the server run "ant.bat run" or "%JAVA_HOME%\bin\java -jar ofbiz.jar" (Windows), or "./ant run" or "$JAVA_HOME/bin/java -jar ofbiz.jar" (Linux/Unix/OSX)

Tip
titleAbout Gradle
  • On *nix platforms, You need to add "./" ahead of "gradlew" to get the embedded Gradlew wrapper running. You might use your own Gradle installation but that's out of the scope of this page.

To start the server run "gradlew ofbiz"

Another build option that is useful is "gradlew Another build option in the Ant build script that is useful is "ant.bat clean" (Windows) or "./ant gradlew clean" (Linux/Unix/OSX). That will clean out all built classes allowing you to run "antgradlew" again to get a clean build. If you are running into funny errors after updating from SVN in the future, give this clean build process a try first.

You can get more information about available Gradle possibilities using "gradlew tasks" (Windows) or "./gradlew tasks" (Linux/Unix/OSX)

Database Setup

Database setup is done in the entityengine.xml file. There are many options there which are described in the Entity Engine Configuration Guide

The OFBiz package comes with Apache Derby, an open source Java database from IBM that complies with DB2 specs and is based on the IBM Cloudscape product. This database is good for demonstration purposes because it is easy to setup and use. It is not the best for large data sets and does not provide the same performance or scalability that a major database would, but compared to HypersonicSQL (that we used to use) it is significantly better because while not as fast for small scale operations it is closer to a production database environment and allows us to catch issues earlier on. Smaller sites might even consider this as an option for their production deployment, especially once the database is a bit more stabilized.

There are many open source databases that will scale well and deliver good performance. The two most popular are PostgreSQL and MySQL (4. 1.11 or later, or the 5 series) . Postgres is a very full featured database with transaction support, foreign keys, stored procedures, et cetera. Postgres also has very friendly license terms. MySQL is a pretty good option these days as well but we recommend PostgreSQL. Please note that if you use this MySQL in a commercial production instance you may have to purchase a commercial license because it is GPL licensed and so is the JDBC driver. MySQL AB allows use of the JDBC driver in open source projects in spite the GPL license, but this may not apply for commercial use of a modified OFBiz. For some, a commercial license is the preferred way to go anyway because of support and warranty and other issues. For those with this preference considering Postgres there is also a commercial Postgres derivative called EnterpriseDB.

...

Default data can be loaded through the "run-installloadAll" Ant Gradle target as mentioned in the Building from SVN section.

...

OFBiz comes and runs by default with Tomcat for a Servlet/JSP container, the Apache Geronimo Transaction Manager for a transaction (JTA) manager, and Apache DBCP for a transaction aware connection pool.

OFBiz can also be configured to run in different containers, but there may be issues with certain quirks that other containers have, especially with servlet containers. We have always been able to find work-arounds for these, but they also seem to keep on appearing, so that is just something to watch for.

Because of the difficulty of deploying in an external application server we have created a configuration and script template tool that takes the classpath and webapp settings from the various OFBiz files to more easily generate the files you need. For more information, see the README file in the ofbiz/framework/appservers directory. If you are looking for a good commercial J2EE app server, Orion is a good place to start, but we recommend trying out Tomcat and Geronimo TM and see if they meet your needs.