I’d like to share my experience about installation of the TIBCO Enterprise Message Service Central Administration (EMSCA) server and client. At this time, TIBCO provides EMSCA server software only for Linux (Red Hat Enterprise Linux 4 and 5 (x86), Oracle Enterprise Linux 4 and 5 (x86) and SUSE Enterprise 10 (x86)) and EMSCA client only for Windows, but as client is Eclipse based, I think that it could be ported easily.

I will start with the server side installation on my Red Hat Linux. The new TIBCO Universal Installer can run in GUI (default), console or silent mode. If you prefer GUI, don’t forget to set DISPLAY:
LOGINFROM=`who am i | cut -f2 -d"(" | cut -f1 -d")"`
DISPLAY=${LOGINFROM}:0.0
export LOGINFROM DISPLAY

Run the installer # ./TIBCOUniversalInstaller-lnx-x86.bin, accept the license agreement, create a new or select an existing environment. Installation will perform quickly. When installation is complete, it is necessary to do some post installation tasks:

  • Environment variables from the file <emsca_home>/1.0/bin/setenv must be set. Perhaps it is good idea to call this file from the user’s profile or add content of this file to the profile;
  • Make Apache run as the user ‘nobody’:
    # cd <emsca_home>/1.0/httpd/conf
    # vi httpd.conf
    User nobody
    Group nobody

    and make sure that user and group ‘nobody’ are in the system;
  • Configure an authentication in Apache:
    # vi httpd.conf
    AuthBasicProvider file
    AuthUserFile conf/users.txt

    Then prepare users file, I will define the ‘admin’ user only:
    # cd ../bin
    # ./htpasswd -c ../conf/users.txt admin
    New password:
    Re-type new password:
    Adding password for user admin

    Then check the file:
    # cd ../conf/
    # cat users.txt
    admin:GfwLuEIw320SY
  • Adding Subversion users and change folders owners:
    # cd /opt/tibco/ems/ca/1.0/repos/conf
    # cat pre-commit.perms
    admin

    So, ‘admin’ is already here. Next check/set owner for the repos and temp Subversion’s folders:
    # pwd
    /opt/tibco/ems/ca/1.0
    # chown -R nobody:nobody repos temp

    Owner should be the same user as running apache (‘nobody’ in my case).

Then I can start emsca:
# emsca start
Starting TIBCO EMS Central Administration
Started Apache httpd: pid=20119
Started Tomcat: pid=20140

and check Apache logs in the <emsca_home>/1.0/httpd/logs folder.

Next step is to create a new deployment server. Deployment server is one per project, can be one for many EMS.
# emsca server create rhl01
Created directory 'rhl01' in the repository
Created directory /opt/tibco/ems/ca/1.0/servers/rhl01
Created configuration file '/opt/tibco/ems/ca/1.0/servers/rhl01/conf/configuration.xml'
Created deployment server 'rhl01'

Now creating a new central administration agent. One agent per one EMS.
# emsca agent create rhl01 name=agent_EMS-SERVER1 path=/ems-server1.emsserver url=tcp://10.2.148.82:7222
Created agent on deployment server 'rhl01'

It is possible to provide a username and a password to connect to the EMS. If is not included, the agent uses ‘admin’ ad username and an empty password. ems-server-username – the username used to connect to the tibemsd, ems-server-password – used with ems-server-username to connect to the tibemsd. Also it has options to grant agent some additional rights, find in the docs.

To check EMSCA server use:
# emsca list
TIBCO EMS Central Administration
Deployment Servers
------------------
rhl01 (started)

# emsca status
TIBCO EMS Central Administration Status
Apache httpd is running: pid=1427
Tomcat is running: pid=1448

In the next post I will describe the client part installation and configuration.