Openbravo 2.50 - installatie

Uit DeVliegendeWiki

Ga naar: navigatie, zoeken

Dit artikel behandelt de installatie van de technology stack van Openbravo, en de installatie van Openbravo zelf, beiden op Unbuntu Server 9.04 in combinatie met Openbravo 2.50. Dit artikel is geschreven in juli 2009.

Zie ook:

Installatie en configuratie van Ubuntu Server:

  1. Systeemwachtwoord bepalen
  2. Ubuntu Server installeren
  3. Root account aanzetten
  4. Vast IP-adres configureren
  5. Ubuntu Desktop installeren
  6. Root account op de desktop aanzetten
  7. Accounts defineren
  8. Runlevel configureren
  9. OpenSSH installeren

Installatie-procedure voor de technology stack:

  1. PostgreSQL installeren
  2. Java SDK installeren
  3. Tomcat installeren
  4. Ant installeren
  5. Permissies bijwerken
  6. Computer herstarten

Procedure voor Openbravo custom installation:

  1. Openbravo downloaden
  2. Openbravo configureren
  3. Openbravo compileren
  4. Database bijwerken
  5. Compilatie verifieren

Actuele issues:

  • Geen goed overzicht van configuratie-instellingen
  • Hoe werken variabelen? Wat is /etc/profile en /etc/invironment (of zoiets)? Hoe werkt export
  • Hoe belangrijk zijn de instellingen waarvan het lijkt dat je ze ook achterwege kunt laten?

Inhoud

Accounts defineren

Voor productieservers schijnt het een goed idee te zijn om voor elke belangrijke deamon een eigen account te creeren, zodat zo'n deamon binnen dat account functioneert. Het is wellicht handig om vantevoren deze accounts te defineren, zodat je tijdens de rest van de installatieprocedure weet wanneer welk account te gebruiken.

Voor een testserver is het wellicht handig om alles als root te doen

Ant Installeren

Installeer Ant en Ant-optional:

sudo apt-get install ant ant-optional

Voeg de volgende regels toe aan /etc/profile:

# Instellingen ANT voor Openbravo:
#
ANT_HOME=/usr/share/ant
ANT_OPTS="-Xmx1024M -XX:MaxPermSize=128M" # Voor 32- en 64-bits OS
PATH=$ANT_HOME/bin:$PATH
export ANT_HOME ANT_OPTS PATH

Compilatie verifieren

Na compilatie van Openbravo en bijwerken van de database, kun je de compilatie controleren met het commando

ant diagnostic

Ter illustratie de output van een installatie-poging van 12 juli 2009:

Buildfile: build.xml

diagnostic:

clean:
   [mkdir] Created dir: /var/local/src/OpenbravoERP-2.50MP2/src-diagnostics/build/classes
    [copy] Copying 1 file to /var/local/src/OpenbravoERP-2.50MP2/src-diagnostics/config
    [copy] Copying 2 files to /var/local/src/OpenbravoERP-2.50MP2/src-diagnostics/WebContent  /WEB-INF

build:
     [copy] Copying 66 files to /var/local/src/OpenbravoERP-2.50MP2/src-diagnostics/WebContent/WEB-INF/lib
   [javac] Compiling 14 source files to /var/local/src/OpenbravoERP-2.50MP2/src-diagnostics/build/classes

check.all:

check.permissions:

check.properties.configuration:

check.properties:
    [echo] Checking for Openbravo.properties file...
    [echo] Openbravo.properties file OK
    [echo] Checking for source.path in Openbravo.properties file...
    [echo] source.path OK

check.log4j:
    [echo] Checking for log4j.lcf file...
    [echo] log4j.lcf file OK

check.environment.variables:
 [checkEnv] log4j:WARN No appenders could be found for logger (org.openbravo.task.CheckEnvironmentVariables).
 [checkEnv] log4j:WARN Please initialize the log4j system properly.

check.db:
 [checkDB] log4j:WARN No appenders could be found for logger (org.openbravo.task.CheckDB).
 [checkDB] log4j:WARN Please initialize the log4j system properly.

check.ant:

check.ant.version:
    [echo] Checking ant version...
    [echo] Minimun 1.7.0, current Apache Ant version 1.7.1 compiled on November 10 2008
    [echo] Version OK

check.ant.jvm.size:
[checkAntMem] log4j:WARN No appenders could be found for logger (org.openbravo.task.CheckMemory).
[checkAntMem] log4j:WARN Please initialize the log4j system properly.

check.ant.jvm.version:
    [echo] Checking ant's JVM version...
[compareVersion] log4j:WARN No appenders could be found for logger (org.openbravo.task.CompareVersion).
[compareVersion] log4j:WARN Please initialize the log4j system properly.

