Firebird3.0 の firebird.conf の記述 [Firebird]
この記事は Firebird Advent Calendar 2016 http://qiita.com/advent-calendar/2016/firebird 2日目のエントリーです
Firebird サーバーの設定については、 firebird.conf に記述するようになっていて
- 最初は全部コメントになっていて決まったデフォルト値が有効になっている
- 記述の仕方は firebird.conf にコメントとして記述されている
- Firebird3.0 では、データーベース(ファイル)毎に設定できる項目もできた
となっています。
Firebird 3.0 の Wireprotocol version 13 というバージョンに対応したデーターベースドライバー(クライアントライブラリ)を使えば、デフォルトの(全てコメント状態の) firebird.conf のままで使えますが firebird.conf の設定を適切にすれば、古いドライバーのクライアントアプリケーションから Firebird 3.0 のサーバーに接続することも可能です。
Firebird 3.0 は、以前のバージョンからパフォーマンスダウンにならないように慎重に開発されたようなので、サーバーリプレースの際には Firebird 3.0 にバージョンアップすることを考慮して良いと思います。
以下、古いデーターベースドライバー(アプリケーション)から Firebird3.0 に接続するための設定項目について解説します
[AuthServer]
認証方法。デフォルトでは、 Srp という、サーバーとクライアントが公開鍵を交換しあうことで秘密のセッションキーを取得するプロトコルで認証するようになっています古いクライアントから接続するためには、 Legacy_Auth を設定します
AuthServer = Srp, Legacy_Auth
と記述しておくと、サーバーはまず最初に Srp での認証を試み、クライアントが Srp認証に対応していないと Legacy_Auth で認証するようになります。
[UserManager]
ユーザー管理のデータベースにどの形式を使うかを指定します。
Firebird2.5 までの、セキュリティデーターベース(ログイン情報)をそのまま使う場合、
UserManager=Legacy_UserManager
と設定するようです。
Firebird3.0 のサーバーを新たに立てるなどした場合で、Firebird のデーターベースユーザーをその時新規に作るような場合は特に設定しないで良いと思います
(UserManager=Srp と同等になる)
- 新しいサーバーに Firebird 3.0 をインストールしユーザーを追加
- 古いサーバーから gbak でバックアップして新しいサーバーでリストア
の手順を踏めば UserManage の設定はしなくて良いはずです
[WireCrypt]
通信路を暗号化するかどうかデフォルトでは WireCrypt=Required となっていますが古いドライバーを使うアプリケーションの場合には
WireCrypt=Enable
もしくは
WireCrypt=Disable
とします。
WireCrypt=Enable は、通信経路の暗号化のネゴシエーションがうまくいけば暗号化し、ダメなら平文で通信します。
WireCrypt=Disable ならクライアントが通信経路を暗号化する機能を持っていても常に平文で通信します
[ServerMode]
Firebird2.1 まででは、Super Server と Classic Server が、 Firebird2.5 では、それに加えて SuperClassic というアーキテクチャーの
サーバーがそれぞれ別のバイナリとして提供されていましたが Firebird3.0 からはバイナリは一つになって、 firebird.conf の設定で切り替えるようになりました
Super/SuperClassic/Classic のいずれかを設定できるようです。
「あれ? 前にそうだったんで、 ClassicServer が使いたいんだけど、どこにいったの?」
というような場合に設定してください
ちなみに、古いドライバーだと firebird.conf に AuthServer, WireCrypt あたりを設定すると使えるようになりますが、Firebird 3.0 で実装された boolean 型のデータを select しようとすると(当然ならが)動作しないので、気をつけてください。
2014年の AdventCalendar に書いたエントリーも参考にしてください
http://nakagami.blog.so-net.ne.jp/2014-12-16
Firebird サーバーの設定については、 firebird.conf に記述するようになっていて
- 最初は全部コメントになっていて決まったデフォルト値が有効になっている
- 記述の仕方は firebird.conf にコメントとして記述されている
- Firebird3.0 では、データーベース(ファイル)毎に設定できる項目もできた
となっています。
Firebird 3.0 の Wireprotocol version 13 というバージョンに対応したデーターベースドライバー(クライアントライブラリ)を使えば、デフォルトの(全てコメント状態の) firebird.conf のままで使えますが firebird.conf の設定を適切にすれば、古いドライバーのクライアントアプリケーションから Firebird 3.0 のサーバーに接続することも可能です。
Firebird 3.0 は、以前のバージョンからパフォーマンスダウンにならないように慎重に開発されたようなので、サーバーリプレースの際には Firebird 3.0 にバージョンアップすることを考慮して良いと思います。
以下、古いデーターベースドライバー(アプリケーション)から Firebird3.0 に接続するための設定項目について解説します
[AuthServer]
認証方法。デフォルトでは、 Srp という、サーバーとクライアントが公開鍵を交換しあうことで秘密のセッションキーを取得するプロトコルで認証するようになっています古いクライアントから接続するためには、 Legacy_Auth を設定します
AuthServer = Srp, Legacy_Auth
と記述しておくと、サーバーはまず最初に Srp での認証を試み、クライアントが Srp認証に対応していないと Legacy_Auth で認証するようになります。
[UserManager]
ユーザー管理のデータベースにどの形式を使うかを指定します。
Firebird2.5 までの、セキュリティデーターベース(ログイン情報)をそのまま使う場合、
UserManager=Legacy_UserManager
と設定するようです。
Firebird3.0 のサーバーを新たに立てるなどした場合で、Firebird のデーターベースユーザーをその時新規に作るような場合は特に設定しないで良いと思います
(UserManager=Srp と同等になる)
- 新しいサーバーに Firebird 3.0 をインストールしユーザーを追加
- 古いサーバーから gbak でバックアップして新しいサーバーでリストア
の手順を踏めば UserManage の設定はしなくて良いはずです
[WireCrypt]
通信路を暗号化するかどうかデフォルトでは WireCrypt=Required となっていますが古いドライバーを使うアプリケーションの場合には
WireCrypt=Enable
もしくは
WireCrypt=Disable
とします。
WireCrypt=Enable は、通信経路の暗号化のネゴシエーションがうまくいけば暗号化し、ダメなら平文で通信します。
WireCrypt=Disable ならクライアントが通信経路を暗号化する機能を持っていても常に平文で通信します
[ServerMode]
Firebird2.1 まででは、Super Server と Classic Server が、 Firebird2.5 では、それに加えて SuperClassic というアーキテクチャーの
サーバーがそれぞれ別のバイナリとして提供されていましたが Firebird3.0 からはバイナリは一つになって、 firebird.conf の設定で切り替えるようになりました
Super/SuperClassic/Classic のいずれかを設定できるようです。
「あれ? 前にそうだったんで、 ClassicServer が使いたいんだけど、どこにいったの?」
というような場合に設定してください
ちなみに、古いドライバーだと firebird.conf に AuthServer, WireCrypt あたりを設定すると使えるようになりますが、Firebird 3.0 で実装された boolean 型のデータを select しようとすると(当然ならが)動作しないので、気をつけてください。
2014年の AdventCalendar に書いたエントリーも参考にしてください
http://nakagami.blog.so-net.ne.jp/2014-12-16
コメント 0
コメントの受付は締め切りました