■iOS/Android/WP7.5のバッテリー耐久テストをしたメモ
 スマホのバッテリー消費がおよそ同条件でほんとはどれくらい違うのかを試してみたメモ。結論から言うとGalaxyNexusのバッテリー耐久度はすごい。以下テスト条件と結果を簡単に。

■評価機種とバッテリー容量
1)GalaxyNexus Android 4.0.2 1750mAh
2)ARROWS X LTE F-05D Android 2.3.5 1400mAh
3)HTC Radar WindowsPhone 7.5 1520mAh
4)iPhone4 iOS 5.0.1 1420mAh

■評価条件
・初期化(データリセット)を最初に行う
・標準設定のまま追加アプリはインストールしない
・同じWi-Fi設定を行う
・同じGmailアカウントをPush設定で作成する
・同じExchangeアカウント(CommuniGate Proを使用)をPush設定で作成する
・3Gの影響を受けないようフライトモードに設定し、Wi-Fiのみ有効にする
・設定後再起動して標準タスクのみが動作している状況にする
・バッテリー残量表示の出る画面を表示
 Androidは設定アプリ内の電池か端末の状態の画面
 WP7.5はSettingからBattery Saverの画面
 iOSは一般>使用状況>バッテリー残量表示on
・表示を確認したらすぐにスクリーンオフ
・途中何度かテストメールを送り受信状況を確認する
・準備ができたら端末をフル充電状態にしてスタート

※F-05Dは端末初期化後デフォルトホームがPaletteUIでウィジェットもデフォルトで動作していたためそのままの設定状態で評価した。

■バッテリー残量経過
スタート
 GalaxyNexus/100%, F-05D/100%, HTCRadar/100%, iPhone4/100%
3.5時間経過
 GalaxyNexus/99% , F-05D/90% , HTCRadar/100% , iPhone4/100%
6時間経過
 GalaxyNexus/97% , F-05D/83% , HTCRadar/100% , iPhone4/100%
13時間経過
 GalaxyNexus/93% , F-05D/64% , HTCRadar/100% , iPhone4/99%
17.5時間経過
 GalaxyNexus/90% , F-05D/45% , HTCRadar/100% , iPhone4/98%
19.5時間経過
 GalaxyNexus/88% , F-05D/40% , HTCRadar/100% , iPhone4/98%
24時間経過
 GalaxyNexus/85% , F-05D/28% , HTCRadar/100% , iPhone4/97%

■結果
消費度合い
 GalaxyNexus/15% , F-05D/72% , HTCRadar/0% , iPhone4/3%
一時間当りのバッテリ消費
 GalaxyNexus/0.625% , F-05D/3% , HTCRadar/0% , iPhone4/0.125%
メール受信件数
 GalaxyNexus/9件 , F-05D/9件 , HTCRadar/9件 , iPhone4/9件
サーバ通信回数(CommuniGate Proサーバとの同期接続回数)
 GalaxyNexus/839回 , F-05D/77回 , HTCRadar/48回 , iPhone4/100回

■まとめ
 非常に各OSの特徴の出るテスト結果となった。バッテリーの消費度合ではWP7.5を搭載するHTCRadarの圧勝に見えるが、実際にはHTCRadarは原則2時間に一回しかネット接続しておらず、メールはリアルタイムには受信していなかった。操作した時点でメール受信を試み、その後2時間おきにアクセスをし、メールがあれば受信するという仕掛けで、スリープ時にはWi-Fi接続自体を切っているため、長時間稼働はできるもののExchangeアカウントでメールをタイムリーに受信するという目的には向かないことが明らかになった。

 次点となるiOS搭載のiPhone4では原則15分おきにサーバにアクセスしており、通信を行っているもののこちらはメールがあっても自動受信はしておらず、届いているメールはロック解除して端末操作をした際に始めて受信動作し、実際にはタイムリーな受信にはなっていなかった。iOSでは以前テストした際には最もタイムリーにメール受信できていたはずなので、何か仕様が変更されたのかもしれない。時間があれば追検証したいところ。

 3位となったGalaxyNexusではPush同期のため2分おきにサーバにアクセスして、最もタイムリーにメールを受信していることが明らかになった。ExchangeアカウントでPush設定をした場合2分おきの接続はAndroid端末としては標準的な仕様となる。通信回数の多さにも現れているが、これだけの回数の接続を行いメールをほぼタイムリーに受信して、24時間で15%のバッテリー消費というのはなかなか素晴らしいと思われる。単純なバッテリー残量ではHTCRadarとiPhone4が上回るが、メールを非常にタイムリーに受信した上でこれだけの残量を残しているのだから、実質的にはGalaxyNexusが最も優秀と言えると思う。

 最もバッテリー消費の早かったF-05DにおいてはGalaxyNexus同様の設定を行っているにも関わらず、Androidの標準仕様を無視し一切の定期接続をせず、端末を操作した時のみメールの受信を行うという動作結果だった。それにも関わらずバッテリーが著しく消耗するのはやはり標準状態で無駄なタスクがバッテリーを消費していることにほかならない。試験後も放置していたところ27時間40分で端末が自動終了して電源が落ちた。メールの自動受信設定しかしておらず、その設定もまともに機能していないのにこれほど短い時間でバッテリーを使い尽くすというのは信じがたい実装である。カタログスペック上3Gの待受時間が490時間となっているが、どのような条件下で測定したのか明示してもらいたいくらいだ。

 各OSによってバッテリー耐久時間を延ばすために、メールの同期タイミングで工夫がされていることが確認できた。今回Wi-FiでテストしたためかWP7.5とiOS5でPushでのメール受信がうまくいっていないが、他所事例で3G接続している状態ではPush動作に問題がないようなので、この辺りは条件を合わせていずれ検証をしてみたいと思う。

