2009-03-11

EdMax のデータを Outlook Express に移行する方法

EdMax のデータを Outlook Express に移行するには少々コツが要ります。

【概要】
 EdMax のメールデータは、本文テキストと添付で保存場所が分かれている。添付ファイルについては専用のフォルダに添付データがそのまま格納されている。
 これに対し、Outlook Express のメールデータはすべて .mdb という一つのデータベースに格納されており、個々のメールは .eml という形式のファイルで取り出すことができる。また、添付ファイルもこの .eml に一緒に保存されている。

 つまり、EdMax メールの本文と添付ファイルを一つにマージさせて、それを .eml 形式に変換する操作によって移行作業を行う。

【操作方法】
1. EdMax のメールを UNIX MBOX 形式でエクスポートします。
 移行対象のメールを選択した状態で、「ファイル」→「エクスポート」の順に選択するとエクスポート用のダイアログが開きますので、次のように指定します。ファイル名には適当なものを付けてください。



(重要)[形式]には「再構成して保存(添付ファイル付き)」を選択してください。これによって、添付ファイルが本文にマージされて書き出されます。

 .mbx という拡張子を付けて“保存”をクリックします。(上記の例では exportmail.mbxと指定する)。このファイルには、選択したすべてのメールが格納されています。

 メールの添付ファイルが大きすぎたり、指定したメールの総容量が大きすぎる場合(最大サイズは 200MB の模様)、エクスポートに失敗しますので、適度なところで区切りながらエクスポートすることをお勧めします。

2. メール変換ツールを使って .mbx 形式のファイルを .eml 形式に分割変換します。
ここでは MailExp というツールを使います。今回は以下のサイトで配布されているものを使用しました。

http://www2.lint.ne.jp/~lrc/in_mailutl.htm

使い方は、入力側に .mbx ファイル(変換前のエクスポート済ファイル)を指定し、出力側に出力先のフォルダとファイル形式を指定します。ファイル形式は .eml にしてください。
“変換+分割 開始”ボタンをクリックすると、メールが連番で分割されます。

3. 2. で分割された .eml ファイル群を、Outlook Express の適切な場所(受信フォルダ、送信済フォルダなど)にドラッグします。

この操作を行うと、.eml ファイルが Outloox Express に追加され、Outlook Express で読み取りできるようになります。

2009-01-27

FileMaker Pro 9 のアクセス権設定方法(2)

 さて、前回は FileMaker Pro 9 のデータベースのアクセス権設定方法について説明しましたが、今回はログインの認証設定とFileMaker Server 9 のセキュリティ設定について説明していくことにします。

認証方法を外部サーバーにする
1. この操作を行うには、FileMaker Server 9 をインストールしてデータベースを公開しておく必要があります。以下の青で囲った部分のように、クライアント認証には「FileMaker と外部サーバーアカウント」を選択します。

 また、画面下にある接続の保護の「FileMaker Server への接続を保護する」にチェックを付けると、FileMaker Server へのアクセスが SSL で保護されるようになります。

2. FileMaker Pro 9 のメニューより、「ファイル」→「管理」→「アカウントとアクセス権」の順に選択し、表示されるダイアログから、認証方法を変更したいアカウントをダブルクリックして、「アカウントの編集」ダイアログを表示させます。

 ここで[アカウントの認証方法]には「外部サーバー」を指定します。これによって、Active Directory (Mac OS 環境では Apple OpenDirectory) による認証を FileMaker Sever 9 経由で行います。今回の記事では ActiveDirectory 環境での認証方法について説明します。

3. [グループ名には] Active Directory に登録されているアカウントグループを指定します。たとえば、Administrator という Active Directory アカウントを使って FileMaker Server 認証を行いたい場合は、Administrator が所属するアカウントグループを指定します。
 以下の図は、Active Directory のグループ Domain Users が所属するアカウントについて、データ入力権限のみを与えるように設定したものです。

 この場合、Domain Users に所属する Active Directory のどのユーザアカウントでログインを行っても、FileMaker データベース側の操作はデータ入力のみとなります。"OK"ボタンを押してダイアログを終了させます。

4. 一度データベースファイルを閉じ、Domain Users に所属するアカウント名を使ってログインをしてみてください。パスワードは Active Directory のアカウントに設定されているものを使用します。
 データ入力のみが許可されているようになっていれば成功です。

2009-01-26

FileMaker Pro 9 のアクセス権設定方法(1)

FileMaker Pro 9 で開発したデータベースにアクセス権を設定することによって、データベースアクセスのセキュリティを向上させることができます。また、FileMaker Server 9 との併用によって、さらにセキュリティを向上させることができます。

基本的なアクセス権の設定方法
1. データベースを開いてから、FileMaker Pro のメニューより、「ファイル」→「管理」→「アカウントとアクセス権」の順に選択すると、「アカウントとアクセス権の管理」ダイアログが開きます。

 この図は、以前当ブログで紹介させていただいたFileMaker API for PHP を使ったアンケートフォーム作成で使用した Comment.fp7 のアクセス権を表示したものです。
 [ゲスト]、Admin、webuser という 3 つのアカウントが表示されています。そのうち、[ゲスト]および Admin は FileMaker Pro データベース作成時にデフォルトで用意されているアカウントです。
 ここでは新しいアカウント「input」を作成して、アクセス権を設定してみることにします。
 “作成”ボタンを押して、[アカウント名]の欄に input と入力し、[パスワード]に適当なパスワードを入力します。運用にあたっては、パスワードは長めで特定されにくい文字列と数値を混ぜたものを指定します。[アクセス権セット]に「データ入力のみ」を指定します。
 ここまで指定すると、ダイアログは以下の図のようになります。
 
 [アカウントの認証方法]には、次の 2 種類があります。
 「FileMaker」--- FileMaker Pro のデータベースに設定したアカウントを使って認証を行う。
 「外部サーバー」--- Active Directory(Windows ドメイン)や Apple OpenDirectory などのアカウントグループを使って認証を行う。
 外部サーバーによる認証方法については後ほど説明しますが、今はデフォルトの「FileMaker」を指定しておいてください。

