Firebird SQL auf Synology Diskstation installieren [Update 2018: Wechsel auf Docker]

Hinweis: Der unten aufgeführte Artikel wurde im Jahr 2012 verfasst. Da er immer noch fast täglich von Usern besucht wird, haben wir uns entschieden ihn online zu belassen. Inzwischen unterstützen Synology und Qnap Systeme mit Intel CPUs Docker. 
Im Jahr 2018 empfehlen und nutzen wir daher das Docker Image jacobalberty/firebird:2.5-ss

Falls Interesse an einer Anleitung für Docker besteht, hinterlassen Sie einfach ein Kommentar in diesem Blogbeitrag. Bei genügend Interesse wird diese von uns veröffentlicht.

Hier folgt der alte Artikel aus 2012:

Für Warenwirtschaftssysteme, welche MySQL 5.x/MariaDB benötigen, liefert Synology eine hinreichend aktuelle MySQL im aktuellen DSM mit.
Da wir für unsere Warenwirtschaft und CRM Software aber eine Firebird Datenbank benötigen, beschreibe ich im Folgenden wie man Firebird 2.5 in einer chroot Umgebung auf einer Intel oder ARM basierten Synology NAS installieren und sauber betreiben kann. 

Die folgende Anleitung wurde mit folgender Hard & Softwareumgebung durchgespielt:
Synology NAS:
Modell: DS1512+ Intel CPU (für ARM CPU DS211j)
Festplatten: 4x ST31000340NS, 1x ST31000524NS Serverplatten mit je 1TB von Seagate
Raid Modus: Hybrid Raid (Level 6) mit Fehlertoleranz von 2 Festplatten, ext4 Dateisystem, 2,67 TB Nutzkapazität
Netzwerk: 2x 1 Gigabit mit IEEE 802.3ad Dynamic Link Aggregation
DSM Version: 4.0-2228 vom 10.05.2012
IPKG: Version 1.2-7

Windows 7 Workstation:
Windows 7 64 Bit mit Virtual Box für Ubuntu Server Installation um die chroot Umgebung aufzubauen. Alternativ kann man auch eine fertige chroot Umgebung von unserer Webseite herunterladen.


Schritt für Schritt Anleitung (Aufwand ca. 2 bis 4 Stunden)

Auf der Diskstation
Web Admin: Bedienfeld -> Terminal -> SSH-Dienst aktivieren
Stellen Sie nun eine SSH Verbindung zur Diskstation her (unter Windows verwende ich Putty als SSH Client)
Als nächstes installieren wir IPKG mit folgenden Eingaben auf der SSH Shell:

mkdir -p /volume1/public
cd /volume1/public
wget http://ipkg.nslu2-linux.org/feeds/optware/syno-i686/cross/unstable/syno-i686-bootstrap_1.2-7_i686.xsh

Alternative URL: http://files.satware.com/synology/ipkg/syno-i686-bootstrap_1.2-7_i686.xsh

sh syno-i686-bootstrap_1.2-7_i686.xsh
ipkg update

Die Runlevel Scripts müssen nun angepasst werden, damit das hoch- und herunterfahren der Diskstation problemlos klappt.

vi /etc/rc.local