※F-05Dの結果があまりにひどいので、バッテリー持ち対策したパターンでの追検証を検討中。比較のため同じAndroid2.3系のNexusOneも準備中。→追加しました。

 iOS/Android/WP7.5のバッテリー耐久テストをしたメモ2
 http://blog.isnext.net/issy/archives/1976

 最新の記事はこちら
 update後F-05Dのバッテリー耐久が向上したメモ
 http://blog.isnext.net/issy/archives/1990

, , , , ,
とりあえず付けておく無駄ではなかったなまぁまぁ読めたちょっと役に立ったかなかなり良かったかも (1 投票, 平均値/最大値: 5.00 / 5)
Loading...

■CommuniGate Pro v5.4.4のAndroid対応状況
 先日CommuniGate Proがv5.4.4となりExchange互換機能AirSyncの一部バグが更に修正されたということで問題のあったAndroid対応を検証したメモ。デバイス管理者登録周りは修正を確認。ただしPush設定時のワイプに問題が残る。

■動作確認した環境
1) Scientific Linux 5.7 x86(5.6から継続アップデート)
  Communigate Pro v5.4.4(v5.3系から継続アップデート)

■検証結果
1)Nexus One (Android2.3.6公式ROM)
 メール・連絡先・カレンダー同期OK
 デバイス管理者登録:正常手順で登録可能
 リモートワイプ:push設定で即時実行できず、間欠接続設定なら実行可能

2)Archos 80 G9(Android3.2.1公式ROM)
 メール・連絡先・カレンダー同期OK
 デバイス管理者登録:正常手順で登録可能
 リモートワイプ:push設定で即時実行できず、間欠接続設定なら実行可能に見えるがデータ残る

3)Galaxy Nexus (Android4.0.2公式ROM)
 メール・連絡先・カレンダー同期OK
 デバイス管理者登録:正常手順で登録可能
 リモートワイプ:push設定で即時実行できず、間欠接続設定なら実行可能

 今回はAndroidの各バージョンをひとつづつ実験してみた。残念ながら3.x系はリファレンスマシンが手持ちでないため、Archosで実験したが初期化部分がかなりカスタマイズされた仕様のためか案の定データが消えないという事態に。ワイプ操作自体は実行されているように見えるのでこれはArchosの仕様(通常ワイプでの消去範囲が異なる)による結果と思われる。

 CGP 5.4.4においてはデバイス管理者登録を促す部分の仕様が適切に修正されていることが確認できた。またPush設定以外(5分ごとに接続など)であればワイプも適切に実行できることが確認できた。Pushの場合セッションを切断する時点で端末に送信するコマンドが適切でないためリモートワイプが即時実行されない問題が残っているが、5.4.5で修正されるということなので楽しみに待ちたい。この修正が行われれば名実ともにAndroid対応を前提に利用してもらうことができるので嬉しい限り。注意しなければならないのは、Android端末でAirSync設定を行う場合Push設定ではAndroidの仕様で2分間隔でサーバ接続を行うため、バッテリーの少ない機種では稼働時間に影響を大きく及ぼす可能性があるということだ。2分間隔の設定は通常UIでは変更することができず、変更を強要するためにはrootedにして直接ファイル編集が必要になるため法人利用においては現実的ではない。採用機種とバッテリー動作状況を良く確認しながら設定を検討する必要がある。

 ちなみにメール利用においてはAndroid端末からWebUIを利用するというパターンも可能なのだが、HTMLベースはともかく、FlashベースのPronto!についてはAndroid端末で起動は可能なものの日本語入力が正しく動作しないことと画面解像度の問題で実用にならない。タブレットでは高解像度の端末が出てきているが、操作感も含めてPtonto!は現状オススメできないので、WebUIでBasicかSimplex辺りを利用することをオススメする(慣れは必要だが…)。

, , , , ,
とりあえず付けておく無駄ではなかったなまぁまぁ読めたちょっと役に立ったかなかなり良かったかも (まだ評価されていません)
Loading...

■CommuniGate ProのPronto! Mobileで音声通話
 CommuniGate Proの5.4系の目玉であるはずのiOS/Android用VoIP/Chatアプリ Pronto! Mobileがリリースされたということで実験してみた。リリースまで結構時間かかったね。ちなみにHTML5版のアプリも現在開発中らしい。それぞれの専用アプリ版で気になったことを以下に箇条書きで。

・Pronto! Mobileの詳細は以下から(英語)
 http://www.communigate.com/main/pronto/prontoMobile.html
・iOS用のインストールは以下から
 http://itunes.apple.com/jp/app/pronto!/id490538357?mt=8
・Android用はCGP 5.4.3をインストールしたWebUIのログイン画面から
 現時点ではAndroidマーケットにはなく、3rdパーティアプリのインストール許可必須
 Android2.3.x/3.2.xの対応を確認
 Android4.0では音声着信して通話しようとした瞬間SDPエラーが発生する
 起動すると通知領域にアイコンが常駐
・UIは英語のみ
・iOS版のデザインの方がまとまりがあっていい感じ
・利用可能な機能はどちらも同じ
・iOS版は機種で動作状況が異なる模様
 3GS:問題なし
 4S:着信時にタッチスクリーン操作が効かなくなる事象アリ
