Mudah Instalasi Firebird di Linux Mint

19 September 2016

Instalasi

00. Persiapan instalasi

$ sudo add-apt-repository ppa:mapopa
$ sudo apt-get updat

01. Instal paket firebird

$ sudo apt-get install firebird2.5-super

02. Lakukan konfigurasi server

$ sudo dpkg-reconfigure firebird2.5-super

03. Instal examples dn file-file dev

$ sudo apt-get install firebird2.5-examples firebird2.5-dev
Arsip employee.fdb berada di dalam direktori "/usr/share/doc/firebird2.5-examples/examples/empbuild/".
$ cd /usr/share/doc/firebird2.5-examples/examples/empbuild/
$ sudo gunzip employee.fdb.gz
$ sudo chown firebird.firebird employee.fdb
$ sudo cp employee.fdb employee.fdb.bak (membuat file cadangan dari employee.fdb)
$ sudo mv employee.fdb /var/lib/firebird/2.5/data/

04. Konek ke database menggunakan isql-fb console

$ isql-fb
 SQL> connect "/var/lib/firebird/2.5/data/employee.fdb" user 'SYSDBA' password 'SYSDBApassword';

05. Koneksi pada langkah 4 akan gagal jika konfigurasi pada “/etc/firebird/2.5/firebird.conf” ada pembatasan akses database seperti baris pertama pada konfigurasi berikut:

DatabaseAccess = Restrict /opt/firebird_data
RemoteAccess = true
RemoteServicePort = 3050
RemoteBindAddress = localhost
ServerMode = Super

06. Jika menggunakan pilihan “Classic” atau “Superclassic” pada versi 2.5 maka Anda harus selalu menggunakan “localhost:” di depan db path. Dengan demikian maka “lock files” dan “shared memory segment” akan menjadi milik ‘firebird’ user. Alternatif lainnya adalah dengan menambahkan “User_Anda” ke dalam “firebird group”.

$ sudo adduser `id -un` firebird
Kemudian connect ke database di superclassic or classic
$ isql-fb
SQL> connect "localhost:/var/lib/firebird/2.5/data/employee.fdb " user 'SYSDBA' password 'SYSDBApassword';

07. Apabila semua OK, Anda akan mendapatkan pesan “database apa yang terkoneksi” dan “siapa user yang siap menggunakan sql prompt”.

$ isql-fb 
Use CONNECT or CREATE DATABASE to specify a database
SQL> connect "/var/lib/firebird/2.5/data/employee.fdb" user 'SYSDBA' password 'SYSDBApassword';
Database: "/var/lib/firebird/2.5/data/employee.fdb", User: SYSDBA

08. Sekarang Anda dapat melihat table apa saja yang ada di database dan melihat versi server

SQL> show tables;
COUNTRY CUSTOMER 
DEPARTMENT EMPLOYEE 
EMPLOYEE_PROJECT JOB 
PROJECT PROJ_DEPT_BUDGET 
SALARY_HISTORY SALES 
SQL> show version;
ISQL Version: LI-V2.5.5.26952 Firebird 2.5
Server version:
Firebird/linux AMD64 (access method), version "LI-V2.5.5.26952 Firebird 2.5"
Firebird/linux AMD64 (remote server), version "LI-V2.5.5.26952 Firebird 2.5/tcp (juwarto-Dell39)/P12"
Firebird/linux AMD64 (remote interface), version "LI-V2.5.5.26952 Firebird 2.5/tcp (juwarto-Dell39)/P12"
on disk structure version 11.2

09. Mencoba membuat database baru di “/opt/firebird_data/”

SQL> create database "/opt/firebird_data/coba.fdb" user 'SYSDBA' password 'SYSDBAPASSWORD';
SQL> connect "/opt/firebird_data/coba.fdb" user 'SYSDBA' password 'SYSDBAPASSWORD';
Commit current transaction (y/n)?y
Committing.
Database: "/opt/firebird_data/coba.fdb", User: SYSDBA

10. Mencoba membuat sebuah table sederhana, kemudian insert 1-2 rows dan select data dari tabel tersebut

SQL> CREATE TABLE TEST (ID INT NOT NULL PRIMARY KEY, NAME VARCHAR(20));
SQL> show tables;
       TEST
SQL> INSERT INTO TEST VALUES (1, 'Juwarto');
SQL> INSERT INTO TEST VALUES (2, 'Juragan');
SQL> select * from test;
   ID           NAME 
   ============ ==================== 
             1  Juwarto 
             2  Juragan

11. Untuk keluar dari isql-fb console, ketik “quit”

SQL> quit
CON>;

 

Konfigurasi Penting

1. Buat direktori baru di “/opt” untuk menyimpan database, misal beri nama “firebird_data”.

2. Buat direktori baru di “/opt” untuk menyimpan backup, misal beri nama “firebird_backup”.

