blob: bbb625a123a2730182466ca86c71524b11a66a21 [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<book xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="5.0"
xmlns:xl="http://www.w3.org/1999/xlink"
xmlns:xi="http://www.w3.org/2001/XInclude"
xsi:schemaLocation="http://docbook.org/ns/docbook ../../content/dtd/docbook.xsd"
xmlns="http://docbook.org/ns/docbook">
<info>
<title>Apache OFBiz Technical documentation.</title>
</info>
<dedication>
<para>
I was reading the book in development from Norman Walsh called <link xl:href="http://www.docbook.org/tdg5/en/html/docbook.html">DocBook 5.0: The Definitive Guide
</link> and found that a book can have a dedication. My first thought was there is only one man to whom this book can be dedicated. Without him I would not have been writing it.
Sometimes i talk to other people about my dinners with David Jones in Pucket, Thailand which were very revealing to me. At a relative young age David designed and developed with Andy Zenesky
the cornerstones of the OFBiz system called entity engine and recognized that in 2001 SOA (System Oriented Architecture) would be the future.
So, David, thank you very much spending your efforts creating this excellent system.
</para>
</dedication>
<chapter>
<title>Introduction.</title>
<para>
Welcome to Apache OFBiz, the ready to use open source ERP system. Let me first say if you downloaded
the system for the first time it will be very overwhelming because the system is pretty big what is actually pretty normal for an ERP system
because of its size.
</para>
<para>
This document is describing the technical aspects of the system. How to install it, how to load the data and how to make the system available to the Internet.
This is described pretty well in the 'production setup guide' in the next section. If you looking how to setup the system from a user point of view then better
have a look at the Apache OFBiz user guide.
</para>
<section>
<title>The production setup guide.</title>
<para>
An excellent guide to configure the system in a production environment, read the document at the <link xl:href="http://cwiki.apache.org/confluence/display/OFBTECH/Apache+OFBiz+Technical+Production+Setup+Guide">OFBiz documentation site</link>
</para>
</section>
<section>
<title>The quick setup of an Ubuntu/Debian Linux with Postgresql Apache OFBiz server</title>
<para>
Ubuntu/Debian is certainly not the only distribution which is suitable for OFBiz. In general all Linux distributions can be used.
The OFBiz system will also run on Windows, however this is not preferred and much less experience is available in the OFBiz communiy.
The preferred data base is Postgresql although most databases will do.
</para>
<orderedlist>
<listitem>
<para>Upgrade Linux to Ubuntu/Debian remotely using Grub menu</para>
<para>
If you have a version of Linux running already on your server which using the GRUB menu, it is possible to upgrade to Debian/Ubuntu
without even touching the server physically. With the method below the Debian installer is loaded into a Ram disk from where it can
reformat and re-partition the harddisk and install the system.
Practice this first on a local server, because if after the reboot the server is unreachable you have to ask somebody at the datacenter to manually reboot the system.
</para>
<para>
If you have a proper Linux installed go to the Postgres installation.
</para>
<orderedlist>
<listitem>
<para>Get the OS kernel and the related initrd.gz</para>
<para>
Make sure you server can handle 64bit if you take that version, if not sure take the 32bit version.
Example url for 64bit Ubuntu: http://us.archive.ubuntu.com/ubuntu/dists/hardy/main/installer-amd64/current/images/netboot/ubuntu-installer/amd64/linux for the kernel and
http://us.archive.ubuntu.com/ubuntu/dists/jaunty/main/installer-amd64/current/images/netboot/ubuntu-installer/amd64/initrd.gz for the initrd.gz file
</para>
<para>
If not sure take the 32bit version:
Example url for 32bit Ubuntu: http://us.archive.ubuntu.com/ubuntu/dists/hardy/main/installer-i386/current/images/netboot/ubuntu-installer/amd64/linux for the kernel and
http://us.archive.ubuntu.com/ubuntu/dists/jaunty/main/installer-i386/current/images/netboot/ubuntu-installer/i386/initrd.gz for the initrd.gz file
</para>
</listitem>
<listitem>
<para>Uncompress the initrd.gz: gzip -dc ../initrd.gz | cpio -id</para>
</listitem>
<listitem>
<para>Edit the preseed.cfg file inside the initrd.gz file</para>
<para>
The file I used had the following content:
<programlisting>
d-i debconf/priority select critical
d-i debian-installer/locale string en_US
d-i console-setup/ask_detect boolean false
d-i console-setup/layoutcode string us
d-i auto-install/enabled boolean true
d-i netcfg/choose_interface select eth0
d-i netcfg/disable_dhcp boolean true
d-i netcfg/get_nameservers string x.x.x.x &lt;--- EDIT! (max 3)
d-i netcfg/get_ipaddress string x.x.x.x &lt;--- EDIT!
d-i netcfg/get_netmask string 255.255.255.0 &lt;--- EDIT!
d-i netcfg/get_gateway string x.x.x.x &lt;--- EDIT!
d-i netcfg/confirm_static boolean true
d-i netcfg/get_hostname string servername &lt;--- EDIT!
d-i netcfg/get_domain string yourdomain.com &lt;--- EDIT!
d-i network-console/password password password &lt;--- EDIT!
d-i network-console/password-again password password &lt;--- EDIT!
d-i preseed/early_command string anna-install network-console
</programlisting>
You can find the ip addresses in the current Linux normally in the /etc/network/interfaces file.
</para>
</listitem>
<listitem>
<para>Create the new Archive:
<programlisting>
find ./ | cpio -H newc -o > initrd-preseed
gzip initrd-preseed
</programlisting>
</para>
</listitem>
<listitem>
<para>Copy the Kernel and the new initrd.gz to the server</para>
<para>
Copy these to files to the /boot/ directory on the server.
</para>
<para>If using LiLo</para>
<para>
You have to download the vmlinuz image and put that in the /boot directory under the name vmlinuzNew
</para>
</listitem>
<listitem>
<para>If Grub is used: Edit the /boot/grub/menu.lst file on the server:
<programlisting>
# menu entry before the first:(for root, look at the other menu items)
title Ubuntu Install
root xxxxx
kernel /linux
initrd /initrd-preseed.gz
savedefault 1
</programlisting>
</para>
<para>If Lilo is used edit the /etc/lilo.conf file on the server:
<programlisting>
image=/boot/vmlinuzNew
label="newUbuntu"
initrd=/boot/init-preseed.gz
</programlisting>
</para>
</listitem>
<listitem>
<para>Reboot the server</para>
<para>and hopfully after some time you can login with SSH and using the username &quot;installer&quot; and the password you specified in the preseed file</para>
<para>From that point you can configure the server and repartition the harddisk</para>
</listitem>
</orderedlist>
</listitem>
<listitem>
<para>Install Subversion</para>
<para>use the command (as root) apt-get install subversion</para>
</listitem>
<listitem>
<para>Install Apache using proxy AJP to talk to OFBiz</para>
<para>Use the command (as root): apt-get install apache2</para>
<para>Make symbolic links from mods-available to mods-enabled for ssl.config, ssl.load, proxy.load, proxy_ajp.load and proxy.config. Modify proxy.config and replace &quot;Deny from all&quot; with &quot;Allow from all&quot;</para>
</listitem>
<listitem>
<para>Install Java SDK</para>
<para>Use the command (as root): apt-get install sun-java6-jdk</para>
</listitem>
<listitem>
<para>Install PostGresql</para>
<para>Use the command (as root): apt-get install postgresql</para>
<para>
Then logon as root, and su to the user &quot;postgres&quot; and issue the command: createuser &quot;ofbiz&quot;
</para>
</listitem>
<listitem>
<para>Install Ofbiz</para>
</listitem>
<listitem>
<para>Start ofbiz.....and look for he result in your browser.....</para>
</listitem>
</orderedlist>
</section>
</chapter>
<xi:include href="../../../framework/documents/Framework.xml"/>
<xi:include href="../../../framework/base/documents/FrameworkBase.xml" />
<xi:include href="../../../framework/common/documents/FrameworkCommon.xml" />
<xi:include href="../../../framework/entity/documents/EntityEngine.xml" />
<xi:include href="../../../framework/service/documents/ServiceEngine.xml" />
<xi:include href="../../../framework/webtools/documents/Webtools.xml" />
<xi:include href="../../../framework/documents/UnitTest.xml" />
<xi:include href="../../../framework/documents/SingleSignOn.xml" />
<xi:include href="../../../framework/documents/DataFiles.xml"/>
<appendix>
<xi:include href="../../../applications/commonext/data/helpdata/HELP_OFBizDocumentationSystem.xml"/>
</appendix>
<appendix>
<section>
<title>Revisions Requiring Data Migration.</title>
<para>
A List of migration actions you need to perform can be found at the <link xl:href="http://cwiki.apache.org/confluence/display/OFBTECH/Revisions+Requiring+Data+Migration">OFBiz documentation site</link>
</para>
</section>
</appendix>
</book>