・GIPS組込みだがGIPSライセンス無しでも動作可能
・サーバCommunityライセンスでも動作可能
・クライアントサーバ間はXIMSS通信&SSL/TLS対応なので比較的安心か
・CGPサーバにログインして利用するためCGPのアカウントは必須
・Pronto!同士の音声通話はメールアドレスでも内線番号でもどちらでもOK
・外線発信の場合NTTの光電話がG.711 μ-Lawのみしか対応していないため発信できず
 Pronto! MobileはG.711 μ-Law未対応
 適切なPSTNゲートウェイが設定されていれば利用可能と思われる
・おそらくCGP同士であれば外部サーバでも通話可能と思われる
・音声の品質はまぁまぁ(特別いい感じはしない)
・Chat/Textメッセージは日本語利用OK(Android4.0でも動作)
・連絡先もサーバ連絡先参照が可能(日本語表示OK)
・スマホ本体の連絡先は電話番号のあるもののみ参照可能
・本体連絡先からPronto!発信を設定可能
・アプリ自体の安定感は高い
・ファイル転送にも対応(転送サイズはサーバ側設定による)
・WP7用はまだない…(作らなさそう…)

気付いたことがあれば随時追記の予定

, , , , ,
とりあえず付けておく無駄ではなかったなまぁまぁ読めたちょっと役に立ったかなかなり良かったかも (まだ評価されていません)
Loading...

■CommuniGate Pro v5.4.2のAndroid対応状況
 先日CommuniGate Proがv5.4.2となりExchange互換機能AirSyncの一部バグが修正されたということで問題のあったAndroid対応を検証したメモ。確かに修正は確認できたが非常に微妙な感じ。更なる改善を願うところ。

■動作確認した環境
1) Scientific Linux 5.7 x86(5.6から継続アップデート)
  Communigate Pro v5.4.2(v5.3系から継続アップデート)

2)Scientific Linux 5.7 x86(新規インストール)
  CommuniGate Pro v5.4.2(新規インストール)

どちらの環境でも結果は同じだったので、以下の検証結果はv5.4.2の問題と考える。

■検証結果
1)Nexus One (Android2.3.6公式ROM)
 メール・連絡先・カレンダー同期OK
 デバイス管理者登録:ダイアログのみ表示、実際登録されず
 リモートワイプ:実行できず

2)001HT(Android2.3.3公式ROM)
 メール・連絡先・カレンダー同期OK
 デバイス管理者登録:HTCのカスタマイズで項目自体が存在しない
 リモートワイプ:即時実行可能

3)GalaxyTab(GT-P1000)(Android2.3.3 XXJQ1 rooted)
 メール・連絡先・カレンダー同期OK
 デバイス管理者登録:ダイアログのみ表示、実際登録されず
 リモートワイプ:メールフォルダ操作で実行される…ように見えるが初期化されない

4)Archos 80 G9(Android3.2公式ROM)
 メール・連絡先・カレンダー同期OK
 デバイス管理者登録:ダイアログ表示、権限確認表示、メールとして登録
 リモートワイプ:メールフォルダ操作で実行される…ように見えるが初期化されない

5)ASUS TF101(Android3.2.1公式ROM)
 メール・連絡先・カレンダー同期OK
 デバイス管理者登録:ダイアログ表示、権限確認表示、メールとして登録
 リモートワイプ:メールフォルダ操作で実行される、完全に初期化

 ざっくりと見てAndroid2.3.xには非対応、Android3.2.xには対応しているように見える。リモートワイプなどシステム関連の権限を必要するため、Android2.2以降で新設されたデバイス管理者メニューに必要に応じた権限とそのパーミッション設定が必要となるが、Android2.3.x系では必要な権限の登録が行われない。HTC社の製品のみHTC Senseのカスタマイズでデバイス管理者を必要とせずワイプが可能になっているため、001HTでのみ正しくワイプが機能しているが、HTC社の製品の場合は前述の理由によりCommuniGate Pro v5.3.x系でもリモートワイプ可能だった。今回GalaxyTabでもワイプが動作したように見えた(再起動して情報をワイプしている状況が表示された)のだが、キャッシュ等が削除されただけでアカウントやアプリ含めたデータ類はそのままで、端末の初期化はされなかった。おそらくデバイス管理者に正しい設定がされていない影響と思われる。

 2.3.xでは登録されないデバイス管理者が、何故かAndroid3.2.xでは権限表示された上で適切に登録されることが今回確認できた。TF101では即時ではないもののメールのフォルダを表示しようとした瞬間に端末が再起動され、データの消去が行われ初期化された上で新規登録画面が立ち上がってきた。Archos 80 G9ではやはりメールのフォルダを表示しようとした際に再起動に入るため端末の電源は落ちるがそのまま終了してしまう。電源長押しで起動させた後、何故かパスワード設定のみが反映された状態で起動し、リモートワイプで使用したアカウントのパスワードでログインすると、アプリやデータはそのまま利用可能な状態で残っていた。これはデバイス管理者の権限が反映されたことを示しているが、なぜワイプまでできず中途半端に終わっているのはよくわからない…。Archos製品は他社製品と少し実装が異なり、初期化オプションを複数提供するためシステムイメージをループバックマウントすることでシステム全体をセキュアに保つ仕組みが採用されていることに関係しているのかもしれない。

 ワイプの実行のためにメールフォルダの操作が必要になっているのは、ワイプ実行に必要なProvisionコマンドの発行のため。通常iOSやWindows Phone 7.5ではサーバ側でワイプ指定した時点で、接続を切られた端末側が再アクセスしてProvisionコマンドを要求に応じて返してくることでワイプが実行されるのだが、Android端末では何故かサーバ側でProvisionコマンドを要求しても返してこない。仕方がないので端末側でProvisionコマンドを発行させるために必要な操作として、InBox以外のメールフォルダを開いてみるという動作を行う。フォルダを開こうとするとサーバから拒否されるため、FolderSyncの再問合せをした際に、Provisionコマンドの応答を行うことになる。本来すぐに実行されるべきコマンドが一定操作をしないと行われないことは、おそらくCommuniGate Pro側の要求送信内容の問題だと思われるので、ここも改善してもらいところである。

