14

OFBiz auf Ubuntu installieren

Geschrieben am 21.05.2011 in Tutorials von Sebastian Leitner

In diesem Tutorial möchte ich euch vorstellen, wie man OFBiz auf einer aktuellen Ubuntu-Version installiert. Ich verwende dafür eine virtuelle Maschine, die ich mit der i386-Version von Ubuntu Natty Norwhal (11.04) aufgesetzt habe. Es handelt sich dabei um eine völlig frische Desktop-Installation, so dass sichergestellt ist, dass wirklich alle benötigten Pakete im Tutorial enthalten sind. Am Ende des Tutorials werden wir ein System aufgesetzt haben, auf dem Apache OFBiz mit einer MySQL-Datenbank läuft. Das Ganze ist natürlich nur zum Ausprobieren und Anschauen gedacht, nicht für den produktiven Einsatz.

Installation von Java JDK, der Datenbank und einem Subversion-Client

Ich möchte gerne das Sun-JDK verwenden, da ich mit dem OpenJDK schon negative Erfahrungen gemacht habe. Leider ist es nicht in den Ubuntu-Sourcen enthalten, so dass wir erst unsere Quellen-Liste aktualisieren müssen. Glücklicherweise gibt es bereits eine Reihe von vorkompilierten Paket-Versionen für Ubuntu:

 sudo add-apt-repository "deb http://archive.canonical.com/ natty partner" sudo apt-get update sudo apt-get install sun-java6-jdk sun-java6-plugin

Bitte achten Sie darauf, dass das JDK installiert wird, nicht das JRE. Da ich gerne eine MySQL-Datenbank verwenden möchte, muss noch der Server installiert werden:

sudo apt-get install mysql-server

Natürlich können Sie auch eine alternative Datenbank nutzen. Für einen kurzen Blick reicht wahrscheinlich sogar die integrierte Derby-Datenbank. Ich möchte gerne die aktuellste Version von OFBiz nutzen, daher verwende ich keine der offiziellen Releases, sondern nutze das Entwickler-SVN. Dafür benötige ich noch einen SVN-Client, damit ich OFBiz beziehen kann:

sudo apt-get install subversion

Datenbank und Benutzer anlegen

Soeben haben wir uns einen MySQL-Server installiert. Dabei haben wir ein root-Passwort festgelegt. Nun loggen wir uns als root-Benutzer ein und legen einen eigenen Benutzer und eine Datenbank für OFBiz an. Ich verwende hier die Standard-Werte, damit wir gleich nicht noch die OFBiz-Konfiguration bearbeiten müssen. Möchten Sie einen eigenen Nutzer und Passwort verwenden, lesen Sie bitte im Tutorial zur OFBiz-Konfiguration nach, wo sie diesen in OFBiz einstellen müssen.

 mysql -uroot -p(bei der Installation festgelegt) create user ofbiz; create database ofbiz; grant all on ofbiz.* to 'ofbiz' identified by 'ofbiz'; flush privileges; exit

Damit ist unsere Datenbank angelegt. Nun wenden wir uns OFBiz zu.

OFBiz herunterladen

Wie bereits gesagt, möchte ich OFBiz aus dem Entwickler-SVN beziehen. Ich lege einen Ordner in meinem Home-Verzeichnis an und checke dort hin aus:

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

Alternativ können Sie natürlich auch ein OFBiz Stable Release herunterladen. Es liegt als ZIP-Datei vor und muss nur noch entpackt werden.

OFBiz zur Nutzung von MySQL vorbereiten

Wegen Lizenz-rechtlichen Beschränkungen ist der benötigte MySQL-Connector in OFBiz nicht enthalten. Wir müssen ihn manuell herunterladen und in unserer OFBiz-Installation hinzufügen. Dieser JDBC-Connector steht kostenlos zur Verfügung und wird benötigt, um aus Java-Anwendungen heraus eine Verbindung zu MySQL-Datenbanken aufzubauen:

 cd .. wget -O - http://www.mysql.de/get/Downloads/Connector-J/mysql-connector-java-5.1.16.tar.gz/from/http://ftp.gwdg.de/pub/misc/mysql/ > mysql-connector-java-5.1.16.tar.gz tar xzvf mysql-connector.java-5.1.16.tar.gz mv mysql-connector.java-5.1.16/mysql-connector.java-5.1.16-bin.jar ofbiz/framework/entity/lib/jdbc/ cd ofbiz

