Installing the Firebird Database Server on CentOS 7



  • Firebird is a mature, well known relational database server. It comes in the CentOS and RHEL EPEL and can be installed and run easily. We will assume a minimal CentOS 7 installation (from the 1611 media, with firewalld installed by default) for this project.

    First we need to install the EPEL:

    yum -y install epel-release
    

    Now that we have the EPEL set up, all we need to do is:

    yum -y install firebird
    

    That is all that we need for installation. But the server is not running yet:

    chown -R firebird:firebird /tmp/firebird
    systemctl start firebird-superserver
    systemctl enable firebird-superserver
    

    Those commands will start our new database server and will set it to start automatically on system boot as a service. It is important to note that the server's full name on CentOS is firebird-superserver.

    Since we have a firewall in place, we will want to open the ports for our new database server. Firebird uses port 3050. If you only plan to use Firebird locally, do not open this port on the firewall. But if you are building a dedicated database server and need external connections, then you will need to open it.

    firewall-cmd --zone=public --add-port=3050/tcp --permanent
    firewall-cmd --reload
    

    That's it. Our database is installed, running, open for external connections and ready for use. And because Firebird is included with the EPEL, all patches and updates are handled automatically with your normal yum updates. Enjoy!



  • If we have netstat installed, we can see the server listening:

    # netstat -tulpn | grep 3050
    tcp        0      0 0.0.0.0:3050            0.0.0.0:*               LISTEN      13898/fbserver 
    

    Good to note that the process name is fbserver.



  • Hi, thank you very much for this post. I need some help. Using CentOS 7 64 bits, installs firebird-superserver.x86_64 0:2.5.7.27050.0-1.el7 ok, but does not work.

    gsec -user SYSDBA -password masterkey -modify sysdba -pw newpassword
    returns:
    Unable to complete network request to host "localhost".
    Failed to establish a connection.
    unable to open database

    Can you help me? Please



  • I'm sure you've checked this but just in case it was missed.... are you sure that the process is running.

    I think it is....

    systemctl status firebird-superserver


  • Thank you for quick answer.

    Response:
    systemctl status firebird-superserver
    ā— firebird-superserver.service - Firebird Database Server ( SuperServer )
    Loaded: loaded (/usr/lib/systemd/system/firebird-superserver.service; enabled; vendor preset: disabled)
    Active: inactive (dead)

    Jul 16 22:36:44 localhost.localdomain systemd[1]: Starting Firebird Database Server ( SuperServer )...
    Jul 16 22:36:44 localhost.localdomain systemd[1]: firebird-superserver.service: Supervising process 3678 which is not our child. We'll most likely not notice when it exits.
    Jul 16 22:36:44 localhost.localdomain systemd[1]: Started Firebird Database Server ( SuperServer ).

    cat /etc/centos-release
    CentOS Linux release 7.3.1611 (Core)

    However, doing same on CentOS release 6.9 (Final), works all very good!

    Maybe it is something related to:
    http://tracker.firebirdsql.org/browse/CORE-5491?page=com.atlassian.jira.plugin.system.issuetabpanels%3Aall-tabpanel



  • @abnerh69

    Mark this: on CentOS release 6.9 (Final), it reports installation:
    installed:
    firebrid.x86_64 0:2.5.5.26952.0-2.el6

    Dependency Installed:
    firebird-classic-common.x86_64 0:2.5.5.26952.0-2.el6
    firebird-filesystem.x86_64 0:2.5.5.26952.0-2.el6
    firebird-libfbclient.x86_64 0:2.5.5.26952.0-2.el6
    firebird-libfbembed.x86_64 0:2.5.5.26952.0-2.el6
    firebird-superclassic.x86_64 0:2.5.5.26952.0-2.el6
    libicu.x86_64 0:4.2.1-14.el6



  • @abnerh69

    On CentOS 7.3.1611 (Core) installation reports:

    Dependencies Resolved
    Package Arch Version Repository Size

    Installing:
    firebird x86_64 2.5.7.27050.0-1.el7 epel 648 k
    Installing for dependencies:
    firebird-superserver x86_64 2.5.7.27050.0-1.el7 epel 2.7 M

    Transaction Summary

    Install 1 Package (+1 Dependent package)

    Total download size: 3.4 M
    Installed size: 14 M
    Is this ok [y/d/N]: y
    Downloading packages:
    (1/2): firebird-2.5.7.27050.0-1.el7.x86_64.rpm | 648 kB 00:00:03
    (2/2): firebird-superserver-2.5.7.27050.0-1.el7.x86_64.rpm | 2.7 MB 00:00:49

    Total 70 kB/s | 3.4 MB 00:00:49
    Running transaction check
    Running transaction test
    Transaction test succeeded
    Running transaction
    Installing : firebird-superserver-2.5.7.27050.0-1.el7.x86_64 1/2
    firebirdāŒ983:
    Installing : firebird-2.5.7.27050.0-1.el7.x86_64 2/2
    Verifying : firebird-2.5.7.27050.0-1.el7.x86_64 1/2
    Verifying : firebird-superserver-2.5.7.27050.0-1.el7.x86_64 2/2

    Installed:
    firebird.x86_64 0:2.5.7.27050.0-1.el7

    Dependency Installed:
    firebird-superserver.x86_64 0:2.5.7.27050.0-1.el7

    Complete!



  • @abnerh69

    Looks like something is missing on EPEL 7 (el7)

    Don't you think?



  • @scottalanmiller Is there any web apps that works with firebird?



  • @scottalanmiller do you know if it is possible (and how) to install firebird 2.5.7
    classic / superclassic con CentoOS 7 ?



  • @black3dynamite said in Installing the Firebird Database Server on CentOS 7:

    @scottalanmiller Is there any web apps that works with firebird?

    There are, but primarily it is for bespoke projects.



  • Do the Firebird logs tell you anything? Do a restart on the service and see what the logs say immediately afterwards.



  • @scottalanmiller sorry, where can I check firebird logs?



  • I've build a new server and just did an install. Definitely looks like things have changed recently. I'm getting the same issues.



  • @scottalanmiller it is good to hear that, I thought I was wrong. Now, please look at the log file: it says Can't access lock files's directory /tmp/firebird/

    It seems firebird user has no access to that folder.

    Let me test something, allowing firebird user to access it.



  • @scottalanmiller.

    Solved:
    sudo chown -R firebird:firebird /tmp/firebird

    Thank you very much for your help and guide.



  • @abnerh69 said in Installing the Firebird Database Server on CentOS 7:

    @scottalanmiller.

    Solved:
    sudo chown -R firebird:firebird /tmp/firebird

    Thank you very much for your help and guide.

    Oh awesome, glad that it was not anything crazy. I'll add that to the install instructions up top. That was definitely not needed previously.



  • @black3dynamite, do you need some specific help? I mean, I do web apps that works with firebird.



  • @abnerh69 said in Installing the Firebird Database Server on CentOS 7:

    @black3dynamite, do you need some specific help? I mean, I do web apps that works with firebird.

    No. I was just curious about it.



  • chown -R firebird:firebird /tmp/firebird
    This command doesnt work.
    Because there is no "firebird" directory in /tmp folder


Log in to reply