2018年02月23日

AWS EC2 Amazon Linux + Firebird2.5.8 Classic(64bit)インストール手順(4)

PLINK.EXEを使用して、PuttyでのSSHポートフォワーディング(トンネリング)の接続を、バッチファイルで実行する。

手順(2)できめた、名前 AWS-EC2 を使用する場合
PLINK.EXEがある任意のフォルダで、
plink AWS-EC2 と、実行すると、パスフレーズを入力すると、接続されます。
plink1.png
plink を用いる際に、 PuTTY で接続情報をセッションとして保存すれば、そのセッション名を指定して
plink session-name
のようにすると、設定された接続情報で ssh できます。(参照記事)

バッチファイルで
echo off
plink user名@[エンドポイント.com] -i [秘密鍵名] -pw 接続パスワード -P ポート場号 -L 転送ポート場号:エンドポイント.com:転送ポート場号
のように、オプションを組み合わせて、実行する方法もあります。

Pageant でパスフレーズの入力を省く



テスト用に、コマンドプロンプトで、試すのが、いいかもれません。
p01.png
Options:
  -V        print version information and exit
  -pgpfp    print PGP key fingerprints and exit
  -v        show verbose messages
  -load sessname  Load settings from saved session
  -ssh -telnet -rlogin -raw
            force use of a particular protocol
  -P port   connect to specified port
  -l user   connect with specified username
  -batch    disable all interactive prompts
The following options only apply to SSH connections:
  -pw passw login with specified password
  -D [listen-IP:]listen-port
            Dynamic SOCKS-based port forwarding
  -L [listen-IP:]listen-port:host:port
            Forward local port to remote address
  -R [listen-IP:]listen-port:host:port
            Forward remote port to local address
  -X -x     enable / disable X11 forwarding
  -A -a     enable / disable agent forwarding
  -t -T     enable / disable pty allocation
  -1 -2     force use of particular protocol version
  -4 -6     force use of IPv4 or IPv6
  -C        enable compression
  -i key    private key file for authentication
  -noagent  disable use of Pageant
  -agent    enable use of Pageant
  -m file   read remote command(s) from file
  -s        remote command is an SSH subsystem (SSH-2 only)
  -N        don't start a shell/command (SSH-2 only)
  -nc host:port
            open tunnel in place of session (SSH-2 only)

オプション:
  -Vバージョン情報を表示して終了する
  -pgpfp PGPキーの指紋を印刷して終了する
  -v冗長なメッセージを表示する
  -load sessname保存されたセッションから設定をロードする
  -ssh -telnet -rlogin -raw
            特定のプロトコルを強制的に使用する
  指定されたポートに接続する-Pポート
  -lユーザーが指定したユーザー名で接続する
  -batchすべての対話型プロンプトを無効にする
次のオプションは、SSH接続にのみ適用されます。
  -pw指定したパスワードでpasswログインする
  -D [listen-IP:] listen-port
            ダイナミックSOCKSベースのポート転送
  -L [listen-IP:] listen-port:host:port
            ローカルポートをリモートアドレスに転送する
  -R [listen-IP:] listen-port:host:port
            リモートポートをローカルアドレスに転送する
  -X -x X11転送を有効または無効にする
  -Aエージェント転送を有効または無効にする
  -t -T pty割り当てを有効/無効にする
  -1 -2特定のプロトコルバージョンの強制使用
  -4 -6 IPv4またはIPv6の強制使用
  -Cは圧縮を可能にする
  -i認証のための主要な秘密鍵ファイル
  -noagentは、Pageantの使用を無効にします。
  -agentはPageantの使用を可能にする
  -m fileファイルからリモートコマンドを読み込みます。
  -sリモートコマンドはSSHサブシステム(SSH-2のみ)
  -Nシェル/コマンドを起動しない(SSH-2のみ)
  -nc host:port
            セッションの代わりにオープントンネル(SSH-2のみ)




posted by a23 at 09:17| Comment(0) | Firebird

2018年02月21日

AWS EC2 Amazon Linux + Firebird2.5.8 Classic(64bit)インストール手順(3)

Puttyによる、SSHポートフォワーディング(トンネリング)の接続後に、Windows10 の IBConsoleから、Firebird2.5.8 Classicserverに接続と操作の実行


1. sjisでテストしますので、ibc_ansi_rel98_win32_ja の IBConsole を起動します
(この時 gds32.dllのバージョンは、サーバーと合わせておいたほうが、いいかもしれません)
サーバ → サーバーの登録を選択
9.png
2. サーバの登録と接続で、リモートに、チェックして、
サーバ名を、127.0.0.1 (自分)とします。
エリアス名 / 説明 を任意に入力して、
ユーザ名 SYSDBA
パスワード masterkey を入力して OK  (インストール手順(2)で決めたFirebirdのパスワードです)
10.png

    要求されたサーバにログインできません
    11-err.png
    Unable to complete network request to host "127.0.0.1".
    Failed to establish a connection.
    ("127.0.0.1"をホストするネットワーク要求を完了できません。
    接続の確立に失敗しました)
    IB_ER01.png
    <このような、エラーの場合、AWS EC2インスタンスを再起動して、再度Puttyで、接続すると、接続OK となる場合もあるようです>
    029reboot.bmp

    <接続はされているが、Puttyによる、SSHポートフォワーディング(トンネリング)の設定が間違っている場合もあります、一度接続されれば、そう問題ないと思いますが、接続に失敗すると、嵌まるケースもあると思うので、ゆっくり行ってください>