Da wir den Connector in ein Verzeihnis geschoben haben, dass bereits in den Classpath eingebunden ist, steht der Connector jetzt beim nächsten Start von OFBiz zur Verfügung und muss nicht noch in der build.xml ergänzt werden. Nun muss noch konfiguriert werden, dass OFBiz die MySQL-Datenbank verwendet. Hierfür öffnen Sie die Datei ofbiz/framework/entity/config/entityengine.xml und editieren folgende Zeilen (Zeilenzahl kann je nach Revision von OFBiz abweichen):

ofbiz-install-entityengine-xml

Die Standard-Einstellung ist die Verwendung der Derby-Datenbank, die die Daten lediglich flüchtig im Arbeitsspeicher hält.

OFBiz kompilieren und die Datenbank befüllen

Sie benötigen keine native Installation von ANT, es ist bereits in OFBiz enthalten. Da wir auf Linux arbeiten, konnten die Datei-Berechtigungen direkt aus dem SVN übernommen werden. Wir können also direkt loslegen und OFBiz kompilieren:

./ant build

Nachdem das Kompilieren abgeschlossen ist, wird der Durchlauf mit “BUILD SUCCESSFULL” bestätigt. Es ist an der Zeit, dass wir unsere Datenbank befüllen. OFBiz lädt mit folgendem Ant-Kommando die benötigten Daten sowie Demo-Daten:

./ant run-install

Brauchen Sie keine Demo-Daten, führen Sie bitte “./ant run-install-extseed” aus. Ein kurzer Hinweis: es werden jetzt etwa 800 Tabellen in der Datenbank angelegt und Fremdschlüssel-Beziehungen anlegt. Dann kommt eine Reihe von Demo-Daten dazu. Also ein wenig Geduld, bitte.

OFBiz starten

Damit sollte alles bereit sein, um OFBiz zu starten:

./startofbiz.sh

Nachdem alles geladen ist, kann OFBiz verwendet werden. Hier das Ergebnis anhand des eCommerce-Moduls: Apache OFBiz E-Commerce Modul

Hat Ihnen dieses Tutorial geholfen? Haben wir etwas vergessen oder sind Fragen offen geblieben? Wir freuen uns über Feedback!

Dieser Artikel gefällt Ihnen? Sagen Sie's Ihren Freunden:

