Business Objects on Linux – Step by Step

Note: Updated May 11, 2010 with a new step in the prerequisites section of this blog post.

I have come to the realization that I somehow got on a philosophical kick lately, as reflected in my last several blog posts. It’s time to get techno-nerd again.

A couple of recent questions on BusinessObjects Board (aka BOB) inspired me to talk about Linux. And more importantly, installing SAP Business Objects on FREE versions of Linux. Before I ever had a chance to deploy SAP Business Objects on Redhat I really really wanted to try to do it on something that wasn’t going to cost me anything. Knowing CentOS for being effectively a free branch of the Redhat code base, I decided to start there for compatibility purposes. Let’s face it. Linux is an open source platform. The folks at CentOS picked up that code base, and did a giant find and replace on “Redhat” to “CentOS”. OK…maybe a tad bit underestimated, but we will start with that.

My first test run with BOBJ on Linux was actually a full web tier. On the migration to XI 3.1 at one of my prior employers, we found Tomcat behaving very badly on Windows 2003 SP2 on VMware. Our company was looking for suckers testers to implement the newly acquired standard of Redhat. I eagerly raised my hand. The rest is history. But, blog not over.

For this post I’m starting with vanilla CentOS 5.4 on a VM running on my beastly dual quad core Mac Pro. I started with a simple image in VMware Fusion with 2 cores and 1.5 gigs of ram. I also sliced off a decent sized drive for the OS and another 20 gig drive partitioned as /app for me to install BOBJ on. I proceeded to build out the bare necessities for a server build and committed to the installer. I also created a user “boadmin” and a group “bobj”, for ownership and administration of the build. Lastly, I ran a yum update. A short while later, I had a fully functional VM to install BO on.

Peeling apart the compressed file that is the Linux installer from the SAP Market Place, I stuck all this content in my /app folder so that the final installer (including the install.sh script) sat in a folder /app/boinstall/. Before you get started, put some thought into directory structure, as in, where you want the installer to start to build from. Since I created a mount at /app, I’m going with /app/bobj/.

Initial Setup

You will want to ensure that you run the following two commands as a sudo user or root based on the paths your installer resides in, and the path you wish to install into:

sudo chown -R boadmin:bobj /app/bobj /app/boinstall
sudo chmod -R 755 /app/boinstall /app/bobj

There are two other known prerequisites before you get started on this build that we are going to head into next.

Set the Locale

If you do not set the locale, the installer is going to barf with the error:

Unable to find installed locale for en_US.UTF-8, en_US.utf8 might be usable.
Thank you for choosing Business Objects.
Exiting…

Therefore, edit the file /etc/sysconfig/i18n (with a user with elevated privileges). At a minimum, set it up as:

LANG=”en_US.utf8″
SYSFONT=”latarcyrheb-sun16″

Trust me, it is different.

Add Libraries

If you didn’t already know it, yum is a handy package manager for Linux. We know stepping into this that there is a compatibility library we need to grab for the installer to run successfully. The installer is going to bark that it is unsupported and we know this. However, this library will get you going. It’ll actually tell you:

Checking for recommended patches…
******************************

Linux: Your system is missing required components (STU00120):

******************************
Missing patch: unsupported.linux.release

If you continue your installation may not work correctly. (STU00109)
Please press Enter to continue…

 

That said, execute the following command:

 

sudo yum install compat-libstdc++-33

Update 2 – April 15

I was working on step 3 in this whole thing and realized I missed documenting one very important step. It involves a properly configured /etc/hosts file (using root or a sudoer). Here’s an example:

127.0.0.1 localhost.localdomain localhost
10.0.X.XX evtech3.somedomain.com evtech3

The first line sets the localhost correctly. By default, it adds the actual host name here. The second part defines the IP address correctly of the actual name you want to identify it as.

Sorry for that omission!

Install it