■まとめ
 CommuniGate Pro v5.4.2でAirSyncのバグが一部修正されデバイス管理者登録部分の動作がやや改善されたことは確認できたものの、まだAndroid2.3系ではワイプなどセキュリティ系機能が実用にならず、3.2系でも機種によっては適切に動作しないことが確認できた。iOSやWindows Phone 7.5の端末では問題なく動作するだけに、シェアの大きいAndroid端末でうまく動作しないことは残念というしかない。デバイス管理者の登録やワイプ実行のためのProvisionコマンドの要求発行内容とタイミングについて更に改善をしてもらいたいと思う。とりあえずメールやカレンダーの同期といった主要な部分は動作しているので実使用上大きな問題はないケースも多いとは思われるが、セキュリティ系で必要な機能についてCommuniGate ProとAndroid端末を組み合わせて利用したい場合には、利用端末で適切に動作するかどうか事前に確認することを強くオススメする。

【追記】Galaxy Nexusが届いたので追記

6)Galaxy Nexus (Android4.0.1公式ROM)
 メール・連絡先・カレンダー同期OK
 デバイス管理者登録:ダイアログ表示無し、登録されず
 リモートワイプ:実行できず

 3.xで対応していた部分がバージョンアップでまた未対応になってしまった模様…。codenameでは正しく動作しワイプできたことから4.0の仕様変更自体の問題ではなさそう。CGS社にはレポートしてあるのだがいつになったら直してくれるのだろう…。

, , , , ,
とりあえず付けておく無駄ではなかったなまぁまぁ読めたちょっと役に立ったかなかなり良かったかも (まだ評価されていません)
Loading...

■Windows Phone 7 とCommuniGate Proを同期するメモ
 OMNIA7(ビルド7392)とCommuniGate Pro 5.4.1をActiveSync (AirSync)で同期した設定のメモ。Exchange設定で問題なくメール、カレンダー、コンタクトが同期できる。日本語の表示もOK。但し7392だと正式に日本語対応していないため、返信等が全てutf8でエンコードされるため、携帯宛てメールでは注意が必要。ActiveSync設定を行う場合にはSSL経由にすることを強くオススメする。個人でも無償利用可能なStartSSLをサーバ側で使っている想定で証明書のWP7端末へのインストール手順から説明する。

1)StartSSLのCA証明書をWP7端末にインストールする
 WP7端末のIEで以下のURLにアクセスする
  http://www.startssl.com/certs/ca.cer
 「タップしてファイルを開く」と表示されたアイコンをタップする
 「証明書をインストールしますか?」と出るので「インストール」をタップ
 「OK」をタップしてインストール完了
 全てのアプリで利用できるように一度端末を再起動する

2)CommuniGate Proと同期設定をする
 「Settings」>「email & accounts」>「add an account」をタップする
 アカウントタイプから「advanced setup」を選んでタップする 
 同期するメールアドレスとパスワードを入力する
 種類で「Exchange ActiveSync」を選んでタップする
 「domain」にメールアドレスの@以下を、「Server」にサーバのFQDNを入力する
 この時SSL利用にチェックを入れておくこと
 オプション項目は任意に設定
 設定が終わったら「sign in」をタップして完了
 これでOutlookアイコンがホーム画面に作成される

 Outlookアカウントから設定することも可能だが、メールアドレスのドメイン部とサーバ名が一致していないとチェックのため2回ほど待たないとサーバ設定画面に到達できないので、最初からadvanced setupを選択することをオススメ。おそらく最新のMango (7720)でも同様の手順で設定可能と思われる。サーバ同期を組むとiPhoneやAndroidとのスケジュール連携も容易なのでとても使いやすい。

, , , ,
とりあえず付けておく無駄ではなかったなまぁまぁ読めたちょっと役に立ったかなかなり良かったかも (まだ評価されていません)
Loading...

■Scientific Linux 5.6でSNSサーバを構築するメモ
 CentOS5系で運用中のSNSサーバをScientific Linux5系に移行するため、試験環境としてDell D520にインストールを行った時のメモ。ここからはSNS等アプリケーション導入前までの構築メモ。OS自体は前記事を参照。

 D520にScientific Linux 5.6をインストールしたメモ
 http://blog.isnext.net/issy/archives/1281

■高機能メールサーバCommuniGate Proをインストール
 phpアプリで必要なケースが多いのでpostfixを活かしたままCGPを有効にする
・postfix側の設定変更
 # vi /etc/postfix/master.cf
  smtp inet n – n – – smtpd
   ↓
  #smtp inet n – n – – smtpd
 # vi /etc/postfix/main.cf
  mydestination = $myhostname, localhost.$mydomain, localhost
   ↓
  mydestination = localhost
  追記
  relayhost = 自IPアドレス
  myhostname = po.ホストネーム セルフループ回避呪文
・postfixを再起動
 # service postfix restart
・postfixがsmtpをLISTENしてないことを確認
 # lsof -i

・CommuniGate Proの最新版をインストール
 (商用だがCommunityライセンス下で5ユーザまで無料で利用可能)
 # wget http://www.communigate.com/pub/CommuniGatePro/CGatePro-Linux.x86_64.rpm
 # rpm -ivh CGatePro-Linux.x86_64.rpm
 # service CommuniGate start