“OK” ボタンを押してダイアログを閉じます。

2. 一度ファイルを閉じ、input アカウントでログインします。フィールド内容の編集やレコード作成、削除はできますが、レイアウトの編集やスクリプトの編集などはできません。

独自のアクセス権セットを作成してみる

ここまでが基礎的なアクセス権の設定方法ですが、今度はデフォルトで用意されている 3 つのアクセス権セット([完全アクセス]、[データ入力のみ]、[閲覧のみアクセス])とは別に、独自のアクセス権セットを作成して割り当てる方法について説明します。

1. 先ほどのように、「アカウントとアクセス権の管理」ダイアログを開き、input アカウントをダブルクリックして「アカウントの編集」ダイアログを開きます。ここの[アクセス権セット]の一覧の一番下に表示されている「新規アクセス権セット」を選択します。
 すると、次のようなダイアログが表示されますので、ここにデータベースへのアクセス条件を設定していきます。


2. 「アクセス権セット」には適当な名前を付けます(ここでは「編集用」という名前にします)。
仮にこのような入力条件を考えてみます。

1) レイアウトは照会することができるがデザインの編集はできない。
2) レコードへの入力はできるが、作成と削除はできない。
3) 値一覧は表示できるが、編集はできない。
4) スクリプトは実行できるが、編集はできない。
5) ファイルメーカー側のメニューコマンドは、編集絡みのものだけに限定する。
6) データの持ち出しを許可しない(データのエクスポートを禁止する)。
7) データの印刷を禁止する。
8) FileMaker Server 9 でこのデータベースを公開したときにはアクセスできるようにする。
9) そのほか、input ユーザにとって相応しくないアクセスはすべて禁止する。

これをざっと盛り込むと、設定は次のようになります。上記の条件が盛り込まれていることを画面を見ながら確認してみてください。
 注意: 2) のレコード条件については、作成と削除を禁じるための設定をさらに行う必要があるので追って説明します。とりあえずこの図では「すべてアクセスなし」という表示になっています。


3. さて、ここでレコードの扱いをさらに細かく設定します。2) ではレコード入力は許可するが、作成と削除は禁止するということですので、今「すべてアクセスなし」となっている設定を、条件一覧より「カスタムアクセス権」を選択します。すると「カスタムレコードアクセス権」というダイアログが表示されます。


 Comment というテーブルを選択すると、そのテーブルに対するアクセス条件を設定できるようになります。ここで上記の条件に沿った設定を行うと次の図のようになります。レコードの作成と削除に「なし」が設定されていることに注目してください。


4. “OK”ボタンをクリックしてダイアログを閉じ、この「編集用」アクセス権セットを input アカウントに割り当てて動作を確認してみてください。

2009-01-16

brother 複合機 MFC-820CN の設定方法(送受信環境となるマシンの移行方法)

 brother 複合機 MFC-820CN を通常の Fax, プリンタ、スキャナとして使うことはもちろんのこと、ネットワーク上のコンピュータに接続することによって、受信した FAX を当該コンピュータ上に保存できるため、ペーパーレス化を図ることができます。

 今回は、あるコンピュータに設定されている MFC-820CN ソフトウェア・ドライバ環境を別の環境に移行する方法について説明します。

 MFC-820CN に付属の CD では、今のところ対応 OS が Windows 98/98SE/Me/2000 Professional/Windows XP, Mac OS9.1~9.2/Mac X 10.24 以降とあるので、それ以外の環境に入れようとするとインストールチェックで弾かれてしまうようです。現に Windows Server 2003、Windows Server 2008 に入れようとしたら見事弾かれてしまいました。
 というわけで、今回は Hyper-V のゲストOS となっている Windows Server 2000 に入れることにしました。

 手順は次のとおりです。

1. brother MFC-820CN に Ethernet ケーブルを接続し、LAN に参加させ、接続対象のコンピュータも LAN に参加させておく。
2. 付属の CD-ROM を使ってドライバとユーティリティソフトウェアをすべてインストールする。インストール時の接続オプションとして、「有線LAN接続」を選択してインストールを続行する。
3. すべてうまくインストールできたら、「スタート」→「プログラム」→「brother」→「MFC-820CN」→「リモートセットアップ」→「MFC-820CN」の順に選択。MFC-820CN 本体の現在の設定内容がダウンロードされてくるので、それを参考に設定を修正する。
 特に修正が必要なのは、MFC-820CN 本体に割り振る IP アドレスと、受信した Fax の扱いとなる。
 受信した Fax を印刷せずにファイルとしてコンピュータに保存する場合は、以下のように設定する。



 この後“OK”をクリックすると、設定内容が MFC-820CN にアップロードされる。