Make sure by now you are logged in or have executed the “su” command to switch to the boadmin user for your install. Go ahead and browse to /app/boinstall and execute the installer with:

./install.sh

Setup Screens

I’m really not going to document every screen here in detail, but will touch on each for a BOE server install.

  • Select your language
  • Accept license (just hit ‘Y’ to continue)
  • Enter your license key. As I understand it, all XI 3.1 keys work here.
  • Provide installation directory. Recall that we decided to use /app/bobj/
  • Select the language pack(s) required
  • Choose runtime settings – IMPORTANT. I want BOBJ to run as a service. Therefore, I’m going to select the “System” install.
  • Similar to a Windows install, you can start a new installation, expand one, or build out the Web Tier. I’m choosing a New install and ensuring it enables servers after installation

Installation Type

1 – New (Install a new Enterprise system)
2 – Custom or Expand (Select which components you wish to install)
3 – Install Web Tier features

[X] – Enable servers after installation

  • Provide CMS port number and admin password – typical stuff
  • Choose your target database. For my testing machine, I’m just going to drop it on MySQL locally. Just like on Windows, tell it the root password you want to create and the database name
  • Enter the information for your new MySQL Database

MySQL Host Name :
[evtech3.evtechpartners.com]

MySQL Port Number :
[3306 ] Defaults to 3306

Database administrator password :
[********* ] * @

Confirm Password :
[********* ] *

* Required field

@ an adminstrator account will be set up with this password

====================================

Enter the information for your new MySQL Database

MySQL CMS Database Name :
[BOE120 ] *

MySQL Audit Database Name :
[BOE120_AUDIT ] *

User ID :
[sa ] * @

Password for ‘user’ account :
[********* ] * @

Confirm Password :
[********* ] *

* Required field
@ User account and password is required for configuring
the MySQL database. User account can not be ‘root’ (STU00126)

  • Specify the SIA name and port
  • Pick the web tier components

Would you like to use an existing Java application server
or would you like to install Tomcat?

1 – Install Tomcat, deploy web applications
2 – Use existing Java application server, deploy web applications
3 – Use existing Java application server, do not deploy web applications

===================================

Please enter the port numbers for the Tomcat installation

Receive HTTP requests :
[ ] Defaults to 8080

Redirect jsp requests :
[ ] Defaults to 8443

Shutdown hook :
[ ] Defaults to 8005

  • Confirm the install directory and go!

Watch the Progress Bar Go By

Well, I guess that’s all I can say there…

Run the Final Script

It should have finished successfully. If so, you’ll see something like:

Business Objects products have been successfully installed in :

/app/bobj/

To finish the system install, please run the following script as root :

/app/bobj/bobje/init/setupinit.sh

BusinessObjects Enterprise CMC:

https://evtech3.evtechpartners.com:8080/CmcApp

Be sure to note the setupinit.sh script you need to run as root, and the path to the CMC and ultimately InfoViewApp can be determined here as well. Once that script is run successfully, BOE will boot with the machine.

Closing Thoughts

Now what? This is a great tool to learn from. Understand the differences in deployment, how to run the ccm.sh or cmsdbsetup.sh scripts to tweak the deployment, etc. I’ve done the Redhat install several times and the great thing about the CentOS install is that it is virtually identical, and good, inexpensive practice. This process is going to look and smell much like that Redhat install in the real world.

Editorial Note

Props to photuris on the SAP Community Network for having already solved the dependency issue here!

Update

I’m not advocating this for use in live deployments. Note that this is not a supported configuration.

Update 2 – May 10, 2010

Dallas Marks kindly pointed out that I omitted mentioning I disable SELinux in my standard build. He found out the hard way that it does not play well even with simply installing. While it can be disabled via gnome or during the installer, he pointed out a few simple steps documented here. Thanks Dallas.

Read the rest of the SAP BusinessObjects Enterprise XI 3.1 on Linux series.

One thought on “Business Objects on Linux – Step by Step

Leave a Reply