check.tomcat:

deploy.context:

war:
     [war] Building war: /var/local/src/OpenbravoERP-2.50MP2/src-diagnostics/OpenbravoDiagnostics.war
[deploy.war] OK - Deployed application at context path /OpenbravoDiagnostics
   [start] OK - Started application at context path /OpenbravoDiagnostics

check.tomcat.version:
[checkTomcatVersion] log4j:WARN No appenders could be found for logger (org.openbravo.task.CheckTomcatVersion).
[checkTomcatVersion] log4j:WARN Please initialize the log4j system properly.

check.tomcat.jvm.size:
 [checkMem] log4j:WARN No appenders could be found for logger (org.openbravo.task.CheckTomcatMemory).
 [checkMem] log4j:WARN Please initialize the log4j system properly.

check.tomcat.jvm.version:
[checkJVMversion] log4j:WARN No appenders could be found for logger (org.openbravo.task.CheckJVMVersion).
[checkJVMversion] log4j:WARN Please initialize the log4j system properly.

BUILD FAILED
/var/local/src/OpenbravoERP-2.50MP2/build.xml:777: The following error occurred while executing this line:
/var/local/src/OpenbravoERP-2.50MP2/src-diagnostics/build.xml:57: The following error occurred while executing this line:
/var/local/src/OpenbravoERP-2.50MP2/src-diagnostics/build.xml:116: The following error occurred while executing this line:
/var/local/src/OpenbravoERP-2.50MP2/src-diagnostics/build.xml:170: Current Tomcat's JVM version:  minimum required version: 1.6
Tip: check http://wiki.openbravo.com/wiki/Development_Stack_Setup#Apache_Tomcat

Total time: 24 seconds

Ander voorbeeld: Geslaagde installatie 13 juli 2009:

Buildfile: build.xml

diagnostic:

clean:
   [mkdir] Created dir: /var/local/src/Openbravo/src-diagnostics/build/classes
    [copy] Copying 1 file to /var/local/src/Openbravo/src-diagnostics/config
    [copy] Copying 2 files to /var/local/src/Openbravo/src-diagnostics/WebContent/WEB-INF

build:
    [copy] Copying 66 files to /var/local/src/Openbravo/src-diagnostics/WebContent/WEB-INF/lib
   [javac] Compiling 14 source files to /var/local/src/Openbravo/src-diagnostics/build/classes

check.all:

check.permissions:

check.properties.configuration:

check.properties:
    [echo] Checking for Openbravo.properties file...
    [echo] Openbravo.properties file OK
    [echo] Checking for source.path in Openbravo.properties file...
    [echo] source.path OK

check.log4j:
    [echo] Checking for log4j.lcf file...
    [echo] log4j.lcf file OK

check.environment.variables:
[checkEnv] log4j:WARN No appenders could be found for logger (org.openbravo.task.CheckEnvironmentVariables).
[checkEnv] log4j:WARN Please initialize the log4j system properly.

check.db:
 [checkDB] log4j:WARN No appenders could be found for logger (org.openbravo.task.CheckDB).
 [checkDB] log4j:WARN Please initialize the log4j system properly.

check.ant:

check.ant.version:
    [echo] Checking ant version...
    [echo] Minimun 1.7.0, current Apache Ant version 1.7.1 compiled on November 10 2008
    [echo] Version OK

check.ant.jvm.size:
[checkAntMem] log4j:WARN No appenders could be found for logger (org.openbravo.task.CheckMemory).
[checkAntMem] log4j:WARN Please initialize the log4j system properly.

check.ant.jvm.version:
    [echo] Checking ant's JVM version...
[compareVersion] log4j:WARN No appenders could be found for logger (org.openbravo.task.CompareVersion).
[compareVersion] log4j:WARN Please initialize the log4j system properly.

check.tomcat:

deploy.context:

war:
     [war] Building war: /var/local/src/Openbravo/src-diagnostics/OpenbravoDiagnostics.war

BUILD FAILED
/var/local/src/Openbravo/build.xml:777: The following error occurred while executing this line:
/var/local/src/Openbravo/src-diagnostics/build.xml:57: The following error occurred while executing this line:
/var/local/src/Openbravo/src-diagnostics/build.xml:112: The following error occurred while executing this line:
/var/local/src/Openbravo/src-diagnostics/build.xml:197: java.net.ConnectException: Connection refused

Total time: 14 seconds

Computer herstarten

De Openbravo installatiehandleiding gebruikt herhaaldelijk commando's om wijzigingen actueel te maken. Volgens mij is het makkelijker om die commando's te negeren en naderhand de computer te herstarten.

Dalox Installatiescript voor Openbravo 2.40

Omgevingsvariabelen Linux in /etc/profile aanpassen