3. Create/Edit file “/etc/firebird/2.5/firebird.conf” dan pastikan baris berikut telah diset:

DatabaseAccess = Restrict /opt/firebird_data
RemoteAccess = true
RemoteServicePort = 3050
RemoteBindAddress = localhost
ServerMode = Super

4. Jangan lupa restart service firebird!

$ sudo service firebird2.5-super restart

5. Pastikan service firebird telah benar-benar running!

$ sudo ps -aux | grep firebird
[sudo] password for juwarto: 
firebird 7333 0.0 0.0 28580 2400 ? S 13:03 0:00 /usr/sbin/fbguard -daemon -forever -pidfile /var/run/firebird/2.5/fbserver.pid
firebird 7334 0.0 0.1 184308 12548 ? Sl 13:03 0:00 /usr/sbin/fbserver
juwarto 7580 0.0 0.0 11752 2152 pts/4 S+ 13:38 0:00 grep --colour=auto firebird

 

Catatan Penting

1. Hasil instalasi dapat dicek di direktori/file berikut

/usr/lib/firebird/2.5 (direktori)
/usr/bin/isql-fb (file, untuk masuk ke SQL command)
/usr/sbin (direktori, tempat file-file fbguard, fb_lock_print, dan fb_smp_server)

2. Direktori tempat data firebird:

/var/lib/firebird/2.5/data

 

SQL Commands

1. Create user

SQL> create user juwarto password '060084390';
Use CONNECT or CREATE DATABASE to specify a database
SQL> _

2. Memberi hak/grant admin ke user

SQL> grant rdb$admin to juwarto;
Use CONNECT or CREATE DATABASE to specify a database
SQL> _

 

Command line

01. Konfigurasi server (masuk ke environtment GSEC):

$ gsec -user "sysdba" -password 'SYSDBApassword'

02. Lihat user:

GSEC> display
GSEC> quit

03. Ubah password (lewat gsec):

GSEC> modify SYSDBA -pw <password_baru>

Ubah password (lewat command line linux):

$ gsec -user "sysdba" -pass 'SYSDBApassword' -mo sysdba -pw <password_baru>

04. Menambah user (lewat gsec):

GSEC> add juwarto -pw juwpass

Menambah user (lewat command line linux):

$ gsec -user "sysdba" -pass 'SYSDBApassword' -add "juragan" -pw 'jurpass'

05. Keluar dari lingkungan gsec

GSEC> quit

 

Firebird Clients

  • Flamerobin

Flamerobin adalah aplikasi client firebird berbasis desktop.

$ sudo apt-get install flamerobin (akan menambahkan paket libwxbase2.8-0 dan libwxgtk2.8-0)
  • Firebird Web Admin

Flamerobin adalah aplikasi client firebird berbasis web.

[*] Untuk menggunakan firebird dengan php, Anda harus memasang driver php5

$ sudo apt-get install php5-interbase libapache2-mod-php5
$ sudo php5enmod interbase
$ sudo /etc/init.d/apache2 restart

Enable module interbase dapat dilakukan juga dengan cara manual sbb:

1. Pastikan ada file "interbase.ini" di direktori "/etc/php5/mods-available".
2. Buat symbolic link untuk interbase.ini di direktori "/etc/php5/apache2/conf.d" dengan nama "20-interbase.ini"
   $ cd /etc/php5/apache2/conf.d 
   $ sudo ln -s ../../mods-available/interbase.ini 20-interbase.ini

[*] Kemudian install “php administration tool” semisal “Firebird Web Admin”

Firebird Web Admin dapat diunduh di “https://github.com/mariuz/firebirdwebadmin”

[-] Ekstrak file unduhan firebirdwebadmin, kemudian letakkan di webserver misal di “/var/www/html/devju/firebirdwebadmin”

[-] Konfigurasi yang perlu diperhatikan

a. Buat link isql dan isql-fb dari /usr/bin ke /usr/sbin

$ cd /usr/sbin
$ sudo ln -s /usr/bin/isql isql
$ sudo ln -s /usr/bin/isql-fb isql-fb
$ ls -al | grep isql
lrwxrwxrwx 1 root root 13 Sep 19 14:38 isql -> /usr/bin/isql
lrwxrwxrwx 1 root root 16 Sep 19 14:38 isql-fb -> /usr/bin/isql-fb

b. Edit file “firebirdwebadmin/inc/configuration.inc.php” sbb:

define('BINPATH', '/usr/sbin/'); // path to the interbase tools (isql, etc.)
define('DEFAULT_DB', 'employee.fdb');
define('DEFAULT_PATH', '/opt/firebird_data/');
define('DEFAULT_HOST', 'localhost');
define('BACKUP_DIR', '/opt/firebird_backup'); // define this to restrict the location for backup files

SELESAI!
Alhamdulillah

Tidak ada Komentar

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *

This site uses Akismet to reduce spam. Learn how your comment data is processed.