Mit den Pfeiltasten cursor vor bis
[ -x /etc/rc.optware ] && /etc/rc.optware start
und eine Raute (#) einbauen (Einfg. Taste, danach #):
Mit ESC : x
die Änderungen speichern.

umount /opt
rmdir /opt
ln -s /volume1/@optware /opt
wget http://files.satware.com/synology/ipkg/optware.sh
mkdir -p /usr/local/etc/rc.d
mv optware.sh /usr/local/etc/rc.d/
chmod +x /usr/local/etc/rc.d/optware.sh
wget http://files.satware.com/synology/ipkg/S80firebird.sh
mkdir -p /opt/etc/init.d
mv S80firebird.sh /opt/etc/init.d/
chmod +x /opt/etc/init.d/S80firebird.sh

Nun sind die Vorbereitungen auf dem NAS Server soweit durch, und es muss auf einem Linux Rechner ein chroot Umgebung erstellt werden. Für Eilige kann auch hier eine passende Umgebung geladen werden und dieser Punkt übersprungen.

Erstellen einer chroot Umgebung unter Linux

Auf einem Linux System (hier: Ubuntu 64 Bit Server Version 11.04 in einer Virtual Box) folgende shell Commands absetzen:

sudo apt-get install debootstrap -y
sudo apt-get clean
sudo debootstrap --foreign --arch amd64 squeeze debian "http://ftp.de.debian.org/debian" sudo tar -czf debian.tar.gz debian

Die debian.tar.gz muss nun auf den NAS Server kopiert werden, alternativ kann man auch ein fertiges Image laden.
Weiter geht es auf dem NAS Server:
Alternativer Download (ca. 90 MB):

wget http://files.satware.com/synology/chroot/debian.tar.gz

Auspacken der chroot Umgebung und Installation

Ich gehe hierbei von der auf dieser Seite bereitgestellten Umgebung aus.

tar -C /volume1/public/ -xf debian.tar.gz
mount -o bind /dev /volume1/public/debian/dev
mount -o bind /proc /volume1/public/debian/proc
grep -v rootfs /proc/mounts > /volume1/public/debian/etc/mtab
chroot /volume1/public/debian/ /bin/bash
/debootstrap/debootstrap --second-stage
exit
cp /etc/hosts /volume1/public/debian/etc/hosts
cp /etc/resolv.conf /volume1/public/debian/etc/resolv.conf
hostname > /volume1/public/debian/etc/hostname
mount -o bind /dev /volume1/public/debian/dev
mount -o bind /proc /volume1/public/debian/proc
grep -v rootfs /proc/mounts > /volume1/public/debian/etc/mtab
chroot /volume1/public/debian/ /bin/bash
wget http://files.satware.com/synology/chroot/sources.list -O /etc/apt/sources.list
apt-get update -y
apt-get upgrade -y
apt-get dist-upgrade -y

Nun haben wir eine funktionsfähige chroot Umgebung, fehlt nur noch FirebirdSQL

apt-get install Firebird2.5-superclassic -y
dpkg-reconfigure firebird2.5-superclassic

Folgende Antworten bei der Config sollten reichen:
Enable Firebird server? => Yes
Password for SYSDBA? => masterkey
Dann kann man die chroot mit

exit

verlassen. Der Firebird SQL Server ist jetzt installiert und kann mit

/opt/etc/init.d/S80firebird.sh stop

angehalten, und mit

/opt/etc/init.d/S80firebird.sh start

gestartet werden.
Nach einem Neustart der Synology Box wird Firebird automatisch gestartet.
Für "Faule" habe ich noch ein Script für den Eintritt ins chroot via Terminal erstellt. Es sorgt dafür, dass /dev und /proc zur Verfügung stehen, und Tools wie "df" funktionieren.

wget http://files.satware.com/synology/chroot/debian-chroot.sh -O ~/debian-chroot.sh
chmod +x ~/debian-chroot.sh

Nach dem Download einfach von der Shell mit

~/debian-chroot.sh

in die chroot Umgebung wechseln, mit

exit

oder CTRL+D kommt man wieder raus.


Download Links:
optware.sh - das alternative Optware Startup und Shutdown Script für /usr/local/etc/rc.d/optware.sh
S80firebird.sh - Start/Stop Script für Firebird DB Server
debian.tar.gz - fertige chroot Umgebung für 64Bit NAS Systeme mit Intel CPUs
debian386.tar.gz - fertige chroot  Umgebung 32Bit (z.B. für TurboMed Praxisprogramm)
debian-arm.tar.gz *** - fertige chroot Umgebung für ARM basierte Synology NAS für Bastler.

Quellen:
www.synology-wiki.de
www.firebirdsql.org

Um Firebird SQL 2.5  auf einer ARM basierten Synology Diskstation (z.B. DS211j) zu installieren, kann man der obigen Anleitung folgen, muss jedoch alle "debian" Vorkommen durch "debian-arm" ersetzen. Das Script File

/opt/etc/init.d/S80firebird.sh

muss ebenfalls bearbeitet werden, und der Pfad von /debian/ auf /debian-arm/ geändert werden.


Vielen Dank an:
Benjamin Jobst von Jobst-Audio Lautsprecherentwicklung  für das konstruktive Feedback!

Die mit einem * markierten Felder sind Pflichtfelder.

Ich habe die Datenschutzbestimmungen zur Kenntnis genommen.

  • Docker gerne aber

    Wenn schon eine NAS besteht (DS2018play) und diese aber ARM basiert ist (Realtek RTD1296, 4x 1.40GHz) dann wäre es schon interessant, wie man da den “Feuervogel” zum Laufen bekommt :)
    Gilt diese Anleitung noch oder hat sich vieles geändert - von 2012 bis 2018?

  • Docker Anleitung

    Guten Abend,
    ich bin zufällig durch einen Link im EssentialPIM-Forum auf diese Anleitung gestoßen.
    Ersteinmal vielen Dank hierfür!

    Ich würde mich über eine Anleitung von Ihnen wirklich sehr freuen.

    Versuche es mit dem von Ihnen verlinken Docker-Image, bekomme es aber leider nicht zum laufen.
    Werde mich noch ein wenig belesen und werde es hoffentlich hinbekommen.

    Wünsche noch einen angenehmen Abend.

  • help

    Can You help Me?

    I'd like install the Firebird , but i can'.t.
    I arrived to the line: apt-get update -y
    Afer enter:
    Ign http://ftp2.de.debian.org squeeze Release.gpg
    Ign http://ftp2.de.debian.org/debian/ squeeze/main Translation-en
    Ign http://ftp2.de.debian.org squeeze Release
    Err http://ftp2.de.debian.org squeeze/main Sources
    404 Not Found [IP: 137.226.34.46 80]
    Ign http://security.debian.org squeeze/updates Release.gpg
    Ign http://security.debian.org/ squeeze/updates/main Translation-en
    Err http://ftp2.de.debian.org squeeze/main amd64 Packages
    404 Not Found [IP: 137.226.34.46 80]
    Ign http://security.debian.org squeeze/updates Release
    Err http://security.debian.org squeeze/updates/main amd64 Packages
    404 Not Found [IP: 212.211.132.250 80]
    W: Failed to fetch http://ftp2.de.debian.org/debian/dists/squeeze/main/source/Sources.gz 404 Not Found [IP: 137.226.34.46 80]

    W: Failed to fetch http://ftp2.de.debian.org/debian/dists/squeeze/main/binary-amd64/Packages.gz 404 Not Found [IP: 137.226.34.46 80]

    W: Failed to fetch http://security.debian.org/dists/squeeze/updates/main/binary-amd64/Packages.gz 404 Not Found [IP: 212.211.132.250 80]

    E: Some index files failed to download, they have been ignored, or old ones used instead.

    And then, i can't use this line:apt-get install Firebird2.5-superclassic -y

    I got nex message:
    Reading package lists... Done
    Building dependency tree... Done
    E: Unable to locate package Firebird2.5-superclassic
    E: Couldn't find any package by regex 'Firebird2.5-superclassic'

    Can You help me?
    pls

  • Docker her damit :-)

    Wäre auch sehr an der Anleitung interessiert.

  • The solution

    I found solution!
    The Apt-get command have a config file wih repository hosts. I changed this file and than heureka!!

    The perfect lines in the config file is:(/etc/apt/source.list)
    deb http://ftp.debian.org/debian stable main contrib non-free
    deb http://ftp.br.debian.org/debian/ Debian8.10 main amd64

    And an other problem!!!
    When U need use this server from other computer need another change in next file(/etc/firebird/2.5/firebird.conf):
    Search the next row: RemoteBindAddress = localhost
    And take a # the row before:#RemoteBindAddress = localhost

    then restart the server: /etc/init.d/firebird2.5-superclassic restart

    :)

  • Firebird auf Synology Diskstation nutzen

    Auch ich bin sehr an einer Firebird Anleitung in Docker interessiert.
    Wäre toll, wenn ich die Firebird-SQL Datenbank von der Windows Workstation in die Diskstation umstellen könnte.