sudo gedit /etc/profile

#JAVA OB
JAVA_HOME=/usr/lib/jvm/java-6-sun
CLASSPATH=.:$JAVA_HOME/src.zip
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME CLASSPATH PATH

#Tomcat
CATALINA_HOME=/usr/share/tomcat
CATALINA_OPTS="-server -Xms256M -Xmx1024M -XX:MaxPermSize=256M"
export CATALINA_HOME CATALINA_OPTS

#Ant
ANT_HOME=/usr/share/ant
PATH=$ANT_HOME/bin:$PATH
export ANT_HOME PATH
 
Computer opnieuw opstarten

Java jdk
sudo apt-get install sun-java6-jdk

Tomcat
Uitpakken en naam veranderen naar tomcat

Map verplaatsen naar /usr/share

tomcat gebruiker aanmaken:
sudo /usr/sbin/useradd tomcat
chmod +x /usr/share/tomcat/bin/*.sh 

#rechten op map tomcat veranderen naar user
sudo chown dalox:dalox -R /usr/share/tomcat

#Tomcat starten
/usr/share/tomcat/bin/startup.sh
ANT
Uitpakken en naam veranderen naar ant

Map verplaatsen naar: /usr/share

PostgreSQL
sudo apt-get install postgresql-8.3
sudo apt-get install pgadmin3
sudo -u postgres psql template1
ALTER USER postgres WITH PASSWORD 'password';
\q

Restart PostgreSQL:
sudo /etc/init.d/postgresql-8.3 restart

Openbravo
Openbravo installer installeren

Compilen
Om te compilen moet je in de terminal gaan naar het het mapje 
/home/.../OpenbravoERP/Appsopenbravo (hier staat het build.xml bestand.)

    * ant core.lib -> Compiles the core components of the MVC Framework. It generates openbravo-core.jar.
   * ant wad.lib -> Compiles WAD. It doesn't generate windows. It just compiles WAD itself. It generates openbravo-wad.jar.
   * ant trl.lib -> Compiles the translator. It generates openbravo-trl.jar. 
   * Wad: Building of windows from dictionary
   * Java compilation: Compilation of every java file 

If you execute <ant compile> the wad step will try to rebuild every window.

If you execute <ant compile.complete>, all the built windows will be erased and rebuilt.

If you execute <ant compile -Dtab=order> the wad step will try to rebuild only the windows containing 'order' in their name.

So, if you type <ant compile -Dtab=xx> wad probably won't 
build any window (unless there is a  window with xx in it's name). 
You'll probably want to compile as less as possible (otherwise you'll waste time).

I stress that this is very simplistic. The wad process does other things appart from building windows. 
As a rule of dumb:

   * If you've changed the whole database: <ant compile.complete>
   * If you've changed one window in dictionary: <ant compile -Dtab=windowname>
   * If you've changed code (processes, forms...): <ant compile -Dtab=xxxxx>
   * ant war deploy (build war file and copy to tomcat)

Database bijwerken

Na compilatie moet je de database bijwerken:

 vacuumdb -f -z -h ''hostname'' -d ''dbname'' -U ''username''

Hierbij zijn dbname en username beiden standaard tad. Het commando vraagt vervolgens om een wachtwoord. Als je een correct wachtwoord geeft, gebeurt er nix en heb je na ca. 10 seconde weer een prompt. Als je een incorrect wachtwoord geeft, krijgt je gelijk een foutmelding.

Java SDK installeren

Installer Sun Java SDK 6 middels:

 sudo apt-get install sun-java6-jdk

De Openbravo Environment Installation geeft het volgende commando om van deze installatie de standaard te maken. Dat lijkt wel handig:

sudo update-java-alternatives -s java-6-sun

Vervolgens moeten er een of meer omgevingsvariabelen gedefineerd worden. De Openbravo Environment Installation houdt het op een variabele, maar Dalox houdt het op meer variabelen. Van deze variabelen lijkt JAVA_HOME te verwijzen naar de hoofddirectory waaronder de JVM of zoiets geinstalleerd is. CLASSPATH is het pad naar klasses (objectdefinities). Dat lijkt meestal de map lib onder JAVA_HOME te zijn. Deze variabelen kun je in bestand

/etc/profile

aanmaken:

# Alle instellingen voor Java
#
JAVA_HOME="/usr/lib/jvm/java-6-sun"
CLASSPATH=$JAVA_HOME/lib
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME CLASSPATH PATH

Openbravo Compilatie

Compilatie wordt volgens mij volledig door ANT gedaan. Tomcat hoeft niet gestart te zijn tijdens compilatie. Het is wel noodzakelijk dat Tomcat al geinstalleerd is, omdat ANT anders niet weet waar de gecompileerde code te plaatsen.

Start compilatie met:

ant install.source

Na de tekst:

Executing creation script
for the complete database

moest ik ca. een kwartier wachten.

Na

Reading functions...

moest ik andermaal ca. een kwartier wachten.

Na

Starting function and trigger standardization

een paar minuten wachten.

Laatste mededeling bij een geslaagde compilatie (12 juli 2009):

BUILD SUCCESSFUL
Total time: 51 minutes 49 seconds

Laatste mededelingen bij een niet-geslaagde compilatie op dezelfde computer als hiervoor (13 juli 2009). Merk op dat het build-proces er nu na 81 minuten mee stopte, terwijl het de eerste keer na 51 minuten al klaar was:

BUILD FAILED
org.openbravo.base.exception.OBException: java.lang.OutOfMemoryError: Java heap space
    at org.openbravo.erpCommon.modules.ApplyModule.execute(ApplyModule.java:166)
    at org.openbravo.erpCommon.modules.ApplyModuleTask.doExecute(ApplyModuleTask.java:42)
    at org.openbravo.dal.core.DalInitializingTask.execute(DalInitializingTask.java:116)
    at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
    at sun.reflect.GeneratedMethodAccessor87.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
    at org.apache.tools.ant.Task.perform(Task.java:348)
    at org.apache.tools.ant.Target.execute(Target.java:357)
    at org.apache.tools.ant.Target.performTasks(Target.java:385)
    at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1337)
    at org.apache.tools.ant.Project.executeTarget(Project.java:1306)
    at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
    at org.apache.tools.ant.Project.executeTargets(Project.java:1189)
    at org.apache.tools.ant.Main.runBuild(Main.java:758)
    at org.apache.tools.ant.Main.startAnt(Main.java:217)
    at org.apache.tools.ant.launch.Launcher.run(Launcher.java:257)
    at org.apache.tools.ant.launch.Launcher.main(Launcher.java:104)
Caused by: java.lang.OutOfMemoryError: Java heap space
    at org.hibernate.util.IdentityMap.entryList(IdentityMap.java:187)
    at org.hibernate.util.IdentityMap.entries(IdentityMap.java:63)
    at org.hibernate.event.def.AbstractFlushingEventListener.flushCollections(AbstractFlushingEventListener.java:212)
    at org.hibernate.event.def.AbstractFlushingEventListener.flushEverythingToExecutions(AbstractFlushingEventListener.java:77)
    at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:26)
    at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1000)
    at org.openbravo.dal.service.OBDal.flush(OBDal.java:108)
    at org.openbravo.service.db.DataImportService.saveUpdateConvertedObjects(DataImportService.java:511)
    at org.openbravo.service.db.DataImportService.importDataFromXML(DataImportService.java:435)
    at org.openbravo.service.db.DataImportService.importDataFromXML(DataImportService.java:124)
    at org.openbravo.erpCommon.modules.ApplyModule.execute(ApplyModule.java:160)
    ... 18 more

Total time: 87 minutes 33 seconds

Openbravo Compilatie onderbreken

Een keer per ongeluk compilatie onderbroken. Daarna leek ik 'm zonder problemen te kunnen herstarten.

Een andere keer was dat minder geslaagd: Vrij vroeg in het proces trad een foutmelding op dat er dubbele keys werden aangemaakt in de database. Aan het begin van de compilatie probeert het script de eventueel bestaande database te verwijderen. Dat lukte niet, omdat er 'connecties' naar deze databaes waren. Zie PostgreSQL voor details omtrent het verwijderen van zo'n geopende database.

Openbravo Compilatie: Out of heap memory error Java

Tijdens compileren kun je fouten krijgen die duiden op een out of heap memory error in Java. Waarschijnlijk duidt dit op een foutieve of ontbrekende ANT_OPTS parameter.

In het algemeen moet je het maximaal toegestande geheugengebruik van een applicatie vergroten bij dit soort foutmeldingen, en juist niet verkleinen: In het laatste geval krijg je out-of-memory-foutmeldingen, terwijl je in het eerste geval op z'n ergst een langzame computer krijgt vanwege swappen.

Out-of-memory-problemen kunnen behalve tijdens installatie, ook in bedrijf optreden. Relevante configuratieregels:

CATALINA_OPTS="-server -Djava.awt.headless=true -Xms384M -Xmx1024M -XX:MaxPermSize=256M"
JAVA_OPTS="-Xms384M -Xmx1024M -XX:MaxPermSize=256M"
ANT_OPTS=" -Xms384M -Xmx1024M -XX:MaxPermSize=256M"

Openbravo Configureren

Ga met een shell naar het gedownloade bestand en geef:

tar -xvf OpenbravoERP-2.50xx.tar.bz2

waarbij je 'xx' moet vervangen door de versienummers van het gedownloade bestand.

Nu wordt dit bestand uitgepakt en de inhoud geplaatst in een tree onder de huidige locatie (/var/local/src).

Ga in de hoofmap van deze tree' en geef commando:

ant setup

Als het goed is, krijg je output vergelijkbaar (lege regels verwijderd) met:

Buildfile: build.xml
setup.check.os:
setup.check.arch:
setup.exists.test:
setup:
     [get] Getting: https://dev.openbravo.com/svn/packaging/setup/output/setup-properties-linux.bin
     [get] To: /var/local/src/OpenbravoERP-2.50MP2/config/setup-properties-linux.bin
     [get] ....................................................
     [get] ....................................................
     [get] ............................
BUILD SUCCESSFUL
Total time: 15 seconds

Een voorbeeld van een niet-succesvolle poging (probleem ontstond na doorlopen script Dalox. Daarna installatie Ant gedaan zoals elders op deze pagina beschreven, en probleem opgelost):

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/tools/ant/launch/Launcher
Caused by: java.lang.ClassNotFoundException: org.apache.tools.ant.launch.Launcher
       at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
       at java.security.AccessController.doPrivileged(Native Method)
       at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
       at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
       at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
       at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
       at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
Could not find the main class: org.apache.tools.ant.launch.Launcher.  Program will exit.

Zoals je hierboven kunt zien bij de succesbolle poging, wordt bestand setup-properties-linux.bin gedownload naar de config-directory onder de hoofmap van de tree.

Dit bestand moet uitgevoerd worden. Vanuit Nautilus kreeg ik een foutmelding, ook al stond het bestand al wel aangemerkt als executable. Vanaf een shell lukte het wel.

Dit bestand start de configuration wizard die uiteindelijk bestanden config/Openbravo.properties en config/log4j.lcf genereert. Als je Openbravo compleet vanaf een command line installeert, moet je deze twee bestanden aanmaken.

Voorbeeld van Openbravo.properties:

# *************************************************************************
# * The contents of this file are subject to the Openbravo  Public  License
# * Version  1.0  (the  "License"),  being   the  Mozilla   Public  License
# * Version 1.1  with a permitted attribution clause; you may not  use this
# * file except in compliance with the License. You  may  obtain  a copy of
# * the License at http://www.openbravo.com/legal/license.html
# * Software distributed under the License  is  distributed  on  an "AS IS"
# * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
# * License for the specific  language  governing  rights  and  limitations
# * under the License.
# * The Original Code is Openbravo ERP.
# * The Initial Developer of the Original Code is Openbravo SL
# * All portions are Copyright (C) 2007-2008 Openbravo SL
# * All Rights Reserved.
# * Contributor(s):  ______________________________________.
# ************************************************************************ 

# Documentation at http://wiki.openbravo.com/wiki/Openbravo.properties

####################
# Date/time format #
#################### 

dateFormat.js=%d-%m-%Y
dateFormat.sql=DD-MM-YYYY
dateFormat.java=dd-MM-yyyy
dateTimeFormat.java=dd-MM-yyyy HH:mm:ss

###########
# General #
###########

# Static content URL. Use the default value to make it dynamic.
# Don't change this unless you know what you are doing
web.url=@80.101.219.147@/web 

# Full URL of the context, *only* used by the Web Services installation
context.url=http://localhost:8080/openbravo

# Absolute path to the attachments directory
attach.path=/opt/openbravo/attachments

# Context name, used in the final war file
context.name=openbravo

# Root sources directory, used by modularity
source.path=/var/local/src/OpenbravoERP-2.50MP2

# Openbravo ERP version
application.version=2.50MP2 

#Deploy mode: valid values [class, war]
deploy.mode=class

############
# Database #
############

# Oracle example:
#
# bbdd.rdbms=ORACLE
# bbdd.driver=oracle.jdbc.driver.OracleDriver
# bbdd.url=jdbc:oracle:thin:@localhost:1521:xe
# bbdd.sid=xe
# bbdd.systemUser=SYSTEM
# bbdd.systemPassword=SYSTEM
# bbdd.user=TAD
# bbdd.password=TAD
# bbdd.sessionConfig=ALTER SESSION SET NLS_DATE_FORMAT='DD-MM-YYYY' NLS_NUMERIC_CHARACTERS='.,'

bbdd.rdbms=POSTGRE
bbdd.driver=org.postgresql.Driver
bbdd.url=jdbc:postgresql://localhost:5432
bbdd.sid=openbravo
bbdd.systemUser=postgres
bbdd.systemPassword= <systeemwachtwoord klant>
bbdd.user=tad
bbdd.password=tad
bbdd.sessionConfig=select update_dateFormat('DD-MM-YYYY')

##################
# Tomcat manager #
##################
#
tomcat.manager.url=http://localhost:8080/manager
tomcat.manager.username=admin
tomcat.manager.password= <systeemwachtwoord klant>

##########################
# Development parameters #
##########################

bbdd.outputscript=databasescript.sql
bbdd.verbosity=INFO

# CSS Sprites Generator
generateSprites=no

# use js/css minimization (in local-context and war-file)
minimizeJSandCSS=yes

##################
# Authentication #
##################

# Leave this empty to use the default login hardler.
# LAM server example: org.openbravo.authentication.lam.LamAuthenticationManager
authentication.class=

###########
# Add-ons #
###########

# External Pentaho Services
pentahoServer=

##############
# Validation #
##############

validate.model=true
isMinorVersion=false

Voorbeeld log4j.lcf:

# *************************************************************************
# * The contents of this file are subject to the Openbravo  Public  License
# * Version  1.0  (the  "License"),  being   the  Mozilla   Public  License
# * Version 1.1  with a permitted attribution clause; you may not  use this
# * file except in compliance with the License. You  may  obtain  a copy of
# * the License at http://www.openbravo.com/legal/license.html
# * Software distributed under the License  is  distributed  on  an "AS IS"
# * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
# * License for the specific  language  governing  rights  and  limitations
# * under the License.
# * The Original Code is Openbravo ERP.
# * The Initial Developer of the Original Code is Openbravo SL
# * All portions are Copyright (C) 2007-2008 Openbravo SL
# * All Rights Reserved.
# * Contributor(s):  ______________________________________.
# ************************************************************************

log4j.rootCategory=INFO, R, O1

# Set our global levels
log4j.category.org=WARN
log4j.category.org.openbravo=INFO

# Additional Appender used for apply modules or other cases
log4j.appender.O1=org.openbravo.utils.OBLogAppender
log4j.appender.O1.layout=org.apache.log4j.PatternLayout
log4j.appender.O1.layout.ConversionPattern=%-4r [%t] %-5p %c - %m%n

log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=${catalina.base}/logs/openbravo.log
log4j.appender.R.MaxFileSize=10000KB

# R uses PatternLayout.
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%d{HH:mm:ss} [%t] %-5p %c - %m%n

# Keep one backup file
log4j.appender.R.MaxBackupIndex=1

log4j.category.reloadXml=ERROR

# To debug an specific class
#log4j.category.org.openbravo.erpCommon.ad_process=DEBUG

#****************************************************
# Hibernate
#****************************************************
log4j.appender.HB=org.apache.log4j.RollingFileAppender
log4j.appender.HB.File=${catalina.base}/logs/openbravo_hibernate.log
log4j.appender.HB.MaxFileSize=10000KB

# R uses PatternLayout.
log4j.appender.HB.layout=org.apache.log4j.PatternLayout
log4j.appender.HB.layout.ConversionPattern=%d{HH:mm:ss} [%t] %-5p %c - %m%n

# Keep one backup file
log4j.appender.HB.MaxBackupIndex=1

log4j.logger.org.hibernate=error, HB

### log HQL query parser activity
#log4j.logger.org.hibernate.hql.ast.AST=error, HB

### log just the SQL
log4j.logger.org.hibernate.SQL=error, HB

### log JDBC bind parameters ###
log4j.logger.org.hibernate.type=error, HB

### log schema export/update ###
log4j.logger.org.hibernate.tool.hbm2ddl=error, HB

### log HQL parse trees
log4j.logger.org.hibernate.hql=error, HB

### log cache activity ###
log4j.logger.org.hibernate.cache=error, HB

### log transaction activity
log4j.logger.org.hibernate.transaction=error, HB

### log JDBC resource acquisition
log4j.logger.org.hibernate.jdbc=error, HB

Openbravo Downloaden

Ga naar

deze pagina op SourceForge > 02-openbravo-sources

en download de nieuwste versie. De filename is wellicht zoiets als

OpenbravoERP-2.50MP2.tar.bz2

De standaard-locatie voor downloads die niet specifiek bij een bepaalde gebruiker horen, lijkt te zijn:

/var/local/src

OpenSSH Installeren

Het grootste deel van de installatieprocedure verloopt via een terminal. Daarom kan het handig zijn om gelijk aan het begin van de procedure OpenSSH te installeren:

sudo apt-get install openssh-server openssh-client

Er hoeven geen firewall-instellingen gewijzigd te worden. Verifieer dat OpenSSH werk:

ssh localhost

Het IP-adres waarop de server bereikbaar is, kun je achterhalen middels

ifconfig

Om vanaf een Windows-computer een SSH-connectie aan te gaan heb je PuTTY nodig. Dat kun je downloaden vanaf hier.

Permissies bijwerken

De Openbravo installatiehandleiding gaat er van uit dat de installatieprocedure is doorlopen met een handjevol verschillende gebruikers: openbravo voor Openbravo en tomcat voor Tomcat. Indien dat het geval is, schijn je een aantal permissies te moeten bijwerken.

PostgreSQL Installeren

Installeer PostgreSQL 8.3, postgresql-contrib-8.3 en PGAdmin. postgresql-contrib-8.3 bevat onderdeel uuid. Als je deze niet installeert kom je tot ca. halverwege de compilatie van Openbravo, voordat je een fatale fout krijgt. Zie Wikipedia - UUID - PostgreSQL voor details. PGAdmin is een onderhoudstool, vergelijkbaar met PHPMyAdmin. Suggestie om dit te installeren kwam van Dalox:

sudo apt-get install postgresql-8.3 postgresql-contrib-8.3 pgadmin3

Aan het eind van de installatieprocedure wordt de server gestart. Tevens wordt er een gebruikersgroep postgres aangemaakt, zonder leden.

PostgreSQL maakt standaard gebruik van IDENT-based auth: Als je de terminal psql aanroept vanuit account postgress, mag je erin. Je kunt met behulp van

su postgres

wisselen naar dit account. Als je daarna

psql

geeft, zit je erin.

Dit kan makkelijker in een commando:

sudo su - postgres -c psql

postgres Is niet alleen de naam van het account vanuit welke je kunt inloggen in psql, maar ook de naam van het standaard-PostgreSQL-account. Stel een wachtwoord in voor dit account. Waarschijnlijk is het het handigste om hier het systeemwachtwoord van de klant te kiezen:

alter role postgres with password 'new_password';

Verlaat de terminal:

\q

Root account aanzetten

Standaard staat op Ubuntu het root account uit. Dat is rete-onhandig en geeft makkelijk fouten, als je bv. af en toe sudo vergeet voor een commando dat geen foutmelding geeft als je sudo weglaat.

Het is waarschijnlijk aan te bevelen op zo snel mogelijk het root account aan te zetten.

Zie Linux#Root_login_on_Ubuntu voor details

Root account op de desktop aanzetten

Zie Linux#Root_login_on_Ubuntu voor details

Systeemwachtwoord bepalen

  • Als je Ubuntu installeert, moet je een gebruiker aanmaken. Waarschijnlijk handig om hier stc te gebruiken in combinatie met het standaard-stc-wachtwoord
  • Als root-wachtwoord, en andere standaard-wachtwoorden, het systeemwachtwoord van de klant gebruiken.

Runlevel instellen

Als je bv. CentOS gebruikt, wordt(ik dacht) runlevel 5 als standaard-opstartoptie gebruikt. Als je die computer vervolgens als server wilt gebruiken, en je geen desktop nodig hebt, moet je het runlevel naderhand zelf instellen op (ik dacht) 3.

Volgens mij hoeft dat bij Ubuntu Server niet, tenzij je de desktop hebt geinstalleerd en deze later niet wilt laden.

Tomcat Installeren

Installeer Tomcat vanaf zelf gedownloade bestanden en niet via apt-get. Indien je apt-get gebruikt, krijg je een niet-functionerend systeem. Als je na installatie op localhost:8080 een welkomstscherm zonder logo en andere graphics krijgt, heb je waarschijnlijk een niet-functionerende versie van Tomcat. Zie Tomcat voor achtergrondinformatie.

Download Tomcat 6.x vanaf hier en plaats de inhoud in

/usr/share/tomcat

Maak een gebruiker voor Tomcat aan:

sudo /usr/sbin/useradd tomcat
chmod +x /usr/share/tomcat/bin/*.sh 

en verander rechten op map tomcat naar user:

sudo chown tomcat -R /usr/share/tomcat

Waar hierboven gebruiker tomcat genoemd werd, had Dalox' voorbeeld: dalox:dalox

Voeg de volgende regels toe aan /etc/profile. JAVA_OPTS heb ik (geloof ik) nodig gehad om een Java out-of-heap-memory te voorkomen tijdens uitvoeren ant setup, onderdeel initialisatie Openbravo:

# Instellingen Tomcat voor Openbravo
#
CATALINA_HOME=/usr/share/tomcat
CATALINA_OPTS="-server -Xms256M -Xmx1024M -XX:MaxPermSize=256M"
JAVA_OPTS="-Djava.awt.headless=true -Xms384M -Xmx512M -XX:MaxPermSize=256M"
export CATALINA_HOME CATALINA_OPTS

In CATALINA_OPTS staat -Xmx voor maximale geheugengebruik. Op het moment dat je tijdens uitvoeren van Openbravo (niet tijdens installatie) geheugenproblemen krijgt, moet je deze waarde wellicht verhogen.

De Openbravo handleiding zegt nu dat je de tools.jar library moet toevoegen aan Tomcat's class path maar dat lijkt al gebeurd te zijn.

De Openbravo installatiehandleiding zegt dat om te voorkomen dat Tomcat zichzelf automatisch laadt, je de volgende WatchedResource-regel moet uit-commentariseren:

 <!-- <WatchedResource>WEB-INF/web.xml</WatchedResource> -->

Deze regel staat in

/usr/share/tomcat/conf

Overigens, omdat er geen installatieprocedure is doorlopen, vind je alle bestanden op bovenstaande locatie en bv. zelfs geen bestanden in /etc..

De Openbravo installatiehandleiding zegt dat je een gebruiker moet configureren in bestand tomcat-users.xml wat zich bij ons bevindt op locatie usr/share/tomcat/conf/tomcat-users.xml. Zonder zo'n gebruiker lijkt de boel ook te werken.

De Openbravo installatiehandleiding zegt dat Debian's beveiligingsbeleid Tomcat verhindert om de Openbravo context te laden. Je kunt dit beveiligingsbeleid in z'n geheel uitzetten, maar wellicht is het eleganter om een uitzonderingsregel aan te maken voor Openbravo/Tomcat. Overigens: Zonder dit lijkt de boel ook te werken. Maak een regel:

sudo vi /etc/tomcat6/policy.d/20openbravo.policy

Voeg in:

// permissions for Openbravo ERP
grant codeBase "file:${catalina.base}/webapps/openbravo/-" {
     permission java.security.AllPermission;
};

Als je Tomcat wilt testen moet je zorgen dat /etc/profile actief wordt. Dat is oa. het geval bij uit- en inloggen.

Start Tomcat:

/usr/share/tomcat/bin/startup.sh

Dit moet output geven zoals

Using CATALINA_BASE:   /usr/share/tomcat
Using CATALINA_HOME:   /usr/share/tomcat
Using CATALINA_TMPDIR: /usr/share/tomcat/temp
Using JRE_HOME:       /usr/lib/jvm/java-6-sun

Na opstarten lijkt het ca. twee minuten te duren voordat de eerste pagina geserveert wordt. Soms krijg je eerst een Tomcat-foutmeldingspagina: The requested resource () is not available. Oplossing: Paar minuten wachten.

Je kunt Tomcat testen op adres

http://localhost:8080

De Openbravo handleiding zegt dat je de werking van Tomcat ook kunt verifieren mbv. nmap. Waarschijnlijk is dat handig als je de installatie doet zonder toegang tot een browser. nmap moest ik eerst installeren:

sudo apt-get install nmap

Daarna gaf het commando

nmap -p 8080

output:

Starting Nmap 4.76 ( http://nmap.org ) at 2009-07-11 19:10 CEST
Warning: Hostname localhost resolves to 2 IPs. Using 127.0.0.1.
Interesting ports on localhost (127.0.0.1):
PORT     STATE SERVICE
8080/tcp open  http-proxy

Nmap done: 1 IP address (1 host up) scanned in 0.15 seconds

Overigens: Tomcat hoeft niet actief te zijn tijdens het build process van Openbravo.

Ubuntu Desktop Installeren

In de ideale wereld heeft een server geen desktop/GUI nodig. Indien deze wereld nog geen werkelijkheid is, kun je Gnome met bijbehorende applicaties met een commando installeren:

sudo apt-get install ubuntu-desktop

Tot op dit moment lijken er twee momenten te zijn waarop een desktop handig kan zijn:

  • Downloaden van Openbravo broncode. Met alleen een tekstinterface kan dit wellicht met wget
  • Configureren van Openbravo: De grafische wizard maakt twee tekstbestanden aan. Dat kan ook zonder de wizard.

Ubuntu Server installeren

  • Engelstalig
  • Zonder additionele packages. Ik denk dat je meer controle hebt als je dit achteraf handmatig doet
  • Voor een testserver leek 't wel aardig te zijn om geen automatische updates te downloaden: Dat scheelde overhead

Vast IP-adres configureren

Indien de Openbravo-server ook van buitenaf bereikbaar moet zijn, ligt het voor de hand om de server een vast IP-adres te geven. Waarschijnlijk is het handig om dit vroeg in het proces te doen, nog voordat je SSH configureert. Een later geschikt moment zou zijn voorafgaand aan de configuratie van Openbravo, omdat je dan het IP-adres als URL kunt opgeven.

Zie Linux#Netwerk voor een voorbeeldconfiguratie met een vast IP-adres.

Persoonlijke instellingen