・CGPの管理画面にアクセスするためにiptableでポート追加
 # vi /etc/sysconfig/iptables
  -A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 8010 -j ACCEPT 追記
 # service iptables restart
・ブラウザでhttp://サーバIPアドレス:8010/へアクセスして設定
 postmasterのパスワード設定
 Basic認証が表示されるのでID:postmasterと設定したパスワードでログイン
  japanese japanese(ISO) (+0900)japan/Korea expert で設定

■日本語全文検索対応mysql/Tritonnインストール
・標準導入のMySQLを削除する
 # yum remove mysql
・perl-DBIのインストールを確認(あればOK)
 # rpm -qa | grep -i perl-DBI
・最新のtritonnパッケージ群をダウンロード
 # wget http://iij.dl.sourceforge.jp/tritonn/44614/MySQL-client-5.0.87-tritonn.1.0.12a.x86_64.rpm
 # wget http://iij.dl.sourceforge.jp/tritonn/44614/MySQL-devel-5.0.87-tritonn.1.0.12a.x86_64.rpm
 # wget http://iij.dl.sourceforge.jp/tritonn/44614/MySQL-server-5.0.87-tritonn.1.0.12a.x86_64.rpm
 # wget http://iij.dl.sourceforge.jp/tritonn/44614/MySQL-shared-5.0.87-tritonn.1.0.12a.x86_64.rpm
 # wget http://iij.dl.sourceforge.jp/tritonn/44614/mecab-0.98-tritonn.1.0.12a.x86_64.rpm
 # wget http://iij.dl.sourceforge.jp/tritonn/44614/mecab-ipadic-2.7.0.20070801-tritonn.1.0.12a.x86_64.rpm
 # wget http://iij.dl.sourceforge.jp/tritonn/44614/senna-1.1.4-tritonn.1.0.12a.x86_64.rpm
・以下の順番でインストール
 # rpm -ivh mecab-0.98-tritonn.1.0.12a.x86_64.rpm
 # rpm -ivh mecab-ipadic-2.7.0.20070801-tritonn.1.0.12a.x86_64.rpm
 # rpm -ivh senna-1.1.4-tritonn.1.0.12a.x86_64.rpm
 # rpm -ivh MySQL-shared-5.0.87-tritonn.1.0.12a.x86_64.rpm
 # rpm -ivh MySQL-client-5.0.87-tritonn.1.0.12a.x86_64.rpm
 # rpm -ivh MySQL-server-5.0.87-tritonn.1.0.12a.x86_64.rpm
 # rpm -ivh MySQL-devel-5.0.87-tritonn.1.0.12a.x86_64.rpm
・MySQLのパスワード設定を行う
 # /usr/bin/mysqladmin -u root password ‘rootpassword’
・ログインして動作確認
 # mysql -u root -p
・設定ファイルを適当に選んで配置する
 # cp /usr/share/mysql/my-large.cnf /etc/my.cnf
・utf8で使いたい場合には以下の行を各項目で追記
 # vi /etc/my.cnf
  [mysqld]
  default-character-set = utf8
  [mysqldump]
  default-character-set = utf8
  
  default-character-set = utf8
・設定を反映させる(mysqldでないことに注意)
 # service mysql restart
・設定変更を確認
 # mysql -u root -p
  mysql> status
  …
  Server characterset: utf8
  Db characterset: utf8
  Client characterset: utf8
  Conn. characterset: utf8
  …

■MyNETS(SNSサーバアプリ)の導入準備をする
・MyNETSに必要なコンポーネントをインストール
 # yum install php-mcrypt php-mbstring php-gd php-mysql php-xmlrpc php-xml php-eaccelerator ImageMagick
・ImageMagickの強制アップデートをする
 SL5.6のImageMagickにもCentOSと同じ問題があるので最新版で入替えする
 # wget http://www.imagemagick.org/download/linux/CentOS/x86_64/ImageMagick-6.7.1-3.x86_64.rpm
 # rpm -Uvh –force ImageMagick-6.7.1-3.x86_64.rpm

■監視系に必要なアプリを導入する
・sysstatをインストール
 # yum install sysstat
・lm_sensorsをインストール
 # yum install lm_sensors
 # sensors-detect で設定
 # sensors で動作確認
・muninをインストール
 # yum install munin munin-node
 # munin-node-configure で設定確認
・apacheの監視を有効にする
 # vi /etc/httpd/conf/httpd.conf
  #ExtendedStatus On
   ↓
  ExtendedStatus On

  #<Location /server-status>
  # SetHandler server-status
  # Order deny,allow
  # Deny from all
  # Allow from .example.com
  #</Location>
   ↓
  <Location /server-status>
   SetHandler server-status
   Order deny,allow
   Deny from all
   Allow from 127.0.0.1
  </Location>
・muninを再設定する
 # munin-node-configure -suggest で設定可能な内容を確認
 # munin-node-configure -shell | sh で設定
 # munin-node-configure 設定を確認
 # service munin-node start 監視を開始

※MySQLに関するmunin監視設定は以下を参照

 muninで複数mysqldを監視する設定メモ
 http://blog.isnext.net/issy/archives/957

■SNSアプリケーションの導入
 以下のURLの「8)SNSサーバとしての設定」を参照

 カスタム版MyNETSとCentOS5で1万人規模のSNSを構築する
 http://blog.isnext.net/issy/archives/384

, , , , , ,
とりあえず付けておく無駄ではなかったなまぁまぁ読めたちょっと役に立ったかなかなり良かったかも (まだ評価されていません)
Loading...