4. 「スタート」→「プログラム」→「brother」→「MFC-820CN」→「PC-FAX 受信」→「MFC-820CN LAN」の順に選択し、Fax 受信プログラムをタスクトレイに常駐させる。Fax が受信されるとこのアイコンが緑色から青色に変化し、受信された Fax は Presto! FileManager を使うことによって照会できる。

Presto! FileManager のデータファイルの移行方法
以前の環境の Presto! FileManager のデータ情報を新しい環境に移行するには、My Documents\My PageManager 配下のファイル群を新しい環境の同じ場所にコピーします。

Hyper-VゲストOSからUSB/eSATA対応外部ディスクを使う

 以下のページによると、バーチャルマシンは USB をサポートしないとあります。

次世代仮想化プラットフォーム「Hyper-V」研究
http://www.windows-world.jp/news/-/102390-2.html

Virtual Server 2005 R2以前、バーチャルマシンは非常にレガシーなハードウェアをエミュレートするものであった。エミュレートされるチップセット「Intel 440BX」は1998年の登場で、最大1GBのメモリに対応し、初めてACPI(Advanced Configuration and Power Interface)の電源機能とUSB(Universal Serial Bus)を実装したことで有名だ(バーチャルマシンはUSBをサポートしない)。


確かに今の設定では Hyper-V ゲスト OS 環境では USB が認識されない模様ですが、もっと確実な情報が収集できたところで、こちらの記事に情報を追加していきます。

2010/01/12更新
USB 接続された HDD をパススルーディスクと認識させるのは依然として無理なようですが、その代りに仮想ハードディスクを作成し、それを追加ドライブとして Hyper-V のゲスト OS に認識させることは可能ですので、ここにその方法を記述します。

1. ゲスト OS が起動中の場合は終了させます。外付け HDD はホスト OS からアクセス可能な状態にしておきます。
 Hyper-V マネージャの当該ゲスト OS の設定画面(ここでは Windows Server 2003)を開き、図のように新規の IDE コントローラにハードドライブを追加します。


 追加したハードドライブに仮想ハードディスクを割り当てます。“新規”ボタンを押すと、仮想ハードディスク作成ウィザードが表示されますので、指示に従って外付け HDD に仮想ハードディスク領域を割り当てます。

 “適用”ボタンを押し、変更を反映させます。

2. ゲスト OS を起動します。起動直後は、上記で追加した仮想ハードディスクは認識されない状態ですので、管理ツールから「コンピュータの管理」を起動し、「記憶域」配下の「ディスクの管理」を選択すると、以下のようにウィザードが表示されます。

 このウィザードは、追加された仮想ハードディスクをゲスト OS に認識させるためのディスク変換を行うためのものですので、指示に従ってディスク変換を行います。

3. ディスク変換直後はボリュームにドライブ名が付いていない状態ですので、変換したディスクを右クリックして、ボリュームドライブの割り当てとディスクフォーマットを行います。
 ドライブ割り当てとフォーマットが終了すると、以下のようになります。


 エクスプローラーで確認すると、この仮想ハードディスクが E: ドライブとして認識されていることがわかります。


 eSATA 接続された HDD についても、同様の方法で仮想ハードディスクを追加ドライブとして設定することができます。

(2010/04/27追記)
 同一の HDD に複数の vhd を事前に作成しておき、複数のゲスト OS に割り当てて認識させることも可能です。

2009-01-15

データベースの正規化

データベースの正規化、テーブル設計、ということはデータベース・アプリを開発したことがある者なら、一度はやったことがある筈。 まして、これを職業にしているならなおさら。

しかしいざ「正規化のやりかたを説明してみて」と問われると、ほとんどの開発者は困惑してしまうと思う。 文献や参考サイトをあたってみても、帯に短し襷に長し、である。
Wikipediaの正規化のページを見てると、

  • 第2正規形---あるリレーションが、第1正規形で、かつ、すべての非キー属性が、すべての候補キーに対して完全従属するとき、第2正規形 (second normal form; 2NF) であるという。つまり、第2正規形では、候補キーの一部に関数従属する非キー属性があってはならない。
とか書いてある。 これって日本語?

小社ではFileMaker というデータベース開発アプリケーションの講習を、主として初心者向けに時たま行っているが、正規化の話は避け、「同じ性質のデータをまとめて一つのテーブルにいれ、なるべく重複登録が起きないようにします」みたいに説明してきた。 「第一正規化とは…」とかやりだすと、受講生もこんがらがるし、こちらもこんがらがる。  しかし、「こんなことではいけない!」と改心し、モチベーションの高い受講者向けに正規化をできる限り噛み砕いて説明するため資料を作成してみた。 前述のWikipediaのような厳格な正規化の定義とはほど遠いが、実務上、なにかしかの役には立つのではなかろうか。
興味のある方→ こちら(PDF)こちら(Word)

以上

追記
上記の「同じ性質のデータをまとめて一つのテーブルにいれ、なるべく重複登録が起きないように」テーブルは設計する、というのはいい得て妙、だと思うんですが。


土屋

2009-01-13

セカンダリ DNS サーバを設定する

 弊社では内向き(LAN内からの参照用)と外向き(WANからの参照用)の二台の DNS サーバを運用していますが、今回外向き用 DNS サーバに対するセカンダリサーバを設置してみることにしました。

 今回使用したのは Windows Server 2008 の DNS サービスです。既存の DNS サーバは どちらもWindows Server 2000 Advanced で運用しています。

 今回成功したセカンダリ DNS サーバの設定方法は次のとおりです。
 
