Friday, March 9, 2012

Installing BIRT iServer in Ubuntu 11.10

First and foremost, I choose Ubuntu because it's easy and flexible. I can say that I've been using Ubuntu since it birth. As part of my POC/POT task, I would like to make iServer work in Ubuntu 11.10 server.

The instruction below is something that I've done personally for iServer in Ubuntu 11.10 as of March 9, 2012.

Before installing the iServer. You need to do the following steps:

Install  xvfb first
 sudo apt-get install xvfb
Install Motif
 sudo apt-get install motif-clients
Install ia32
 sudo apt-get install ia32-libs

After installing all the required library. I installed a new PostgreSQL because the OOTB (Out of the box) PostgreSQL in iServer installer failed during startup because of some error (i.e.
FATAL:  could not create shared memory segment: Invalid argument
DETAIL: Failed system call was shmget...
)

I don't want to dig more on the error because I'm not an expert of PostgreSQL and also I have limited time to finish things so I installed a new one.

Install your own postgresql
  sudo apt-get install postgresql

After installing it, please make sure that you're not blocking the default port of PostgreSQL 5432. Now restart the Ubuntu server.

 sudo reboot now

Assuming that you're login to your Ubuntu. Now lets configure the newly created PostgreSql. Please refer to your manual from Actuate website or If you want to do the shortcut jump to Section 101 below.

http://www.birt-exchange.com/be/documentation/Manuals11SP3/installing-iserver-linux-unix.pdf

Go to page 64 or press CTRL + SHIFT + N enter 64 and look for "Creating the system and Encyclopedia volume schemas and iserver user in a pre-existing PostgreSQL database"

Follow the instruction from "Creating the system and Encyclopedia volume schemas and iserver user in a pre-existing PostgreSQL database" until you reach the instruction to execute "GRANT USAGE ON SCHEMA ac_corp TO iserver;" and you're good to go


Section 101: Just copy and paste the command below.

Enter the command in your prompt:
sudo -u postgres psql postgres

Now you're inside the PostgreSQL

postgres=#

CREATE DATABASE iserver WITH OWNER = "postgres" TEMPLATE = template0 ENCODING = 'UTF-8';
REVOKE ALL ON DATABASE iserver FROM PUBLIC;
CREATE ROLE ac_corp_system LOGIN PASSWORD 'password';
GRANT CONNECT ON DATABASE iserver TO ac_corp_system;
CREATE ROLE ac_corp LOGIN PASSWORD 'password';
GRANT CONNECT ON DATABASE iserver TO ac_corp;
CREATE ROLE iserver LOGIN PASSWORD 'password';
GRANT CONNECT ON DATABASE iserver TO iserver;
CREATE SCHEMA ac_corp_system AUTHORIZATION ac_corp_system;
GRANT USAGE ON SCHEMA ac_corp_system TO iserver;
CREATE SCHEMA ac_corp AUTHORIZATION ac_corp;
GRANT USAGE ON SCHEMA ac_corp TO iserver;

\q


Now you're ready to install the iServer. Go to your installer folder then enter the command below:

sh ./iserver.sh

Note: Don't use the default OOTB PostgreSQL. Use the one that you just setup.

Default port of PostgreSQL is 5432.


If you're done installing everything, you may now access the Configuration console, Management Console and Information Console. Before doing that, make sure you don't block the port that you define for your HTTP, PMD and iServer Listener

If it is block issue the following command:
sudo iptables -A INPUT -p tcp --dport -j ACCEPT
sudo iptables -A INPUT -p tcp --dport -j ACCEPT
sudo iptables -A INPUT -p tcp --dport -j ACCEPT
sudo iptables -A INPUT -p tcp --dport -j ACCEPT
i.e.
cmd#: sudo iptables -A INPUT -p tcp --dport 5432 -j ACCEPT
cmd#: sudo iptables -A INPUT -p tcp --dport 8000 -j ACCEPT
cmd#: sudo iptables -A INPUT -p tcp --dport 8100 -j ACCEPT
cmd#: sudo iptables -A INPUT -p tcp --dport 8900 -j ACCEPT


Reboot your server
cmd#: sudo reboot

After rebooting start your iserver then check if your 8900 listen.
Go to your installed iServer application


cmd#: cd
cmd#: cd bin
cmd#: sh ./start_srvr.sh

Now lets check if port 8900 is active/open

cmd#: netstat -a | grep 89

If it's active, you can now check or browse the URL.


URL for Configuration Console
  http://:/acadmin/config
  i.e. http://10.10.10.10:8900/acadmin/config
  Enter your password because the Username is default to Administrator

URL for Information Console
http://:/iportal
  i.e. http://10.10.10.10:8900/iportal
Enter username as "Administrator" and leave the password blank


URL for Management Console

http://:/iportal
  i.e. http://10.10.10.10:8900/acadmin
Enter username as "Administrator" and leave the password blank
Good luck...