ERP/2.50/Openbravo environment installation
This document refers to the old Openbravo 2.50 version and is probably not what you are looking for.
|
Languages: |
ContentsTemplateThis sub-template doesn't display properly when not included. Please see Template:Languages for the complete version. UsageThis template is designed to simplify Template:Languages, by allowing a simpler syntax for adding new languages. Each language is included by calling this template with the following parameters:
This template should not be used anywhere except in the Languages template. </noinclude> | Translate this article... |
Introduction
This article explains in detail how to install and configure the whole stack required for Openbravo ERP to run. The stack consists of:
If you are looking for a quick way to explore Openbravo ERP without installing the full system stack, try the Openbravo ERP on-line demo or download an Openbravo ERP virtual appliance. |
Installation steps of each component are explained for the following operating systems:
Please feel free to contribute to this article by adding installation steps for more operating systems or improving existing ones. |
PostgreSQL database
Openbravo ERP supports PostgreSQL as its database engine.
- 8.3.5 is the minimum required version.
- The UUID contrib package is required.
PostgreSQL documentation and tutorials are available at:
Installing PostgreSQL on Microsoft Windows
Follow the instructions on the PostgreSQL wiki. Make sure to select the "UUID" option during the installation.
There's two installers right now: pgInstaller and One click installer, We suggest you use pgInstaller to install PostgreSQL.
By default, One click installer version does not include the UUID, if you use it you will need to also do this three steps:
- Download "uuid-ossp.dll" from zip file at winpg.jp
- Unpack the zip file into %Postgresql_directory%/lib directory
- Restart the Postgresql server.
Installing PostgreSQL on Debian (Ubuntu/Kubuntu/Linux Mint)
- Install the package using
sudo apt-get install postgresql-8.3 postgresql-contrib-8.3
- Set the postgres password using:
sudo /etc/init.d/postgresql-8.3 start
- sudo su - postgres -c psql
- alter role postgres with password 'new_password';
- \q
Installing PostgreSQL on Gentoo
- Install the package using the following commands. Portage will tell you which version to specify:
echo dev-db/postgresql >> /etc/portage/package.keywords
- echo dev-db/postgresql-server >> /etc/portage/package.keywords
- echo dev-db/postgresql-base >> /etc/portage/package.keywords
- echo virtual/postgresql-base >> /etc/portage/package.keywords
- echo app-admin/eselect-postgresql >> /etc/portage/package.keywords
- echo dev-db/libpq >> /etc/portage/package.keywords
- echo dev-libs/ossp-uuid >> /etc/portage/package.keywords
- echo dev-db/postgresql-server uuid >> /etc/portage/package.use
- emerge -av postgresql-server
- emerge --config postgresql-server
- /etc/init.d/postgresql-8.3 start
- rc-update add postgresql-8.3 default
- Set the postgres password:
psql -U postgres
- alter role postgres with password 'new_password';
- \q
- sed -i 's/trust$/md5/' /var/lib/postgresql/8.3/data/pg_hba.conf
- /etc/init.d/postgresql-8.3 reload
Installing PostgreSQL on CentOS
yum install postgresql postgresql-contrib
Oracle database
Openbravo ERP also supports the following editions of Oracle 10g (version 10.2.0.4.0 or later) and 11g (version 11.1.0.6.0 or later):
To learn more about Oracle, follow the links:
Installing Oracle on Microsoft Windows
Follow these instructions to install Oracle 11g on Windows.
Installing Oracle on Debian (Ubuntu/Kubuntu/Linux Mint)
Follow these step by step instructions to install Oracle 11g on Ubuntu 10.04 (Lucid Lynx).
Follow these step by step instructions to install Oracle 11g on Ubuntu 9.04 (Jaunty Jackalope).
Follow these step by step instructions to install Oracle 11g on Ubuntu 8.04 (Hardy Heron).
Or you can follow these instructions to install Oracle 11g on other Debian (Ubuntu/Kubuntu/Mint) versions.
Installing Oracle on Gentoo
Follow these guidelines to install Oracle 10g database on Gentoo.
Follow these guidelines to install Oracle 11g database on Gentoo.
Installing Oracle on CentOS
Follow these guidelines to install Oracle 10g database on Gentoo.
Common installation steps
- Select AL32UTF8 as the database's NLS_CHARACTERSET.
- Select AL16UTF16 as the database's NLS_NCHAR_CHARACTERSET.
Common postinstallation steps
In all the cases, after running the installation, check the following:
- The number of open cursors should be at least 3000. Verify it, and tune the ALTER SESSION to change the number of open cursors if needed:
<source lang="sql">SELECT value FROM v$parameter WHERE name = 'open_cursors'; ALTER SYSTEM SET open_cursors = 3000 SCOPE=BOTH;</source>
- Make sure that the number of processes is at least 150. Verify it, and tune the ALTER SESSION to change the number of processes if needed:
<source lang="sql">SELECT value FROM v$parameter WHERE name = 'processes'; ALTER SYSTEM set processes=150 SCOPE=SPFILE;</source>
- Restart Oracle after doing this change.
Sun JDK
Openbravo supports the following JDKs:
- Sun Java Development Kit version 1.6 (also known as JDK 6.0).
- IBM JDK
- OpenJDK version 6 (IcedTea 1.8.x).
All the developers use Sun's version and therefore is the recommended one.
Installing the Java SDK on Microsoft Windows
- Download and install JDK 1.6.
- Add the JAVA_HOME environment variable:
- Right-click on My Computer.
- Select Properties. The System Properties window appears.
- Select the Advanced tab then click Environment Variables.
- Click New. The New System Variable box appears.
- In the Variable name field, type JAVA_HOME.
- In the Variable value field type the path of the JDK installation directory. This is usually C:\Java\jdk1.6.0_<version>
- Select the PATH environment variable.
- In the Variable value field, type the path of the JDK installation directory's bin folder. This is usually C:\Java\jdk1.6.0_<version>\bin
Installing the Java SDK on Debian (Ubuntu/Kubuntu/Linux Mint)
You must add unstable/non-free apt repositories to install sun-java-jdk6. Ubuntu/Kubuntu users may also need to add the Multiverse repository to install sun-java6-jdk. The Multiverse repository is enabled by default in version Ubuntu 7.10 onwards.
- Install the package:
sudo apt-get install sun-java6-jdk
- Set the Sun Java JDK as the default JDK:
sudo update-java-alternatives -s java-6-sun
- Create the JAVA_HOME variable:
echo 'JAVA_HOME="/usr/lib/jvm/java-6-sun"' | sudo tee -a /etc/environment
- To make this variable available in your current terminal run:
source /etc/environment
- To make these variables available system wide, restart the user session.
Installing the Java SDK on Gentoo
- To install the package:
emerge -av sun-jdk
- Set the default JDK:
java-config -S sun-jdk-1.6
Portage sets the JAVA_HOME variable automatically.
Installing the Java SDK on CentOS
- Download JDK 1.6, put the file in /tmp/.
- Run the installer as root:
su -
sh /tmp/jdk-6uXY-linux-i586.bin
mv /tmp/jdk1.6.0_XY/ /usr/local/sun-jdk
- Create the required environment variables:
echo 'export JAVA_HOME=/usr/local/sun-jdk' > /etc/profile.d/sun-jdk.sh
echo 'export PATH=$JAVA_HOME/bin/:$PATH' >> /etc/profile.d/sun-jdk.sh
chmod +x /etc/profile.d/sun-jdk.sh
- Now log out and log in again as root:
exit
su -
- Verify that the JDK is working as expected:
echo $JAVA_HOME
/usr/local/sun-jdk
java -version
java version "1.6.0_18"
Java(TM) SE Runtime Environment (build 1.6.0_18-b07)
Apache Tomcat
Openbravo ERP recommends Apache Tomcat version 6.0 as the servlet container. Use the tar and not the Installer.
Installing Apache Tomcat on Microsoft Windows
- Download and install Apache Tomcat 6.0.
- Add CATALINA_HOME, CATALINA_BASE and CATALINA_OPTS environment variables:
- Right-click on My Computer.
- Select Properties. The system properties window appears.
- Select the Advanced tab.
- Click Environment Variables.
- Click New. The New User Variable box appears.
- In the Variable name field, type CATALINA_HOME.
- In the Variable value field, type the path of the Apache Tomcat installation directory. This is usually C:\Apache Software Foundation\Tomcat 6.0.
- Click OK.
- Click New. The New User Variable box appears.
- In the Variable name field, type CATALINA_BASE.
- In the Variable value field type the path of the Apache Tomcat installation directory.
- Click OK
- Click New. The New User Variable box appears.
- In the Variable name field, type CATALINA_OPTS.
- In the Variable value type -server -Xms384M -Xmx512M -XX:MaxPermSize=256M.
- If you want to be able to install modules and update the core from the repository, we recommend setting the CATALINA_OPTS to -server -Xms384M -Xmx1024M -XX:MaxPermSize=256M
- Select the PATH environment variable.
- In the Variable value field, type the path of the Apache Tomcat installation's bin folder. This is usually C:\Apache Software Foundation\Tomcat 6.0\bin.
More information about managing environment variables in Microsoft's Help & Support site |
- Copy the C:\Java\jdk1.6.0_<version>\bin\lib\tools.jar file from your Sun JDK installation to C:\Apache Software Foundation\Tomcat 6.0\lib\
- In order to avoid Tomcat from auto-reloading itself, comment the WatchedResource line in C:\Apache Software Foundation\Tomcat 6.0\conf\context.xml:
- <source lang="xml"></source>
- Configure a username and password for the Tomcat Manager, by replacing the C:\Apache Software Foundation\Tomcat 6.0\conf\tomcat-users.xml file with these contents, replacing password="admin" with your chosen password:
<source lang="xml"><?xml version='1.0' encoding='utf-8'?> <tomcat-users>
<role rolename="manager"/> <role rolename="admin"/> <user username="admin" password="admin" roles="admin,manager"/>
</tomcat-users> </source>
You can check that Tomcat is running by opening http://localhost:8080 in a web browser.
Installing Apache Tomcat on Debian (Ubuntu/Kubuntu/Linux Mint)
- Install the package:
sudo apt-get install tomcat6 tomcat6-admin
- sudo rm /var/log/tomcat6/catalina.out
- sudo /etc/init.d/tomcat6 start
- Note: On Ubuntu the 'sudo rm /var/log/tomcat6/catalina.out' command may not find the file, resulting in an error message. This will not affect the installation.
- Check that Tomcat is running by opening http://localhost:8080 in a web browser. Alternatively use the following nmap command to check that port 8080 is open:
nmap localhost -p 8080
if you don't have installed nmap you can trysudo netstat -atunep|grep 8080|grep jsvc
- Note: Earlier versions of Debian based distributions configured Tomcat to run on port 8180. If you cannot verify that Tomcat is running on port 8080, please try 8180 instead.
- Set the CATALINA_HOME, CATALINA_BASE and CATALINA_OPTS variables:
echo 'CATALINA_HOME="/usr/share/tomcat6"' | sudo tee -a /etc/environment
- echo 'CATALINA_BASE="/var/lib/tomcat6"' | sudo tee -a /etc/environment
- Edit the /etc/default/tomcat6 file, and set the following line:-
JAVA_OPTS="-server -Djava.awt.headless=true -Xms384M -Xmx512M -XX:MaxPermSize=256M"
- To make this variable available in your current terminal run:
source /etc/environment
- To make these variables available system wide, restart the user session.
- Check if the tools.jar library is present in Tomcat's classpath in directory /usr/share/tomcat6/lib and, if not, add it:
cp $JAVA_HOME/lib/tools.jar /usr/share/tomcat6/lib/
- In order to avoid Tomcat from auto-reloading itself, comment the WatchedResource line in /var/lib/tomcat6/conf/context.xml:
- <source lang="xml"></source>
- Configure a username and password for the Tomcat Manager, by replacing the /etc/tomcat6/tomcat-users.xml file with these contents, replacing password="admin" with your chosen password:
- <source lang="xml"><?xml version='1.0' encoding='utf-8'?>
- <tomcat-users>
- <role rolename="manager"/>
- <role rolename="admin"/>
- <user username="admin" password="admin" roles="admin,manager"/>
- </tomcat-users></source>
- Starting with 2.50, the modularity feature required the tomcat user to write in the main Openbravo ERP directory. So achieve this, edit the /etc/init.d/tomcat6 file, search for umask 022 and replace it with umask 002. Then restart Tomcat.
Important notes:
|
Installing Apache Tomcat on Gentoo
- Install the package:
emerge -av tomcat
- Start Tomcat:
- /etc/init.d/tomcat-6 start
- rc-update add tomcat-6 default
- You can check that Tomcat has been in stalled correctly by opening http://localhost:8080 in a web browser Alternatively, use the following nmap command to check that port 8080 is open:
nmap localhost -p 8080
- Set the CATALINA_HOME and CATALINA_BASE variables:
touch /etc/env.d/99tomcat
- echo 'CATALINA_HOME=/usr/share/tomcat-6' >> /etc/env.d/99tomcat
- echo 'CATALINA_BASE=/var/lib/tomcat-6' >> /etc/env.d/99tomcat
- Update the environment and make the newly created environment variables available system-wide:
env-update && source /etc/profile
- Set the CATALINA_OPTS variable by editing the /etc/conf.d/tomcat-6 file:
CATALINA_OPTS="-server -Xms384M -Xmx512M -XX:MaxPermSize=256M"
- Add the tools.jar library to Tomcat's classpath:
cp $JAVA_HOME/lib/tools.jar /var/lib/tomcat-6/lib/
- In order to avoid Tomcat from auto-reloading itself, comment the WatchedResource line in /etc/tomcat-6/context.xml:
- <source lang="xml"></source>
- Configure a username and password for the Tomcat Manager, by replacing the /var/lib/tomcat-6/conf/tomcat-users.xml file with these contents, replacing password="admin" with your chosen password:
- <source lang="xml"><?xml version='1.0' encoding='utf-8'?>
- <tomcat-users>
- <role rolename="manager"/>
- <role rolename="admin"/>
- <user username="admin" password="admin" roles="admin,manager"/>
- </tomcat-users></source>
- Starting with 2.50, the modularity feature required the tomcat user to write in the main Openbravo ERP directory. So achieve this, edit the /etc/init.d/tomcat-6 file, search for this line:
start-stop-daemon ${arguments} --exec ${executor} -- ${OPTS_CP} "$@" \
- Replace it with the following ones:
- umask 002 && \
- start-stop-daemon ${arguments} --exec ${executor} -- ${OPTS_CP} "$@" \
- Restart Tomcat to apply the changes:
/etc/init.d/tomcat-6 restart
Installing Apache Tomcat on FreeBSD
You may use tomcat5.5 (/usr/ports/www/tomcat55), tomcat6 (/usr/ports/www/tomcat6), or possibly other verisons. Substitute the version in the commands as necessary.
- Install tomcat
cd /usr/ports/www/tomcat6
- make && make install
- Set necessary memory options for tomcat
echo 'tomcat6_java_opts="-server -Xms384M -Xmx512M -XX:MaxPermSize=256M"' \
- >> /etc/rc.conf
- Set the CATALINA_HOME variable
echo 'tomcat6_catalina_home="/usr/local/tomcat6"' >> /etc/rc.conf
- Start tomcat
/usr/local/etc/rc.d/tomcat6 start
Installing Apache Tomcat on CentOS
- Download the apache-tomcat-6.0.XY.tar.gz file from Apache Tomcat 6.0 and place it in /tmp/.
- Uncompress it:
su -
cd /usr/local
tar zxvf /tmp/apache-tomcat-6.0.XY.tar.gz
mv apache-tomcat-6.0.XY/ tomcat
- Add CATALINA_HOME, CATALINA_BASE and CATALINA_OPTS environment variables:
echo 'export CATALINA_HOME=/usr/local/tomcat' > /etc/profile.d/tomcat.sh
echo 'export CATALINA_BASE=/usr/local/tomcat' >> /etc/profile.d/tomcat.sh
echo 'export CATALINA_OPTS="-server -Xms128M -Xmx1024M -XX:MaxPermSize=256M"' >> /etc/profile.d/tomcat.sh
chmod +x /etc/profile.d/tomcat.sh
chown -R openbravo:openbravo /usr/local/tomcat
- Download this init script and place it into /etc/init.d/tomcat. Then make it executable:
chmod +x /etc/init.d/tomcat
- In order to avoid Tomcat from auto-reloading itself, comment the WatchedResource line in /usr/local/tomcat/conf/context.xml:
- <source lang="xml"></source>
- Configure a username and password for the Tomcat Manager, by replacing the /usr/local/tomcat/conf/tomcat-users.xml file with these contents, replacing password="admin" with your chosen password:
- <source lang="xml"><?xml version='1.0' encoding='utf-8'?>
- <tomcat-users>
- <role rolename="manager"/>
- <role rolename="admin"/>
- <user username="admin" password="admin" roles="admin,manager"/>
- </tomcat-users></source>
Tomcat through a proxy
If your network have a proxy, you need to append this to the tomcat configuration:
CATALINA_OPTS='-Dhttp.proxySet=true -Dhttp.proxyHost=[PROXY SERVER] -Dhttp.proxyPort=[PORT]'
Apache Ant
Apache Ant is a Java-based build tool used by Openbravo ERP to automate most of its development tasks. Version 1.7.0 or higher is required.
Installing Apache Ant on Microsoft Windows
- Download and extract Apache Ant (old releases) onto your system (for instance, C:\Apache-Ant).
- Add ANT_HOME environment variable:
- Right-click on My Computer.
- Select Properties. The System Properties window appears.
- Select the Advanced tab.
- Click on the Environment Variables button.
- Click the New button.
- In the Variable name field, type ANT_HOME.
- In the Variable value field, type the path of the Ant directory. This is usually C:\Apache-Ant.
- Click OK.
- Select the PATH environment variable.
- In the Variable value field, type the path of the Ant directory's bin folder. This is usually C:\Apache-Ant\bin.
- Equally add the ANT_OPTS environment variable:
- Click the New button.
- In the Variable name field, type ANT_OPTS.
- In the Variable value field, type -Xmx1024M -XX:MaxPermSize=128M.
Installing Apache Ant on Debian (Ubuntu/Kubuntu/Linux Mint)
- Install the package:
sudo apt-get install ant ant-optional
- Set the ANT_HOME variable:
echo 'ANT_HOME="/usr/share/ant"' | sudo tee -a /etc/environment
- Set the ANT_OPTS variable:
echo 'ANT_OPTS="-Xmx1024M -XX:MaxPermSize=128M"' | sudo tee -a /etc/environment
- Make the ANT_HOME and ANT_OPTS variables available in your current terminal run:
source /etc/environment
- To make the variables available system wide, restart the user session.
Installing Apache Ant on Gentoo
In Gentoo it's enough to install the ant-core package:
emerge -av dev-java/ant-core
Portage sets the ANT_HOME variable automatically. But not ANT_OPTS. To set it:
echo 'ANT_OPTS="-Xmx1024M -XX:MaxPermSize=128M"' > /etc/env.d/99ant env-update && source /etc/profile
To make the variables available system wide, restart the user session.
Installing Apache Ant on CentOS
- Download and extract Apache Ant 1.7.1 onto your system:
su -
cd /tmp
wget http://archive.apache.org/dist/ant/binaries/apache-ant-1.7.1-bin.tar.gz
cd /usr/local
tar zxvf /tmp/apache-ant-1.7.1-bin.tar.gz
mv apache-ant-1.7.1/ ant
- Add the environment variables:
echo 'export ANT_HOME=/usr/local/ant' > /etc/profile.d/ant.sh
echo 'export PATH=$ANT_HOME/bin/:$PATH' >> /etc/profile.d/ant.sh
echo 'export ANT_OPTS="-Xmx1024M -XX:MaxPermSize=128M"' >> /etc/profile.d/ant.sh
chmod +x /etc/profile.d/ant.sh
- Now log out and log in again as root:
exit
su -
- Verify that Ant working as expected:
ant -version
Apache Ant version 1.7.1 compiled on June 27 2008
Operating system permissions for Tomcat
UNIX based operating systems use different system users to run their processes and services. Tomcat usually has its own tomcat user, and a command line and task is run by a normal user, e.g. openbravo. Since the introduction of the modularity feature in version 2.50, it is necessary to allow tomcat to write in the root directory of the Openbravo ERP installation. Conversely, the openbravo user requires write permissions in the Tomcat webapps directory.
- Change the default file permissions for the user running the Ant tasks, e.g. openbravo. Assuming you are using Bash as your shell, append the following line to the /home/openbravo/.bashrc file:
umask 002
- Add openbravo to the tomcat group:
gpasswd -a openbravo tomcat
- Add tomcat to the openbravo group:
gpasswd -a tomcat openbravo
Windows systems do not use system users in the same way, so these changes are not required.
Performance and security tips
For production environments, it is recommended to make some changes in order to improve Openbravo ERP performance and security.
Known issues
Here is a list of known issues during Openbravo environment installation.
JDK and X issue in Debian/Ubuntu
When installing a module from within Openbravo ERP, you may get an error saying that the tomcat user cannot access the X server. To workaround this, run this with the user running the ant tasks:
xhost +
Jasper Reports
In some configurations to make JasperReports work, you need to add -Djava.awt.headless=true parameter to the CATALINA_OPTS environment variable. The CATALINA_OPTS should look something similar to CATALINA_OPTS ="-server -Xms384M -Xmx512M -Djava.awt.headless=true".
Tomcat hot-deployment problem on Windows
There is a known issue with Tomcat working under Windows. Openbravo ERP does a hot-deploy a of openbravo.war file to Tomcat but on Windows it often encounters file locking issues. Windows will not let Tomcat undeploy the old application because files are locked by the Operating System. Tomcat has mechanisms to allow avoiding locking. In Tomcat 5.5 and 6.0, this mechanism is disabled by default. To enable it edit %CATALINA_BASE%\conf\context.xml. Find the root <context> and add these two attributes:
<context antiJARLocking="true" antiResourceLocking="true" />
Openbravo ERP FAQ
Openbravo's ERP Frequently Asked Questions (FAQ).
Support
If you have any questions about installing the penbravo environment, post them in Openbravo Help forum or join #openbravo IRC channel in Freenode.
Installing Openbravo ERP
Now that the technology stack is properly installed and configured you can continue with your custom installation of Openbravo ERP.