1. サーバーマネージャの役割から DNS サービスを追加します。
2. プライマリ DNS サーバ(外向き用)の localhost.dns および 0.0.127.in-addr.arpa.dns 以外のゾーンファイルを新しいサーバ側のゾーンファイルディレクトリにコピーします。
(ゾーンファイルは Windows Server 2000 は \WinNT\System32\dns 配下、Windows Server 2008 は /Windows/System32/dns 配下にあります。)
3. セカンダリ DNS サーバ側のゾーン追加で localhost をプライマリとして一旦登録します。
前方参照ゾーンを右クリックすると表示されるサブメニューから、「新しいゾーン...」を選択すると「新しいゾーンウィザード」が表示されますので、ここより[プライマリゾーン]を選択します。



 “次へ”をクリックして、「localhost」と入力します。これはセカンダリ DNS サーバ自身の参照を指します。



localhost のゾーンファイルを自動作成します。


“次へ”をクリックして、localhost ゾーン設定を一旦終了します。

4. 現在は localhost ゾーンはプライマリ DNS として動作するようになっているため、これをセカンダリ DNS に変更します。
localhost ゾーンを右クリックしてプロパティを開き、「全般タブ」のプライマリゾーンを以下のようにセカンダリに変更します。



次に、図のように参照先のマスタサーバ(プライマリDNSサーバ)のIP アドレスを指定します。

4. 残りのゾーンについても、一旦プライマリとして登録するという要領は localhost と同じですが、ゾーンファイルはすでにプライマリ DNS からコピーしてきたものがあるので、それを採用します。



この後にlocalhost ゾーンと同じように、セカンダリゾーンへの設定変更を行います。これと同じ操作を、前方参照ゾーン、逆引きゾーンの両方に対して行います。

ここまでがセカンダリ DNS のゾーン設定となります。

5. 次に、プライマリ DNS のゾーン転送設定を行います。これは、プライマリ DNS 側で DNS レコードの更新があった場合に、セカンダリ DNS 側にも通知を行ってゾーンの同期を行うためのものです。

 プライマリ DNS 側(今回は Windows Server 2000 Advanced)のゾーンを右クリックしてプロパティを開き、「ゾーンの転送」タブより、ゾーン転送を許可するサーバとして、今回新設した DNS サーバの IP アドレスを登録します。



 これと同じ操作を、前方参照ゾーン、逆引きゾーンの両方に対して行います。

6. 最後にゾーン転送の確認を行います。
新設したセカンダリ DNS サーバ(Windows Server 2008)側でゾーンの右クリックで表示されるサブメニューより、「マスタから転送」を選択すると、プライマリDNS からゾーン内容が転送されます。ゾーン転送が成功したかどうかは、イベントマネージャで確認できます。




補足:
メールサーバーを立てている場合は、逆引き設定をお忘れなく。これを忘れてしまうと、メール送信先のサーバで逆引きチェックが設定されている場合、送信したメールが弾かれてしまい、届かなくなってしまいます。

2009-01-07

『FlexMy売管』を作るぞ! (3) --- FileMaker から MySQLに接続できない!?


【FileMaker/MySQL関連の追加情報】
『売上猫くん on MySQL』開発日記の記事一覧
FileMaker/MySQL関連の記事が増えてきたので、目次にしました。(2012/06/25追記)

AccessとFileMakerの実行速度比較テスト記事とその動画 (2011/11/17追記)

FileMaker Pro 10/11、MySQL 5.1、ODBC 5.1.6~によるフリーウェア『売上猫くん on MySQL 5.0β』をリリースしました。ダウンロードは→こちら。 (2011/01/27追記)



前回、MySQL でデータベースとテーブルを一つ作成したので、FileMaker から接続できるか、試してみることにする。

1. 事前準備
FileMaker は MySQL には ODBC 経由で接続するので、まず、MySQLのODBCドライバ 3.51をインストール、さらにシステムDSNとして登録した。 接続テストを実行すると、「Success; connection was made!」と表示されるので、ここまでは問題ない。

2. FileMaker Pro 9 で接続できない!?いざFileMaker Pro 9を起動してテスト用ファイルを作成。[ファイル]メニュー→[管理]→[外部データソース...]を選択し、上記で作成したDSNを指定。

さらに、[ファイル]メニュー→[管理]→[データベース...]→[リレーションシップ]タグを選択し、ウィンドウ左下にある“+”ボタンをクリックしてMySQLのテーブルを選択、“OK”すると、

「必要なテーブルが見つからないため、この操作は実行できません。」

とメッセージが表示されてしまう。 そんなこと言っても、FileMaker はテーブルとして認識してるやん?
この後、いろいろやってみたが、どうも FileMaker Pro 9 は、MySQLのテーブル、コラムに日本語が使用されていると、そのテーブルは使用できないらしい。 SQL-Server は日本語使っても全然問題ないのに…
試しに、日本語を英語に変更してみると、ちゃんと使用できる。

ただ、今回はSQL-Server ベースの『FlexSql売管』をできる限り手間をかけずMySQL に移植する(テーブルさえ全部作ってDSNを入れ替えれば、『FlexMy売管』があっという間にできるだろう)ということを前提としていたので、いまさらコラム名(フィールド名)を変更する気力は、、、、無い、 全然。
ということで、FileMaker Pro 10 のリリースをまって、再度試してみる(かも)。

