Subject RE: [firebird-support] Multiple server installs on linux
Author Carrell Alex
Hi,

Since no one replied heres a synopsis of what I did last time - bit of a hurry.
I have seen write ups around on the internet.
I have found the firebird tarball installs, to be really quite good, so I forget if the below is fully required.


assuming your on a test server.

I try and make sure that xnetd is not running during the install.
to stop the command should be(checked suse/mandriva).

/etc/init.d/xinetd STOP
this will stop all incoming connections to firebird by the way.
Firebird can be stopped after this.

Install first vesion as normal, as you wish. However make sure the file location for binaries is sensible and named /opt/firebird/fb1_5/
writing that, this is probably best done using a tarball install. I do not believe the package managed installs write to well named directories. hence they may overwrite one another. I use tarball for all installs by the way.

Then make a copy of the XNET script for the version of firebird installed. keep that, save to use later.
it will probably be /etc/xinet.d/firebird on first version of FB.

Then install second version. Make sure that the file permissions are for the firebird user and group. use the initial install as a template, though the tarball ought to perfect.

After placing tarball in place I the copy and rename the xnet script (for instance from firebird to firebird2_1). Then I go in and edit the file so that it points a the version of firebird I want it to run,
taking my own scripts for example
from:

service gds_db1
{
flags = REUSE
socket_type = stream
wait = no
user = firebird
# user = @FBRunUser@
log_on_success += USERID
log_on_failure += USERID
server = /opt/firebird1_5/bin/fb_inet_server
# server = ${exec_prefix}/sbin/gds_inet_server
# server = @exec_bindir@/gds_inet_server
disable = no
}

to:
service gds_db2
{
flags = REUSE
socket_type = stream
wait = no
user = firebird
# user = @FBRunUser@
log_on_success += USERID
log_on_failure += USERID
server = /opt/firebird2_0/bin/fb_inet_server
# server = ${exec_prefix}/sbin/gds_inet_server
# server = @exec_bindir@/gds_inet_server
disable = no
}

where :
service ties up with what its written in the file /etc/services
gds_db1 3050/tcp # gds_db
gds_db1 3050/udp # gds_db
gds_db2 3051/tcp # gds_db
gds_db2 3051/udp # gds_db


on finish of editing I copy the file back to /etc/xinet.d/ as /etc/xinet.d/firebird2_1

nb with the xinet screipts for each server,
...
.
.
disable = no - determines whether the service is started when the xinet daemon is started
.
.
...

you can also specify the port in the firebird.conf file.
I do that as well.


now restart xinetd, command:

/etc/init.d/xinetd RESTART


What have I missed?

hope that helps

alex