CommuniGate Pro v5.4リリース(正式Android対応)

■CommuniGate Pro v5.4リリース(正式Android対応)
 5ユーザまで無償利用可能な統合メッセージングサーバ CommuniGate Proがv5.4のリリースで正式にAndroid対応したので、動作検証したメモ。これまでもExchange ActiveSyncアカウントを設定することでメールや連絡先の同期が利用できたが、今回からカレンダーやAndroid専用アプリPronto!が提供されるなど、Android対応の範囲が拡大した。アップデートに伴い既存Androidユーザは注意が必要なので以下に説明をする。

■CommuniGate Proのアップデート
 最新バージョンはv5.4となるが、アップデートする場合にはv5.3の最新版であるv5.3.14に一旦アップデート後、v5.4にアップデートすることをオススメする。必須とはされていないようだが、過去経験上その方が問題が少ないと思われる。以下CentOS i386版でのバージョンアップ手順。メジャーバージョンアップなので後者をオススメ。

手抜き版
# cd ~/download
# wget http://www.communigate.com/pub/CGatePro/5.4/CGatePro-Linux-5.4-0.i386.rpm
# rpm -Uvh CGatePro-Linux-5.4-0.i386.rpm
# service CommuniGate stop
# service CommuniGate start

慎重版(サービス停止してバックアップ取得後v5.4へ入れ替え)
# cd ~/download
# wget http://www.communigate.com/pub/CGatePro/5.4/CGatePro-Linux-5.4-0.i386.rpm
# service CommuniGate stop
# tar zcvf CGPBK.tar.gz /var/CommuniGate/
# rpm -e CGatePro-Linux
# rpm -ivh CGatePro-Linux-5.4-0.i386.rpm
# service CommuniGate start

■v5.4の主な変更点
・Flash UIのPronto!がバージョン4にアップデート UIデザイン刷新
・専用アプリPronto! for Android 1.0b11が新規追加(XIMSS接続なので注意)
・AirSyncプロトコルが最新になりAndroidに正式対応
・MAPI Connector version 1.54.0.3へアップデート
・リバースチェックでIPv6のDNSレコードに対応
・XMPPがSSL/TLSに対応
・AESの暗号化に対応
・CalDAV/FileDAV/CardDAVに幅広く対応
・SMSの送受信に対応(SMPPの新規追加)
・STUNに対応 などなど

■Androidに関わるv5.4アップデートの注意点

・Android端末でAirSync接続をしていた場合、アカウントを作り直すこと
 Exchange Activesync設定を一旦削除し、再度作成し直すことが必須
 作り直さないとMailアプリが強制終了したりする
 Android対応で変更された仕様の影響と思われる
 iPhone/iPadでもアカウントの再設定が必要のようです
 →iPhone/iPadでは端末再起動で問題が解消されるケースもあるようです

・Android用専用アプリPronto!はまだベータなので注意
 サーバ接続にはXIMSSを利用するのでサーバ側でport 11024(標準)が
 利用可能になっていること(11024は平文なので注意)
 SSLが利用可能な場合にはこちらを参考にport11025でSSL接続をオープンにする
 利用可能な機能はIP電話・IM・連絡先となる(メール等は同期設定で利用)

 001HTではアカウントを作成し直すことでメール・連絡先・カレンダー全て問題なく同期できた。またPronto!アプリも問題なく動作しているように見える。ただPronto!は明示的に終了させる方法がアプリに用意されていないため、電池の消費がやや気になる。ちなみにVersion情報がアプリ上では1.0b10となっていた(リリース文ではb11なのに)。リモートワイプは未実験だがHTC端末については5.3.11でもワイプ可能だったので問題なく利用可能と推測する。

 WhisperCore0.4(Android2.3.4)をインストールしたNexusOneでもメール・連絡・カレンダーが問題なく同期されることを確認。ワイプ機能は同期アカウント設定時に変わらず「デバイス管理者」の設定通知が来ないため動作せず。正式にAndroid対応と言っているのにこれはまずい気がする…。どうもこれまでの経緯的にCGS社はHTC端末でしか動作確認していないように見える。

■その他の気になったこと
・管理画面のレスポンスが向上した気がする
・管理画面のメニュータブが結構増えて項目位置変更も多く把握が大変
・Pronto!はv4とv3を選択的に利用可能
・Windows版/MacOSX版のアプリもダウンロード可能になっている
・Linux用はAirアプリがダウンロード利用可能
・AirSync利用時は端末側で再設定が必須になるというのが微妙

随時追記の予定

, , ,
とりあえず付けておく無駄ではなかったなまぁまぁ読めたちょっと役に立ったかなかなり良かったかも (まだ評価されていません)
Loading...

■SPFレコードとスパムパターンのメモ
 最近思うことあってCommuniGate Pro本体でのSPFレコードの判定を有効していろいろなルールを書いてスパムのパターン解析をしたメモ。

■SPFレコード
 囮アドレスに来るスパムの傾向を見てみると90%以上はSPFはPassになっている。そこでdigで該当ドメインのTXTレコードを引いてみると、かなりの確率で “v=spf1 +all” が帰ってくる。”v=spf1 +all” でない場合でも100%末尾に “+all” が指定されていることで、全てのIPアドレスから送信されることを許容した設定になっている。

■Recievedヘッダ
 こちらも90%近い確率でRecievedヘッダが一行しかない。botから直接メールサーバに送信しているパターンだと想定される。