【メモ】
  • 実は、MySQLコマンドでもデータベース、テーブル、コラムに日本語を使用していると、文字化けする。My.iniをいじったり、コマンドプロンプトの環境をUTF8にしたりしてみたが、問題は解消せず。ただ、MySQL Administrator だけは、データベース構造に日本語を使用しても問題なく認識してくれる。
  • ODBC5.1を使用してDSNを作成しても駄目。
  • FileMaker Pro 10 プレリリース版を使用してもやっぱり駄目。
新情報
FileMaker社は公式にサポートを言っていないが、MySQL ODBC 5.1 だと、日本語OK。 昨年の3月位から某案件で使用し始め、今のところ大きなトラブルは無し。 この某案件については、時間があれば書きたいな、っとこちら
(2010/2/5追記)
(2010/2/19追記修正)
(2010/3/25ODBC5.1の部分を打ち消す)

2008-12-19

『FlexMy売管』を作るぞ! (2) --- MySQL データベースを作ってみる

(FileMaker Pro 10/11、MySQL 5.1、ODBC 5.1.6 の環境であれば、→ここ(開発日記) とか ここ(日記番外) の方が参考になるかも。 2010/10/21追記 )

1. 取り合えず、リモートのMySQL Administrator で接続していみる

大分前にインストールしたMySQLの管理ツール MySQL Administrator と、今回インストールした MySQL 5.1 は異なるサーバ上にあるが、MySQL Administrator を起動して MySQL 5.1 に管理者権限でアクセスしようとすると、以下のエラーが出る。


    Could not connect to the specified instance.
    MySQL Error 1045.


MySQL 側に移動して、grant all priviledges on *.* to untara@"%" identified by "kantara" を実行し、ここで指定したユーザ名とパスワードとにより、リモートの MySQL Admin からアクセスできるようになる。 




2. Migrationツールはスキップ

MS SQL-Serverで作成した『FlexSql売管』のデータベースがあるので、本当ならこれを MySQL Migration Toolkit という奴で MySQLのデータベースに変換(マイグレーション)できるといいのだが、以前失敗してるので、今回はやめておく。



3. SQL-ServerでCreate文を生成し、MySQLでそのCreate文ファイル実行

まずは、create database flexmy うんたらとやって、データベースを作成。 

次に各テーブルは『FlexSql売管』の SQL-Server のデータベースから create table 文を生成して、MySQL側で実行しようと画策。 SQL-Server Management Studio Express を起動し、取引先テーブルを指定してcreate 文を作ると、こんな感じになる。