3. Firebird2.5.8 に接続されたら、ファイル、エリアス、ユーザ名、パスワード、デフォルト文字コードセットを入力します。
手順(2)のisqlで作成した、データベースに接続します。
12.png
    要求されたサーバにログインできません
    となる場合は、データベースフォルダのアクセス権限が、出来ていません。
    13.png
    データベースアクセス用フォルダの権限の設定(isqlでの実行時は、必要のようです)
    sudo chown -R firebird.firebird /var/fdb258cs
    14.png
4.
031.png

5.

032.png

6.

033.png

7.
034.png

8. 動作確認をします、ここからは、ご自由に、ご自身で、テストしてください。
一例として、インタラクティブSQLで、テーブルを作成し、郵便番号CSVをダウンロードして、インポートして、データを表示します。

CREATE TABLE ZIP_1
(
FLD_A Char( 6),
FLD_B Char( 5),
FLD_C Char( 7),
FLD_D Char(10),
FLD_E Char(80),
FLD_F Char(80),
FLD_G Char(10),
FLD_H Char(50),
FLD_I Char(100),
FLD_J Char( 1),
FLD_K Char( 1),
FLD_L Char( 1),
FLD_M Char( 1),
FLD_N Char( 1),
FLD_O Char( 1) 
)
035.png
9. csvimp.exeで、郵便番号CSVをインポートしてみます
041.png
10. CSVインポートツールの起動
042.png
11. 項目の設定

サーバ名     127.0.0.1
データベース   /var/fdb258cs/T1SJIS.FDB
文字コードセット SJIS_0208
SQLダイアレクト 3
次へ
043.png
12. ユーザー名とパスワードを聞かれるので、Firebirdの SYSDBA masterkey でOK
044.png
13. 接続先のテーブルが表示されるようなります
045.png
14. テーブルを選択して、次へ
046.png
15. インポートするCSVファイルを指定します
047.png
16. 選択後、完了
048.png
17. インポート中
049.png
18. 完了
050.png
19. インタラクティブSQLで、 select * from zip_1 
文字化けなどが、ご確認下さい。
051.png

UTF8/unicode_fssは、ibc_unicode_rel62_win32_jaのIBConsoleで、実行してください。
utf8.png

csvimp.exeを使用する場合の注意
ansi版(sjijs_0208など)
unicode版(utf8 / unicode_fssなど)
実行ファイルがで同名なため、セットアップ時に、上記画面のように、名称を変えて、セットしておくと、便利かと思います。
UTF8/unicode_fssで、動作確認いたしました。



-----------------------------------------
行: 2 で読み込みエラーが発生しました。
-----------------------------------------
OK   
---------------------------
err2.png
csvimpとIBConsoleの文字コードセットが合致していない状態で、実行すると、が表示されエラーとなると思います。



posted by a23 at 19:40| Comment(0) | Firebird

AWS EC2 Amazon Linux + Firebird2.5.8 Classic(64bit)インストール手順(2)

Puttyによる、Windows10から、SSHポートフォワーディングの接続設定と接続後、Firebird2.5.8 Classicserver(64bit)のインストール(putty0.60日本語版)
ここでは
1.PUTTYGEN.EXE で、秘密鍵の作成とパスフレーズの設定
2.Putty.EXEで、ポートホォワーディングの接続設定と接続
3.接続後、Firebird2.5.8 Classic(64bit)のインストール後、isqlで、Create Database

を行います

手順(1)で、ダウンロードした、キーペアのファイル xxxx.pem を PUTTYGEN.EXE で、秘密鍵(xxxx.ppk)に変換します。

1. 読込 を押します。
1.png
2. ダウンロードした、キーペアのファイル xxxx.pem を指定します
2.png
3. デフォルトでは、拡張子が*.ppkになっていますので、全てのファイル(*.*)に変更して、指定します。
3.png
4. 外部の鍵のインポートに成功しました で OK を押します
4.png
5. 鍵のパスフレーズを入力して、秘密鍵の保存 を押します。
5.png

    016-passf.png 
鍵のパスフレーズを入力しないと、警告が表示されますが、パスフレーズが不要の場合は、下記表示で はい で進むことも可能です。

6. 秘密鍵 のファイル名を入力します
7.png
7. ファイル名を入力したら、保存します
8.png
8. xxxx.ppkができています
9.png

9. 秘密鍵の作成が終わりましたので、PUTTYGEN.EXE を終了します
6.png