■X-Mailerヘッダ
 上記2条件の当てはまるパターンのメールは手元では100%X-Mailerヘッダがなかった。

 これらのことから、少なくとも自メールサーバ宛てでは、SPFレコードに+allが付いていて(2011年時点で+allとか付けてる時点でスパム認定でいいような気もする)、Recievedヘッダが1行、X-Mailer無しのパターンはほぼスパムでFAということに。

ちなみにCommuniGate ProのSPFチェックを有効にするのは以下の設定。
 管理画面>設定>メール>SMTP>受信>処理
 SPFレコードチェック を有効にする

, ,
とりあえず付けておく無駄ではなかったなまぁまぁ読めたちょっと役に立ったかなかなり良かったかも (まだ評価されていません)
Loading...

CommuniGate ProにStartSSLの証明書を複数使うメモ

■CommuniGate ProにStartSSLの証明書を複数使うメモ
 さっと覚書程度。無償SSL証明書の入手 【5/11追記】 で追記したのは、こちらの確認をしていたため。最後にTLS接続のブラウザ挙動の試験結果も軽く記載。

■試験前提
 ドメイン:example.com
 サーバ名:mail.example.com
 a) user01はuser01@mail.example.comとuser01@example.comの両方を受信可能にする
 b) user02はuser02@sub.example.comで利用する
 c) user01はsub.example.comでは受信しない
 d) user02はmail.example.comでもexample.comでも受信しない
 e) CommuniGate Proで利用するプロトコルは以下
  SMTP/SMTPS/POP/POPS/IMAP/IMAPS/HTTP/HTTPS
 f) example.com, mail.example.com, sub.example.comのIPアドレスは同一

■CommuniGate Proの設定
 ここでは過去にCentOS5向けに高パフォーマンス環境のインストール記事があるので、そのリンクを紹介しておく。こちらの記事のプロセス1〜6までがおよそのインストール手順となる。

 カスタム版MyNETSとCentOS5で1万人規模のSNSを構築する
 http://blog.isnext.net/issy/archives/384

 ここではCommuniGate Proの管理画面で

  1.   Mail Domain Name : mail.example.com
  2.   Langage : Japanese
  3.   Preferred Charactor Set : UTF8
  4.   Time Zone : (+0900) Japan_Koria
  5.   interface : expert

 としてスタートする

1)user01の設定を行う
 管理画面>アカウント>ドメイン>mail.example.com>オブジェクトにて
 アカウント作成 に user01 と入力してアカウント作成ボタンを押す
 管理画面>アカウント>ドメイン>mail.example.com>ドメイン設定にて
 画面一番下、ドメインエイリアスに example.com と入力して更新ボタン

2)user02の設定を行う
 管理画面>アカウント>ドメインにて
 ドメインを作成 に sub.example.com と入力してドメインを作成ボタンを押す
 一覧に作成されたsub.example.comのリンクをクリック
 アカウント作成 に user02 と入力してアカウント作成ボタンを押す

 ここまででa-dの条件は完了

■SSL証明書をインストールする
 StartSSLの証明書に関してはこちら参照。ここでは別途作成済みの秘密鍵と証明書をインストールする手順を紹介。

3)mail.example.comの証明書をインストール
 管理画面>アカウント>ドメイン>mail.example.com>セキュリティ>SSL/TLSにて
 鍵のサイズでインポートを選択して、鍵の生成ボタンを押す
 カスタムPEM符号化鍵の入力の入力フィールドが表示される
 そこにmail.example.comの秘密鍵をペーストして鍵の生成ボタンを押す
 PEM符号化証明書の入力フィールドが表示される
 そこにmail.example.comの証明書をペーストして証明書の組み込みボタンを押す
 StartSSLから中間証明sub.class1.server.ca.pemを取得する
 認証局チェーン (オプション)にsub.class1.server.ca.pemの値をペーストして
 認証チェーンの組み込みボタンを押す
 StartSSLのCA証明はCommuniGate Pro標準で組み込み済みなので不要
 最後にSSL/TLSタブ下のPKIサービスをオンにする

 StartSSLの証明書はドメインのみ+指定ホスト名の2つのURLを証明してくれるので、これでexample.comとmail.example.comの2つ分の証明書が組み込まれたことになる。

4)sub.example.comの証明書をインストール(3とほぼ同じ)
 管理画面>アカウント>ドメイン>sub.example.com>セキュリティ>SSL/TLSにて
 鍵のサイズでインポートを選択して、鍵の生成ボタンを押す
 カスタムPEM符号化鍵の入力の入力フィールドが表示される
 そこにsub.example.comの秘密鍵をペーストして鍵の生成ボタンを押す
 PEM符号化証明書の入力フィールドが表示される
 そこにsub.example.comの証明書をペーストして証明書の組み込みボタンを押す
 認証局チェーン (オプション)にsub.class1.server.ca.pemの値をペーストして
 認証チェーンの組み込みボタンを押す
 最後にSSL/TLSタブ下のPKIサービスをオンにする

 これでsub.example.comの証明書も組み込み完了。

5)ユーザがアクセスするHTTPポートを変更する
 管理画面>設定>サービス>HTTPUから画面右側のリスナーのリンクをクリック
 以下の設定を追加して更新ボタンを押す(1行1回)
  80, 全てのアドレス, オフ, なし
  443, 全てのアドレス, オン, なし

 これでHTTP:80とHTTPS:443でユーザがサーバにアクセスできるようになる。証明書の組み込み手順はここまで。