USE [neko]  //『FlexSql売管』のデータベース名
GO
/****** オブジェクト: Table [dbo].[取引先] スクリプト日付: 01/07/2009 13:35:41 ******/
SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOSET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[取引先](
  [〒] [varchar](8) COLLATE Japanese_CI_AS NULL,
  [Fax] [varchar](50) COLLATE Japanese_CI_AS NULL,
  [Tel] [varchar](50) COLLATE Japanese_CI_AS NULL,
 ~~~~~~~~~~ 中略 ~~~~~~~~~~
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF


この文章をtorihikisaki.sqlとして保存し、プロンプトの画面で、

  $ mysql flexmy < torihikisaki.sql

を実行するも、SQL-Serverの吐いたSQL文をそのまま実行できるはずも無く、紆余曲折の末、以下のように変更して上記コマンドを実行すると旨く行った。

CREATE TABLE 取引先(
  〒 varchar(8) NULL,
  Fax varchar(50) NULL,
  Tel varchar(50) NULL,
  ~~~~~~~~~~ 中略 ~~~~~~~~~~
PRIMARY KEY (id) );

以上でSQL-Serverのテーブル等は比較的簡単にMySQLに移植できそうなことが解かった。ところがこの後に思わぬ悲劇が待っていた。

以上

2008-12-17

Wi-Fi Skypeフォンは時期尚早

Wi-Fi Skypeフォン: PC無し、単体でSkypeが実行できるWi-Fi 対応の携帯電話機

どのメーカーもやる気がないようで、後継版も無く発売停止になるか、評判は概して芳しくない。

・Logitec Skype専用 無線LAN携帯 --- 悪評有、2008年以降ファームのアップ無、でも販売継続中
・Belkin Skype 専用 Wi-Fi® フォン --- 速攻で発売終了、後継機無し
・Buffalo WSKP2-G/BK --- 速攻で発売終了、後継機無し
・Panasonic KX-WP800 --- 比較的評判良し、2008年発売、高い、市場モニタ製品? 松下はやる気あんの?

Wi-Fiじゃ無く有線
Webt@lker5000 --- よさげ

2008-12-09

【SonicWALL障害メモ】 IKE Responder: IPSec proposal does not match (Phase 2)

朝、メーラーを起動してみると、SonicWALL の警告の山。


IKE Responder: IPSec proposal does not match (Phase 2) -  221.189.***.***, ***.****.ne.jp -  219.163.***.**** -  192.168.0.66/32 -> 192.168.0.0/24
IKE Responder: No match for proposed remote network address - 221.189.***.***, ***.****.ne.jp - 219.163.***.*** - 192.168.0.66/32なに、これ? 大体、66なんてアドレスは無いし…


こんなのが1時間に何通も届く。 2ヶ月位前にも同様の現象で、同じ警告メッセージが一杯届いているので、なんとか解決したような気がするけど、思い出せない。 年には勝てないので、ちゃんとメモしよう。

参考サイト
Stange errors on TZ170 with unknown LAN subnet
RE: Problem: Site-to-Site VPN ISA2004 and Sonicwall


◇現象解消 --- 08/12/19追記
あっさり解消した。 ネットワークはSite-to-Siteで、

  こっちのTZ180(小社) ⇔ あっちのTZ180(客先)

となってて、「こっちのTZ-180」から上記のエラーログが送られてきてたので、こっちに障害があると思い込んだのがそもそも大間違い。 ただ、「あっちの」は客先の奴なので、滅多にいじることも無いわけで、原因となるのは「こっちの」だろうと、例によって思い込んだ。

結論としては、犯人は Panda MOP。 12月初め位からPandaが「アップデートしたのでPC(サーバを含む)を再起動しろ」とメッセージを表示していたが、うちは兎も角、客先のサーバをそう簡単に再起動できるわけもなくしばし放置。結局、この Panda のアップデートがSonicのエラーメッセージの原因だった。 12月某日12時(昼休)、客先に出向き2台のサーバを再起動。 12:00以降、あの警告メールがピッタリとまった。

クッソォ~、おぼえてろよぉ~、 パンダぁ! ヽ(`Д´)ノ ウワァァァン


◇メモ見つかる --- 08/12/19追記
上に「2ヶ月位前にも同様の現象で」と書いたが、メモが見つかった。それも堂々とテスクトップに置いてあった。 以下、そのメモ。

VPNの設定/詳細設定がこちらとあちらで全く同じことを確認する
  • 0.254と1.252のSAをOFFにし、エラー継続を確認(0.1と1.253と競合していないことを確認)
  • 0.1と1.253で、SonicOS Standard 3.8.0.3-36s.jpn の一致を確認
  • 0.1と1.253で、MTUの一致確認

ネットワーク>ルーティング の誤ったルート設定が原因か? 削除したらエラー解消の模様(08/9/17)


◇今回12月のエラーログ発生時のメモ-- 08/12/19追記
12/13、170/180の2台と客先の180×2台が通信するときに、上記のエラーログを多数受信(但し、客先2台からはこのエラーログを受信していない) 。 亀がNPTの設定を弄ったとうので、4台のNTP設定を一致させるが、現象解消せず。


◇さらに-- 08/12/19追記
上記の英語サイトにもあるように、このエラーはさまざまな要因で起こるようで、発生前後で何か特別な事象が発生していないか、冷静に思い出すことが重要。


(終)

2008-12-08

『FlexMy売管』を作るぞ! (1) --- MySQL 5.1 のインストールでコケる

(FileMaker Pro 10/11、MySQL 5.1、ODBC 5.1.6 の環境であれば、→ここ(開発日記) とか ここ(日記番外) の方が参考になるかも。 2010/10/21追記 )

FileMaker Pro と MS SQL-Server を使用した外注・加工業向け売上・原価管理システム --- 『FlexSql売管』 をリリースしたのは2008年3月。  これを MySQL に移植しようというかねての計画を実行することにする。
まずは MySQL 5.1 (Windows x64版)をダウンロードしてきて、Dell Power Edge T105 (Windows Server 2008 x64)のEドライブにインストール→普通に成功。 ところが、「それは(Eドライブ)は Hyper-V 用のボリュームだから使わないで下さい! ヽ(`Д´)ノ」と怒られたので、仕方なく一旦抜いて他のドライブに再インストールすることに。 ところが、MySQL Server Instance Config Wizard の最後のところで、

   Error Nr. 2003 : Can't connect to MySQL server on 'localhost' (10061)

とか出てくれる。 あぁ、やっぱりインスコで躓いた。 いろいろググってウン時間も費やしたところで、「C:\mysql を削除せよ 」という神の啓示を発見。 レジストリ内の「MySQL」を検索して、かかってきた登録を取捨選択して削除した後に、アンインストールして C:\mysql を手動により削除、さらに再インストール…  あっさり成功、 ありがとう神様。


参考サイト
インストール --- DBOnline

 

Windows 2003 に FileMaker Web Server Connector をインストールする...が失敗

Windows Server 2003 に Web Server Connector をインストールしようとしたら、こんなメッセージが出たことはないでしょうか?



A SCRIPTS virtual directory was not found. You must configure a SCRIPTS virtual directory before FileMaker WSC 5 - IIS can be installed.

FileMaker Unlimited 5.5 に付属の Web Server Connector は Windows Server 2003 での動作保証をしていなのですが、手動設定を取り入れながら FileMaker Web Server Connector をインストールしてみることにしました。試行錯誤の結果、やはり動作はしないようだ、という結論には達したのですが、もし今までに Windows 2003 に Web Server Connector をインストールした成功例があるいう方がいらっしゃったら、助言いただけると非常にありがたいです。

今回試してみた Windows Server 2003 環境への FileMaker Web Server Connector インストールは次のとおりです。

1. IIS 6.0 をインストール。
コントロールパネルの「アプリケーションの追加と削除」より、「Windows コンポーネントの追加と削除」を選択し、表示されるコンポーネントの中からインターネットインフォメーションサービス(IIS)をインストールします。

2. FileMaker Pro 5.5 Unlimited をインストール。
3. IIS 管理ウィンドウを開き、「規定のWebサイト」を選択して、右ペインに scripts という名前の仮想ディレクトリを作成。実行アクセス許可は、下図のように、「スクリプトおよび実行可能ファイル」にしておく。

4. レジストリ値を追加。
Windows Server 2003 のデスクトップに戻り、「スタート」→ 「ファイル名を指定して実行」の順に選択し、regedit と入力してレジストリエディタを起動する。

下図のように、\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W3SVC\Parameters に Virtual Roots というキー値を追加し、そこに文字列値 /Scripts を新規追加する。値のデータは、c:\inetpub\scripts,,204 とする(この値は WSC で運用中の Windows 2000 Server 環境のレジストリ値を参照)。



5. FileMaker Web Server Connector をインストールする。
インストールが終わるとマシンを再起動するようメッセージが表示されるので、マシンを再起動する。

この時点で、以下のメッセージが表示される。



というわけで、手動で IIS フィルタを設定する必要があるということで、いろいろ探し回ったのですがとうとう解決策が見つかりませんでした。

2008-12-03

Hyper-V にゲスト OS をインストール(覚え書き)

Windows Server 2008 の便利な機能の一つに Hyper-V があります。
これは、仮想的にディスクを用意することによって、別の OS を同居させて運用するというものです。

たとえば、Windows Server 2008 上で Windows Server 2000、Windows XP、Linux などを運用できます。

詳細は以下のサイトを参照していただくとして、ここではゲスト OS のインストールのヒントを簡単にまとめたいと思います。

第14回 Windows OSに標準搭載された仮想化機能「Hyper-V」

●仮想ハードディスクについて

仮想ハードディスク(VHDファイル)形式 -- ディスクドライブの領域をゲスト OS 用に確保して使用。スナップショットを撮ることができ、必要に応じてスナップショットを撮った時点の状態に復旧することが可能。

パス・スルー形式 --- ディスクドライブを丸ごと使用。動作速度は VHD 形式に比べると高速だが、スナップショットを撮ることができないので要注意。

●ゲスト OS として Windows 2003 をインストールするときの注意点
Windows 2003 は SP2 以降でないとインストール中にブルースクリーンが表示されてしまうので注意が必要。

ゲスト OS をインストールする際は、以下のページを参考にするとよいでしょう。

Hyper-V におけるゲスト オペレーティング システムのサポート

2008-11-28

Windows 2008 で FileMaker Server 9 の Instant Web Publishing は動作しない模様...

さて、先日 Windows Server 2008 環境に FileMaker Server 9 Advanced を入れてからというもの、ぼちぼち動作を検証していますが、いろいろ試した結果、 Instant Web Publishing はどうやら動作しない模様です。

FMForums の方でも「恐らく動かないだろう」と言っている人がいるように、動く機能があるかもしれないし、動作的に微妙なものもあるだろうという感じなのでしょうか。
とにかく Instant Web Publishing の方は当方の調査では無理、という結論に達しました。

参考:
[Windows] FMSA9,0 on Windows Server 8
Windows Server 2008 上で FileMaker Pro Server 9 は動作するか?

あと、FileMaker Server 9 のアップデータが出ていたので、以下のページより V2 をダウンロードしてインストールしようとしたのですが、Windows Server 2008 環境でこの Setup.exe を実行させるとエラーメッセージが出てしまい、続行できませんでした。

FileMaker Server 9v2 & FileMaker Server 9v2 Advanced Windows 版 アップデータ




やはり、対応を謳っていない環境でのインストールは無理、ということなのかもしれませんが、この件については引き続き調査中です。

2008-11-25

64 ビット版 Windows Server 2008 の IIS7 で php が動くようにする

64 ビット版の Windows Server 2008 に 32 ビット版のみ提供されている php5 をインストールするのには、ちょっとコツがいることがわかりました。

従来の方法ではまず動かない

従来どおりにインストールを行い、phpinfo() を表示させようとすると、エラー 503 が表示されました。ISAPI フィルタもハンドラマッピングも php 向けに指定したにもかかわらずエラーが表示されるので、ネットで調べてみると、DefaultApplicationPool の「32ビットアプリケーションの有効化」を[True]にすると良いとあったので、True にしてみたところ、程なくして DefaultApplicationPool が停止してしまいました。

そのときに報告されたものがこのイベントエラーです。

イベントID:2280
モジュール DLL C:\Windows\system32\RpcProxy\RpcProxy.dll を読み込めませんでした。このデータはエラーです。

暫く試行錯誤を繰り返していたのですが、この環境では ISAPI フィルタによる設定は無理そうだということがわかってきたので、途中で FastCGI を使う方法に切り替えました。

FastCGI で PHP を動かす
IIS 7 のインストールオプションで、CGI を選択して IIS7 をインストールすることによって、php-cgi.exe を呼び出して実行させることが可能です。

手順を説明します。
1. php5 の最新版をダウンロードして、適当なところに配置する(例:c:\php)。
php5 はここからダウンロードできます。
2. php.ini-recommended ファイルをコピーして php.ini というファイルに名称変更し、これをメモ帳などで開いて次に該当する行を修正して保存する。
(先頭のセミコロンを外して修正。該当するものがない場合は行を追加。)

fastcgi.impersonate = 1
cgi.fix_pathinfo=1
cgi.force_redirect = 0
open_basedir ="c:\inetpub\wwwroot"
extension_dir = "./ext"

3. コントロールパネルより「システム」をダブルクリックして、左ペインのメニューから「システムの詳細設定」をクリック。“環境変数”ボタンをクリックして システム環境変数の一覧に表示される path 変数に php へのパスを追加。
(c:\php; を追加すれば良いです。)

4. インターネット インフォメーション サービス(IIS) マネージャーを開き、ハンドラマッピングから「モジュールマップの追加」を選択し、以下の情報を追加。

要求パス:*.php
モジュール: FastCgiModule
実行可能ファイル(オプション): C:\php\php-cgi.exe
名前:PHP

OK を押して保存します。

5. IIS を再起動して、php テストページを表示させる。
以下のファイルを作って phpinfo(); を入れた php ファイルを作成してブラウザで表示確認。

php の情報ページが表示されれば成功です。

今回は以下のサイトを参考にしました。
Using FastCGI to Host PHP Applications on IIS 7.0

2008-11-21

Windows Server 2008 の認証でつまずく

Windows Server 2008 を導入してから Windows ライセンス認証をするのを忘れていたのですが、残りが 31 日となっていたので、今のうちにライセンス認証をしておくことにしました。

ところが、認証手続きをしようとすると、次のようなエラーが発生。



ネットワークカードの TCP/IP 設定にも DNS サーバの IP アドレスがきちんと設定されていたため、ネット検索で以下の情報を見つけました。

Windows Vista のライセンス認証の手続きを行うとエラー メッセージ "エラーが発生しました" が表示される

要は、「プロダクトキーの変更」を選択して、プロダクトキーを入力することによって解決するということのようです。
プロダクトキーを入力しなおさなければならないのは、不正ユーザ対策のようですが、気づかないとこれで時間を取られてしまうので(私を含め)、ちょっと人騒がせな仕様だと思いました。

2008-11-20

Windows Server 2008 上で FileMaker Pro Server 9 は動作するか?

FileMaker社はこの構成をサポートしていないし、する予定もないらしい。

実際はどうなのか? 「Windows server 2008」「FileMaker Pro Server 9」をキーワードにググってみると、案の定、日本語ではほとんど情報がない。 やっぱり頼りになるのは英語サイト。


http://www.fmforums.com/forum/showtopic.php?tid/195407/



とりあえず動くらしい(「動かん」という人もいる)ということで、小社でもインストール。
どうやら動く。 上のサイトによると、動いているところでは、半年以上、問題なく動いているらしい。

とうことで、FileMaker社の保証はないけど、FileMaker Pro 5.5 に加え、FileMaker Pro Server 9 も Windows Server 2008 で動く(こともある)。

注:ファイアウォールでポート5003を開けるのを忘れずに。

2008-11-17

【Windows障害メモ】サーバの時刻が狂う

 ドメインコントローラのイベントビューアで NTP サーバのエラーが出ていました。
 イベント ID 11 NTP サーバー から応答がありませんでした

 NTP サーバの同期ミスということで、以下のコマンドを打って調べてみることにしました。

 NET TIME /querysntp

 結果は「このコンピュータは現在、特定の SNTP サーバーを使用するよう構成されていません。」だったため、外部の NTP サーバを登録して同期させることにしました。
 以下のサイトより、米国 NASA および東京大学の NTP サーバを指定してみました。

NTP サーバ一覧

 以下のコマンドで NTP サーバを指定することができます。この例では NASA の NTP サーバを指定しています。

 NET TIME /SETSNTP:198.123.30.132

 また、NTP サーバを複数指定したい時は、以下のように列記した NTP サーバ名(またはIPアドレス)を二重引用符で囲みます。この例では NASA の NTP サーバと東京大学の NTP サーバを一緒に指定しています。

 NET TIME /SETSNTP:"198.123.30.132 130.69.251.23"
 
 同期は 8 時間ごとに行われるということですが、レジストリキー HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters の Period 値を修正することで、同期の頻度を変更できます。


0 = 毎日 1 回。
65535, "BiDaily" = 2 日に 1 回。

65534, "Tridaily" = 3 日に 1 回。

65533, "Weekly" = 毎週 (7 日に) 1 回。

65532, "SpecialSkew" = 3 回正常に同期されるまでの間、45 分ごとに 1 回。その後、8 時間ごとに 1 回 (1 日に 3 回)。[デフォルト]

65531, "DailySpecialSkew" = 1 回正常に同期されるまでの間、45 分ごとに 1 回。その後、毎日 1 回。

freq= 1 日に freq 回同期する。


一応は NTP サーバーを設定して同期することは確認できましたが、例のイベント ID がまた出ていたので、ひょっとすると二つ指定したどちらかの NTP サーバとの同期に失敗したのかもしれません。

参考ページ:
W32Time サービスのレジストリ エントリ

【Windows障害メモ】 リモートディスクにアクセスできない

◇現象
アクセスできていたリモートディスクに、いつのまにかアクセスできなくなる
(NICを交換が原因か?)

発生イベント
イベントの種類: 警告
イベント ソース: LSASRV
イベント カテゴリ: SPNEGO (Negotiator)
イベント ID: 40960
日付: 2008/11/17
時刻: 11:29:53
ユーザー: N/A
コンピュータ: SC420
説明:
サーバー cifs/192.168.X.X の認証エラーを検出しました。 認証プロトコル Kerberos からのエラー コードは "指定されたユーザーは存在しません。
(0xc0000064)" でした。


◇解決策
http://www.eventid.net/display.asp?eventid=14&eventno=4189&source=Kerberos&phase=1

There were password errors using the Credential Manager. To remedy launch the Stored User Names and Passwords control panel applet (註:コンパネの「ユーザ名およびパスワードの保存」のこと)and reenter the password for the credential .

試してみて駄目だった(ような気がした)ので、エントリそのものを削除、さらに再アクセスしてアカウントとパスワードを再入力したらうまくいった。 尚、上記の「ユーザ名およびパスワードの保存」にこのときした入力したそれらは記録されず、どのような状況下でここに登録または誤登録されるのかは不明(調べていない)。

以上