10. Putty.EXEを起動します。
10.png
11. 設定していきます
ホスト名に、ec2-xx-xx-xx-xx.ap-northeast-x.compute.amazonaws.com に
ec2-user@ をつけて
ec2-user@ec2-xx-xx-xx-xx.ap-northeast-x.compute.amazonaws.com
を入力します

保存するために、セッション一覧に名前(任意)をつけておきます、ここでは、AWS-EC2
次に SSH
11.png
12. 認証で、 プライベートキーファイル(秘密鍵)を読み込みます、参照を押します
12.png
13. 先ほど作成した、xxxx.ppk ファイルを指定します
13.png
14. インストールのみでしたら、この状態で、接続してもOKですが、SSHトンネリングでの動作も確認するので、トンネルの設定ももここで行います。
14.png

トンネルの設定に移ります
2.png

3050
ec2-xx-xx-xx-xx.ap-northeast-x.compute.amazonaws.com:3050
(ec2-user@は不要です)
を入力して、追加 を押します
3.png


4.png


15. 再度セッションに戻って セッション一覧に名前(任意)をつけておきます、ここでは、AWS-EC2 として
 保存 して 開く を押します。
15.png
16. 下記文面が表示されます はい(Y) を押します
---------------------------
PuTTY セキュリティ警告
---------------------------
このサーバの鍵はレジストリにキャッシュされていません。
このサーバがあなたの期待するコンピューターである
という保証はありません。

このサーバのrsa2鍵の指紋は次の通りです:
ssh-rsa 2048 86:d1:98:e4:ad:64:e2:bb:80:30:09:2f:06:93:64:e5

このホストを信用するのであれば、「はい」を押して
PuTTYのキャッシュに鍵を追加し接続してください。

キャッシュには追加せずに一度だけ接続したいので
あれば、「いいえ」を押してください。

このホストを信用しないのであれば、「キャンセル」
を押して接続を破棄してください。

--------------------------------------------
はい(Y)   いいえ(N)   キャンセル   ヘルプ   
--------------------------------------------
16.png
17. 接続されて、 パスフレーズ を求められます。(5.で設定した鍵のパスフレーズを入力します)17.png
    パスフレーズを入力せずに、放置しておくと
    Server unexpectedly closed network connection
    (サーバーがネットワーク接続をクローズしました) となり接続できなります。
       020.png

18. ログインすると、EC2が表示れます
18.png

19. ここから、Firebird2.5.8 Classic(64bit)のインストール
不足ライブラリを、インストールします

sudo yum -y install libstdc++.so.5
sudo yum -y install libncurses.so.5
sudo yum -y install libstdc++.so.6
sudo yum -y install xinetd
19.png
20. ディレクトリを変えて、FirebirdCSをダウンロードします
20.png
21.
sudo tar zxvf FirebirdCS-2.5.8.27089-0.amd64.tar.gz
cd FirebirdCS-2.5.8.27089-0.amd64
21.png
22.
sudo ./install.sh
赤丸の部分で止まりますが、エンターキーで進みます
22.png
23. Firebird2.5.8にログインするための、パスワードを入力します
23.png
24. Install completed と表示され、インストール完了
24.png
25. データベースアクセス用フォルダの権限の設定、(fdb258csというフォルダを作成、名前は任意です)
sudo mkdir /var/fdb258cs
sudo chown -R firebird.firebird /var/fdb258cs
25.png
26. isqlの実行
cd /opt/firebird/bin
sudo ./isql -u sysdba -p masterkey

26.png
27. データベースを2種類作成
CREATE DATABASE '/var/fdb258cs/T1SJIS.FDB' page_size 8192  default character set sjis_0208;
CREATE DATABASE '/var/fdb258cs/T2UTF8.FDB' page_size 8192  default character set utf8;

27.png
28. データベースが作成されているか確認
ls  /var/fdb258cs
28.png
29. 再度データベースアクセス用フォルダの権限の設定(isqlでの実行時は、必要のようです)
sudo chown -R firebird.firebird /var/fdb258cs
29.png

使用するコマンド一覧
sudo yum -y install libstdc++.so.5
sudo yum -y install libncurses.so.5
sudo yum -y install libstdc++.so.6
sudo yum -y install xinetd

cd /usr/local/src

sudo tar zxvf FirebirdCS-2.5.8.27089-0.amd64.tar.gz
cd FirebirdCS-2.5.8.27089-0.amd64

sudo ./install.sh

sudo mkdir /var/fdb258cs
sudo chown -R firebird.firebird /var/fdb258cs

cd /opt/firebird/bin
sudo ./isql -u sysdba -p masterkey

CREATE DATABASE '/var/fdb258cs/T1SJIS.FDB' page_size 8192  default character set sjis_0208;
CREATE DATABASE '/var/fdb258cs/T2UTF8.FDB' page_size 8192  default character set utf8;

ls  /var/fdb258cs

sudo chown -R firebird.firebird /var/fdb258cs


posted by a23 at 19:22| Comment(0) | Firebird