■ブラウザ毎のTLSの動作結果
 CommuniGate ProサーバにHTTPSでアクセスした場合に、TLS1.0の接続が正しく行われて同一IPでmail.example.comとsub.example.comの証明書が適切に選択されるブラウザはGoogle Chrome11とFireFox4だけで、IE8やSafari5はメインドメインになっているmail.example.comの証明書が優先的に適用され、sub.example.comにアクセスした場合証明書が正しくない旨のダイアログが表示されてしまう。ブラウザの仕様によって動作に差があることが確認できた。
 CommuniGate Pro本体で複数の証明書を取り扱う場合には上記に配慮し、ブラウザの選択に注意する必要がある。

…5ユーザまで無償のCommuniGate Proと無償のStartSSL証明書の組み合わせって個人で運用できる最強にセキュアなメッセージングサーバになるんじゃないかという気がする。

, ,
とりあえず付けておく無駄ではなかったなまぁまぁ読めたちょっと役に立ったかなかなり良かったかも (まだ評価されていません)
Loading...

■CommuniGate ProでAndroid端末をリモートワイプ
 Microsoft Exchangeの代替ソリューションのひとつであるCommuniGate ProでAndroid端末のリモートワイプ実験をしたメモ。CommuniGate Proはキャリアグレードのスケーラビリティと安定性を誇るソフトウェアにも関わらず5ユーザまで無償で利用可能で、ExchangeサーバのActiveSyncと近似した機能をAirSyncという名前で提供しており、これも無償ライセンス内で利用できる。このActiveSync互換のAirSyncを利用して、メッセージの同期とリモートワイプの実験を行う。試したのは手持ちのNexusOne (CyanogenMod7 Android 2.3.3)、GalaxyTab (Froyo XXJK5 Android 2.2)、Desire HD 001HT (標準 Android 2.2)の3つ。Android1.x系はそもそもExchange連携未対応なので対象外。CommuniGate Proのバージョンは5.3.11。

 設定は簡単。インストール済みのCommuniGate Proを用意してアカウントを作成、Android側ではExchange同期アカウントを利用して、CommuniGate Proのアカウントを設定してやればいい。注意点は以下。

・CommuniGate Pro側でHTTPの待ち受けをTCP80/443に設定すること(※追記参照)
 AirSyncはこれらのポート以外では動作しない
・Android側でアカウントを指定する時には@以下も記述すること

■実験結果
1)NexusOne
 メッセージとアドレス帳の同期はOK。カレンダー同期はNG。
 リモートワイプは信号受信するものの無視。

2)GalaxyTab
 メッセージとアドレス帳の同期はOK。カレンダー同期はNG。
 リモートワイプは信号受信するものの無視。

3)Desire HD 001HT
 メッセージとアドレス帳の同期はOK。カレンダー同期はNG。
 リモートワイプは信号受信し即端末全体を初期化。

 メッセージとアドレス帳はどれも問題なく同期できたが、カレンダーがエラーとなり同期できなかった。リモートワイプが実行できたのは001HTのみ。Exchangeサーバだと端末側でアカウント作成時にデバイス管理者の追加設定許可を求められるはずのところを、CommuniGate Proではそのダイアログが出てこないことから、ActiveSyncとAirSyncで一部動作が異なっていることが確認できた。また端末側でもHTCのカスタマイズにより001HTでは本来Android2.2以降にあるはずのデバイス管理者設定項目が消失していることから、どうやらデバイス管理者設定の状態によりリモートワイプが実行できるかどうかが判断されているようだ。HTCの端末では2.1の頃から独自にExchange対応をしていたり、HTC Senceサービスで独自のリモートワイプサービスを提供していたりするので、その辺りの影響が出ているものと思われる。

 ちなみにCommuniGate ProではiPhone/iPadについては問題なくリモートワイプできている。CommuniGate Proは5.4系でAndroidに正式対応するということなので、今後修正がされる可能性はあるが、現在のところCommuniGate ProでリモートワイプによりAndroid端末のデータ消去を実行しようと思ったら、Android2.2以降を搭載したHTC製端末(HTC Sence 2.x以降)を選択する必要がある。(同端末はHTC SenceのWebサイトに登録することで、Webからデータ消去操作を行うことも可能だが、システム管理者が一括で管理したいというようなケースでは、Communigate Proを利用するメリットがある)

■追記
 AirSyncの待ち受けについては80/443のどちらか一方だけでも問題ない。httpは平文でデータ参照できてしまうことから、実運用する場合には443で設定する方が望ましい。またApache等と同居している場合など、CommuniGate Pro自体の80/443を有効にできない時には、proxy設定を利用して80/443への接続をCommuniGate Proの標準待ち受けポートTCP8100へ繋いでやることでAirSyncを行うことが可能。以下Apacheで443接続をproxy設定するサンプル。

  1. <VirtualHost 192.168.0.1:443>
  2.  
  3. ServerName cgp.exsample.com:443
  4. ErrorLog logs/ssl_error_log
  5. TransferLog logs/ssl_access_log
  6. LogLevel warn
  7.  
  8. SSLEngine on
  9. SSLProtocol all -SSLv2
  10. SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOW
  11. SSLCertificateFile /etc/httpd/cert/cgp.crt
  12. SSLCertificateKeyFile /etc/httpd/cert/cgp.key
  13.  
  14. ProxyRequests Off
  15. ProxyPass / http://localhost:8100/
  16.  
  17. <Location />
  18. ProxyPassReverse http://localhost:8100/
  19. ProxyPassReverseCookieDomain localhost cgp.exsample.com
  20. ProxyPassReverseCookiePath / /
  21. Order allow,deny
  22. Allow from all
  23. </Location>
  24.  
  25. </VirtualHost>
, , , , ,
とりあえず付けておく無駄ではなかったなまぁまぁ読めたちょっと役に立ったかなかなり良かったかも (まだ評価されていません)
Loading...