14 Antworten bisher.

  1. Richter sagt:

    Sind Probleme bekannt wenn ich OFBiz mit openjdk-7-jdk beteibe?

  2. Robert sagt:

    @Tom:
    Bitte fasse Ofbiz auf keinen Fall als komplett fertiges System auf. Jeder der damit anfängt, wird viel Fluchen, es aber dann auch anfangen zu lieben, vor allem, wenn man schon viele Systeme durchprobiert hat. Es ist ein gutes Rahmenwerk, welches bereits extrem viele Funktionen mitbringt. Anders als wie bei bestehenden Systemen wie XT, JTL, ggf. auch Magento etc. wird hier besonderen Wert auf das ERP, CMS und die Katalogverwaltung gelegt. Diese sind sehr komplex und selbst das verstehen auf der Ebene der Benutzeroberfläche ist für komplexe Vorgänge oft zeitaufwändig – aber lohnenswert.

    Ob sich ein umstieg für Dich lohnt, hängt von deiner Unternehmensgröße und deiner zukünftigen Planung ab. Für einfache Strukturen reichen die weniger komplexen Systeme. WEnn du auf keinen Fall in den Code eingreifen willst, dann wird es aber schwierig. Zumindest im Template musst du viel arbeiten, um die entsprechenden Funktionen in deinen Shop zu bekommen und das Layout deinen Wünschen anzupassen.

    Viele Grüße Robert

  3. Tom sagt:

    Hallo,

    mal eine dummy frage: Ich hadere extrem mit den am markt verfügbaren e-commerce systemen (magento, oxid, shopware, presta…). Alle konnte ich bisher installieren (direkt am webserver via ssh auf php-mysql Umgebungen zb.) jedoch hat jedes so seine mucken. Jetzt hab ich ofbiz entdeckt. Es scheint mir aber, dass ich hier auf jeden Fall den Umweg über eine lokales System mit JDK gehen muss. Sehe ich das richtig oder gibt es für ofbiz auch bereits fertige Pakete, die ich direkt auf meinem Webserver installieren kann?
    Zweite Frage: wenn ich mit all den anderen Systemen (als nicht Programmierer) so viele Probleme hab, wird es mir dann mit ofbiz besser gehen?

    Vielen Dank für Tipps!
    Tom

    • Hallo Tom,

      interessant für die Beantwortung der Frage wäre, welche Mucken in den genannten Systemen besonders stören.

      Für den Betrieb von OFBiz ist auf jeden Fall eine Java Runtime auf dem Server notwendig. Diese kann bei Sun kostenlos heruntergeladen werden (http://www.java.com/de/download/). Im Startscript von OFBiz ist dann das JAVA_HOME entsprechend zu setzen.

      Mehr ist in der Minimalkonfiguration nicht notwendig. In Produktivumgebungen wird jedoch häufig ein Webserver (z.B. Apache) davor gesetzt, der dann per Connector mit dem in OFBiz enthaltenen Servletcontainer kommuniziert.

      Viele Grüße,

      Michael

  4. Daniel Glaser sagt:

    Hallo,

    beim durcharbeiten des Tutorials ist noch ein Fehler aufgetreten, dass ofbiz nicht auf die Datenbank ‘ofbizteneant’ zugreifen darf. Sind eventuell noch folgende Kommandos auf der mysql-Konsole notwendig.

    mysql> create database ofbiztenant;
    mysql> grant all on ofbiztenant.* to ‘ofbiz';

    Anschließend lief ./ant run-install fehlerfrei durch.

  5. Daniel Glaser sagt:

    Hallo,

    zuerst mal, Danke für das nette Tutorial.

    Was konkret ist denn in einer Produktivumgebung zu beachten? Gibt es hierfür ebenfalls ein Tutorial?

    Grüße,
    Daniel

    • Danke für das Feedback!

      Ein Tutorial gibt es hierzu von uns noch nicht, wäre eine Idee :-)

      Die Frage ist im Rahmen eines Blog-Kommentars schwer umfassend zu beantworten, aber hier ein paar Anhaltspunkte:

      * Konfiguration des Cachings anpassen, dies ist im Standard auf entwicklungsfreundlich eingestellt (= kein Caching)
      * Beispiel-Ladedaten überprüfen und ggf. auskommentieren oder auf den Produktivbetrieb anpassen
      * nicht benötigte Module abschalten
      * Url und Ports Einstellungen anpassen
      * Debug/Logging Einstellungen anpassen
      * Security Einstellungen anpassen
      * Standard Admin Passwort und weitere ändern :-)
      * HTML Komprimierung einschalten, Widget verbose ausschalten
      * …

      Da gibt es schon einiges zu tun.

      Viele Grüße,
      Michael

  6. Richter sagt:

    Wie verbinde ich OFBiz mit Apache 2.2.x, Ich möchte dies nicht über ‘..:8080/ofbiz’ tun?

  7. Bastian Sirvend sagt:

    Gut geschrieben! Werd das die Tage mal ausprobieren. Freu mich auf die nächsten Tutorials. Beste Grüße

  8. Richter sagt:

    Hallo,
    muss ich die JAVA_HOME setzen? Das OFBiz möchte ich in das Verzeichnis /opt
    / installiern, ist dies OK?

    • Guten Abend,

      ja, JAVA_HOME sollte gesetzt sein. Dies wird sowohl für den Build als auch die Ausführung von OFBiz benötigt.
      Die Installation im Verzeichnis /opt ist ohne Probleme möglich.

      Viel Erfolg und Grüße,

      Michael Brohl