Subject Re: [firebird-support] Newbie Solaris Server Setup Problem.
Author Helen Borrie
At 07:55 AM 28/05/2006, you wrote:
>Hi Folks:
>
> Let me start by thanking all who have contributed to Firebird
>and IBPP.
>
> I'm finishing up development on a Windows app that uses the
>Firebird 1.5.3 embedded server. It's been working great.
>
> I want to give the user the option of running this in client
>server mode, so they can share their data with others in their
>organization. The OS I'd like to use for the server is Solaris
>10 on for X86, and because this particular machine has a single
>processor, I'm trying to get the Firebird Super Server running.
>
> "pkgadd -d Firebird-SS-1.5.2.4731-0-SolX86.pkg" finishes with
>"Installation of <FB2SI> was successful".
>
> From its "bin" directory, Firebird is started with:
>
> "./fbmgr.bin -start -forever"
>
> Nothing is displayed for about 10 seconds, then:
>
> check $FIREBIRD/firebird.log file for errors
> can not start server
>
> The log file has the following:
>
>slowpoke (Client) Sat May 27 13:10:14 2006
> INET/inet_error: connect errno = 146
>
>slowpoke (Client) Sat May 27 13:10:15 2006
> /usr/local/firebird/bin/fbguard: guardian starting bin/fbserver
>
>
>slowpoke (Server) Sat May 27 13:10:15 2006
> 64 bit i/o support is on.
>
>slowpoke (Server) Sat May 27 13:10:15 2006
> Open file limit increased from 256 to 65536
>
>slowpoke (Server) Sat May 27 13:10:16 2006
> SERVER/process_packet: connection rejected for firebird
>
>slowpoke (Server) Sat May 27 13:10:16 2006
> SERVER/process_packet: connection rejected for firebird
>
>The last message is repeated 9 times over 2 seconds.
>
> After those error messages, "ps -ef | grep fb" shows two
>firebird processes:
>
> firebird 912 1 0 13:10:15 pts/7 0:00
>/usr/local/firebird/bin/fbguard -f
> firebird 913 912 0 13:10:15 pts/7 0:01 /usr/local/firebird/bin/fbserver
>
> An attempt to use ISQL:
>
> $ isql
> Use CONNECT or CREATE DATABASE to specify a database
> SQL> CREATE DATABASE 'new.fdb';
> Statement failed, SQLCODE = -923
>
> connection rejected by remote interface
> SQL> quit;
> $
>
> I've never used ISQL before, and haven't set up any
>security yet. So perhaps ISQL is behaving as it is
>supposed to when confronted by someone who doesn't have
>a clue.
>
> Anyway, it's obvious that I don't know what I'm doing.

:-) Solaris isn't Windoze! It's a POSIX OS, with all the filesystem
security that goes with it.

The first problem wasn't much - you just couldn't start the server
because it was already started. You can actually replace the
parameter '-start' with '-restart', which will shutdown the server if
it is running, and then...well...you get it...

If you understand the scripts at all you could look at the various
installation scripts and see what the firebird user was trying to do
that the OS wouldn't let it do. I suspect that it it was trying to
lock or create a file somewhere it doesn't have the permissions for.

(The firebird user is a unix user that is created by the startup
script for the purpose of running the server. Not all installation
scripts do the right thing and create a firebird group and put all
the perms in place, esp. when the build of the kit is outside the
control of the core group, as the Solaris ones are. The guy who does
the Solaris builds is Konstantin Kuznetsov and he hangs out in firebird-devel)

Your isql problem relates not just to permissions but also to the
Superserver architecture. Superserver on unix can't accept a local
connection, so you'll need to use localhost. You will also need
1) a proper path for your database file name, including a directory
location that actually exists
2) for the system user 'firebird' to have rwx permissions in that directory
3) to provide a username and password (i.e. Firebird security, not
filesystem users) in the connect or create string

Decide where you want to store databases and create that
directory. Then make the (system) firebird user the owner of that
directory. The user firebird and any other system users that are
going to do stuff at file level to your database files should all be
in a group named firebird and the group should have rwx perms on the
directory (or directories) where databases are going to live and also
where backups are going to be stored.

Is that enough to get you onto the track? Anything that's
Solaris-specific, or peculiar to the Solaris builds of Firebird, is
beyond my ken but I doubt that Konstantin would be unwilling to help
you out. :-)

./heLen


./heLen