ところで周囲の非難の声に耳を貸さずに黙々とWin10へのアップデートを推奨してくるMSですが、こーいったWin10への根本的な不満の声にはどう対応してるんですかね。する気あるんですかね。
私もWin10に上げたPCはフォント変えずにはやってられなかったわけですが。
私もWin10に上げたPCはフォント変えずにはやってられなかったわけですが。
2016-05-06 [日記]
いまだ上げてないウチの8.1環境では事ある毎にポップアップで「既に10億人以上~」って言ってるけど?1人が同じデバイスを5回上げたってことか?w
2016-01-05 [日記]
けっこー愉快な仕様で興味を惹かれる。
水冷は、まあどちらかというと液冷でかつ効率的な熱移動をしたいんだろうなと推察。其の意味では一般的なヒートパイプとあんま変わらないんじゃないだろか。
ドックは面白い。Win10機ならでは。但し汎用性が出せなければ、おそらくPCをより寿命が短いスマホの場合買ったはいいが無駄になるという事態も。
要するにMSらしく「超小型PC」の立ち位置にしたいんだろうなと。
水冷は、まあどちらかというと液冷でかつ効率的な熱移動をしたいんだろうなと推察。其の意味では一般的なヒートパイプとあんま変わらないんじゃないだろか。
ドックは面白い。Win10機ならでは。但し汎用性が出せなければ、おそらくPCをより寿命が短いスマホの場合買ったはいいが無駄になるという事態も。
要するにMSらしく「超小型PC」の立ち位置にしたいんだろうなと。
2015-10-07 [日記]
しょっちゅう「試作」はされるものの製品化には至らないX68000風ケース。出たらPC組み換えするんだけどなー。なー。
2015-07-29 [PC]
話はまったく違うのだが、最近ソシャゲやら懸賞サイトで「無料でXXXがもらえる!」という表現をするのをよく見かける。
しかし「もらえる」と言うのは本来それを手にする側・・・この場合消費者サイドを主体とした言葉であるのでそれを提供するのが「もらえる!」というのはすげく胡散臭いというか図々しいと思うのだがどうか。
しかし「もらえる」と言うのは本来それを手にする側・・・この場合消費者サイドを主体とした言葉であるのでそれを提供するのが「もらえる!」というのはすげく胡散臭いというか図々しいと思うのだがどうか。
関連タグ:Windows
2015-07-13 [日記]
セキュアブートをかんたんに表現すると、PCの製造元から信頼されるソフトウェアのみを使ってPCを起動する、という機能です。
~ 中略 ~
しかし、「Designed for Windows 10」のロゴを得るための条件は「セキュアブートが有効であること」で、「セキュアブートを無効化できるかどうかは、OEMが選択可能とする」となってい ます。これに従えば、OEMメーカーはセキュアブートの無効化オプションを削ってもOKということになるので、Windows 10搭載PCを買ってきて、デュアルブート機にしようとLinuxを入れても、セキュアブートが無効化できず、結局はWindows 10機としてしか使えないという事態も起きうるということになります。
とは言え先日のレノボの一件のように「『PCの製造元から信頼されるソフトウェア』が本当に信頼に足るか」という問題もあるわけで、であれば各メーカーは安易に無効化オプションを削るようなマネはするべきではないと思うわけです。
…なにより、Windowsってそんなに信頼に足るOSか?w
関連タグ:Windows
2015-03-23 [セキュリティ]
うん?RTのライフはもうゼロよ!なのを認めるのはやぶさかじゃないとして、
先日「Windows10無償配布」が決定した「Raspberry Pi 2 Model B」はタブレットではないにしてもARMベースのマシンじゃなかったっけ?
Windows 10を搭載したタブレットがARMベースなのかどうかは現時点において明言されていませんが、「Surface 2の失敗とSurface Pro 3の成功からWindows 10はIntelベースのタブレットになるだろう」とThe Vergeは予想しています。
先日「Windows10無償配布」が決定した「Raspberry Pi 2 Model B」はタブレットではないにしてもARMベースのマシンじゃなかったっけ?
2015-02-04 [OS]
歓迎出来る話ではある一方で、またぞろ近いうちに「但し日本除く」とかゆー注釈が着け加えられそうで怖いw
2015-01-22 [OS]
そういや復活するする言ってた割に全然つかないなーとは思ってた。未だにアプリ探しづらいわ。
2014-06-04 [OS]
むう、会社でSurface Pro 2購入したんだけども在庫なしで1ヶ月待たされて1週間ほど前に届いたばっかりだとゆーに。無償交換しやがれふぁっきん。
2014-05-21 [PC]
タイトル通り。
ありがちなPostfix+Dovecot環境(Maildirベース)を構築。今回バックアップ用にWindows Storage ServerベースのNASを用意していたためNFS共有を作成しメールサーバからマウント。そこにrsyncをかけようと試みた
が、試みたところいくつかのファイルでエラーが発生している。いくつかとゆーか結構な数のエラーが出ている。エラー内容は以下の通り。
rsync: recv_generator: failed to stat [rsync先]: Input/output error (5)
大したエラーではなさそうと思いつつもネットで調べると「ディスク不良じゃね」的な話が多い。しかし成功してるファイルもあるし、NASにもサーバにもこれといってディスク不良の兆候は見られない。
エラーが出てるファイルをよく見る。すると各ユーザのMaildir/cur内にある=一度閲覧されたメールで、メールファイルの最後に「:2~」とか着いたファイルであることに気づく。
最初はrsyncがコロン(:)に対応してないのかと思って調べたが(※rsyncもコマンドの中でのデリミタに使ってたので)どうもそーゆー話は見られない。
しばらくしてはたと「…ああ、そういやWindows Storage Serverだっけな」とゆー事を思い出す。NFSマウントなんかしてたからつい「Windowsである」とゆー認識が抜けていた。そりゃWindowsだったらコロンの着いたファイルが作れないのは当然であるさ。
さて困った。このままではシンプルなrsyncがうまくいかない。バックアップをとるだけなら1圧縮ファイルにまとめるあり文字列コンバートするなりの方法はあるけれど、できればrsyncでカタを付けたい。一度内部の別領域にrsyncかけてからtarとかもあるだろうけれども今後のメールサーバの利用状況次第ではバックアップ用の領域までまかなえるかどーか分からない。
Dovecotの設定で上記デリミタをコロンから変更できないものかとかも調べたができなそう。rsync単体で何か上手くコンバートしながら渡す方法はないかと調べて見たがそれっぽい方法に当たらない。(※複数の処理を連動させたシェルでも作れれば可能かもしれないが…)
もーこんなんWindowsのせいなんだからなんとかしてよ!と思いなんとなく「Windows Server NFS ファイル名置換」とかでググったところ、以下の情報に辿り着く。
ファイル名の文字変換の概要
ファイル名の文字変換を構成する
要するに特定文字を変換して保存しようというもの。試しに上記のサンプルにある通りコロン(:)をハイフン(-)に変換するよう設定し、Linux側でコロンの付いたファイルを生成したところ無事保存に成功!Linuxからはちゃんとコロン付きのファイル名で見えつつWindows側ではハイフン付きのファイルとして保存されてる。これで勝つる!
…わけにいかないのがWindowsのWindowsたる所以。最近とあるMSの中の人がアンチMSの人に対して「今は問題ないんだから和解しよーぜへらへら」(意訳)とかブログで言ったらしいが、ぶちゃけ現在進行形でMSの問題は積み上がってるちゅーねん。先日アップデートされたIE11でも早速問題起きてるっちゅーねん。対MSの戦闘は相手の殲滅しかありえないねぶちゃけ。
まあそれは良いとして。上記の変換、フツーに考えればすぐ気づくことだが「じゃあ変換後の文字を最初から使ったらどーなるか」とゆー疑問が出る。こんなファイル名に関するものだったら単純な変換ではなくうまく切り分けてマッピングしてくれる…などと(無駄な)期待して試してみたのだが、例えば「test:test-.txt」というファイルを作成してls打ってみると「test:test:.txt」とゆーふーに、本来変換されて欲しくない明示的なハイフンまで変換されてるじゃないですか。
とするとこの機能を使って対応しようとした場合、Linux側で使う予定のない文字を変換対象として割り当てるしか手がない。しかしながら「Linuxでファイル名に使えない文字」とゆーのはスラッシュ(/)とNULLコードの2つだけ。そんなんWindowsでも使えるわけない。
また、せめてこのマッピングが有効になる範囲を限定できればなと思ったのだが、この設定は「NFSサーバ全体」に対して反映されるため、このNFSサーバを利用する全てのLinuxサーバが同様の影響を受ける。正直あちこちのファイルをバックアップしてるため「それら全てで使われることのない文字」なんてのを特定することはとても困難だし、将来的な確約ももちろん持てない。
となると1文字→複数文字の置換ができればとも思うが、どうもこの機能だと1文字単位でのマッピングしかできないらしい。
…とゆー感じで振り出しに戻ったところ。ただまあある程度ファイル名の規則性を注意してれば文字置換でなんとかできそうではあるのでその方向で検討中。どっちにしてもNFSなんて明らかにxNIX向けの機能提供するんだったらカンペキな対応しとけっての。WindowsなんだからCIFSでやれって意見は却下ねw
追記:
1バイト文字→2バイト文字、あるいは2バイト→1バイトへの置換が可能な事を確認。半角コロン(:)を、少なくともLinuxシステムのファイル名には使わなさそうな全角文字に変換することで対応。
ありがちなPostfix+Dovecot環境(Maildirベース)を構築。今回バックアップ用にWindows Storage ServerベースのNASを用意していたためNFS共有を作成しメールサーバからマウント。そこにrsyncをかけようと試みた
が、試みたところいくつかのファイルでエラーが発生している。いくつかとゆーか結構な数のエラーが出ている。エラー内容は以下の通り。
rsync: recv_generator: failed to stat [rsync先]: Input/output error (5)
大したエラーではなさそうと思いつつもネットで調べると「ディスク不良じゃね」的な話が多い。しかし成功してるファイルもあるし、NASにもサーバにもこれといってディスク不良の兆候は見られない。
エラーが出てるファイルをよく見る。すると各ユーザのMaildir/cur内にある=一度閲覧されたメールで、メールファイルの最後に「:2~」とか着いたファイルであることに気づく。
最初はrsyncがコロン(:)に対応してないのかと思って調べたが(※rsyncもコマンドの中でのデリミタに使ってたので)どうもそーゆー話は見られない。
しばらくしてはたと「…ああ、そういやWindows Storage Serverだっけな」とゆー事を思い出す。NFSマウントなんかしてたからつい「Windowsである」とゆー認識が抜けていた。そりゃWindowsだったらコロンの着いたファイルが作れないのは当然であるさ。
さて困った。このままではシンプルなrsyncがうまくいかない。バックアップをとるだけなら1圧縮ファイルにまとめるあり文字列コンバートするなりの方法はあるけれど、できればrsyncでカタを付けたい。一度内部の別領域にrsyncかけてからtarとかもあるだろうけれども今後のメールサーバの利用状況次第ではバックアップ用の領域までまかなえるかどーか分からない。
Dovecotの設定で上記デリミタをコロンから変更できないものかとかも調べたができなそう。rsync単体で何か上手くコンバートしながら渡す方法はないかと調べて見たがそれっぽい方法に当たらない。(※複数の処理を連動させたシェルでも作れれば可能かもしれないが…)
もーこんなんWindowsのせいなんだからなんとかしてよ!と思いなんとなく「Windows Server NFS ファイル名置換」とかでググったところ、以下の情報に辿り着く。
ファイル名の文字変換の概要
ファイル名の文字変換を構成する
要するに特定文字を変換して保存しようというもの。試しに上記のサンプルにある通りコロン(:)をハイフン(-)に変換するよう設定し、Linux側でコロンの付いたファイルを生成したところ無事保存に成功!Linuxからはちゃんとコロン付きのファイル名で見えつつWindows側ではハイフン付きのファイルとして保存されてる。これで勝つる!
…わけにいかないのがWindowsのWindowsたる所以。最近とあるMSの中の人がアンチMSの人に対して「今は問題ないんだから和解しよーぜへらへら」(意訳)とかブログで言ったらしいが、ぶちゃけ現在進行形でMSの問題は積み上がってるちゅーねん。先日アップデートされたIE11でも早速問題起きてるっちゅーねん。対MSの戦闘は相手の殲滅しかありえないねぶちゃけ。
まあそれは良いとして。上記の変換、フツーに考えればすぐ気づくことだが「じゃあ変換後の文字を最初から使ったらどーなるか」とゆー疑問が出る。こんなファイル名に関するものだったら単純な変換ではなくうまく切り分けてマッピングしてくれる…などと(無駄な)期待して試してみたのだが、例えば「test:test-.txt」というファイルを作成してls打ってみると「test:test:.txt」とゆーふーに、本来変換されて欲しくない明示的なハイフンまで変換されてるじゃないですか。
とするとこの機能を使って対応しようとした場合、Linux側で使う予定のない文字を変換対象として割り当てるしか手がない。しかしながら「Linuxでファイル名に使えない文字」とゆーのはスラッシュ(/)とNULLコードの2つだけ。そんなんWindowsでも使えるわけない。
また、せめてこのマッピングが有効になる範囲を限定できればなと思ったのだが、この設定は「NFSサーバ全体」に対して反映されるため、このNFSサーバを利用する全てのLinuxサーバが同様の影響を受ける。正直あちこちのファイルをバックアップしてるため「それら全てで使われることのない文字」なんてのを特定することはとても困難だし、将来的な確約ももちろん持てない。
となると1文字→複数文字の置換ができればとも思うが、どうもこの機能だと1文字単位でのマッピングしかできないらしい。
…とゆー感じで振り出しに戻ったところ。ただまあある程度ファイル名の規則性を注意してれば文字置換でなんとかできそうではあるのでその方向で検討中。どっちにしてもNFSなんて明らかにxNIX向けの機能提供するんだったらカンペキな対応しとけっての。WindowsなんだからCIFSでやれって意見は却下ねw
追記:
1バイト文字→2バイト文字、あるいは2バイト→1バイトへの置換が可能な事を確認。半角コロン(:)を、少なくともLinuxシステムのファイル名には使わなさそうな全角文字に変換することで対応。
2014-02-28 [技術・作業]
…ただでさえ複雑なCALを更に複雑にする気か、としか思えない。
あるいは広まらないWinPhoneの代わりにAndroid及びiOSからもカネを徴収する方法を模索している、としか思えない。
まあありがたい人もいるだろうけどね。Win上でしか動かないアプリを一応遠隔で動かせるとか。
そいや艦これプレイヤーの友人が似たよーなマネしてたなー。
あるいは広まらないWinPhoneの代わりにAndroid及びiOSからもカネを徴収する方法を模索している、としか思えない。
まあありがたい人もいるだろうけどね。Win上でしか動かないアプリを一応遠隔で動かせるとか。
そいや艦これプレイヤーの友人が似たよーなマネしてたなー。
2013-10-09 [日記]
ふーむ…。話題先行な感もある3Dプリンタだが曲がりなりにもプラモ作りを趣味とするIT系の人間としては興味がないと言ったら嘘になる。
もー少し様子を見て、そうね、ちょうどWin8.1が出てくる頃に検討してみますか。
もー少し様子を見て、そうね、ちょうどWin8.1が出てくる頃に検討してみますか。
2013-07-05 [OS]
一体どーゆーオチかと思ったらw
まあマジレスすると「争いは同じレベルの者同士でしか発生しない」ということですな。まあ本来の意味ではないですが、そのレベルに達しないと争いにすら参加できないのもまた事実、と。
まあマジレスすると「争いは同じレベルの者同士でしか発生しない」ということですな。まあ本来の意味ではないですが、そのレベルに達しないと争いにすら参加できないのもまた事実、と。
2013-04-30 [モバイル]
数日前に見つけた友人が嬉々として伝えてきた話w
「あわよくば2個買っていただこう」的発想が透けるどころか前面に見えるわけですがそんなのには引っかからないぜ!私にはあいだけいれば十分だぜ!w
「あわよくば2個買っていただこう」的発想が透けるどころか前面に見えるわけですがそんなのには引っかからないぜ!私にはあいだけいれば十分だぜ!w
関連タグ:Windows
2012-10-15 [OS]
色んな理由からLinuxからWindows(Server)の操作をしたい事があります。
専用のAPIやらRPCやらを持ってるモノだったらそこに対してアクセスしますが、内部コマンドについて処理をしたい場合何らかのCLI系サーバをWin側で立ち上げるか、はたまたIISとASP等を経由して内部コマンドを実行、といった手段があります。
そんな手法の1つ、「LinuxからWindowsのコマンドを直接実行する手段」としてsamba系のツール「winexe」があります。と言うかあることを最近知りました。これはWindowsで言うところの「psexec」に似ており、コマンドプロンプトで実行するようなコマンドを実行することができます。
で、更にPHPのexec関数やらsystem関数やらを使う事でLinuxベースのWebアプリからWindowsの特定制御を行う事を試みたのが今回のお話です。そんなことしたい人間がどれだけいるかって話です(苦笑)。
とりあえずLinuxはおなじみCentOS5系でPHPは5.1.6。WindowsはServer 2008 R2。winexeは1.00。
winexeのインストールは割愛。ソースコンパイルして適当なbinにコピー。
適当にコマンドテスト。
winexe -U "Administrator%pass" --system //[HOST] ipconfig 1> /var/log/test_winexe.log
とりあえず出力をファイルに書いてます。結果ipconfigの結果が素直に返って来て感動。但し今更SJIS。まあコマンドプロンプトだから仕方ないか。
で、次にこれをPHPのexec関数から実行。
exec("winexe -U \"Administrator%pass\" --system //[HOST] ipconfig 1> /var/log/test_winexe.log");
…ところがコレが何時まで経っても応答が返ってこない。psでプロセス見るとコマンドは発行されて止まってる様子。killしないと残りっぱなし。
ログファイルを見ると
tevent: EPOLL_CTL_ADD failed (Operation not permitted) - falling back to select()
というエラーが1行。
「permitted」云々言ってるんでアクセス権かな、と思いsudoによるroot権限実行に変更。しかし変化無し。
他の実行コマンド系はどうだろう、と「system()」「shell_exec()」を用いるものの変化無し。
またコマンド内容をシェルスクリプトに移動し、そちらで起動しても変化無し。
sudoでもそうだったがこういった場合標準出力関係でトラブる事が多いので、似た状況で稼働するcronでの起動を試す。ユーザはPHPの稼働環境と合わせる意味でapache。しかしコチラは無事に稼働。TTY及びapacheユーザ権限の問題の可能性が薄れる。
仕方ないので(いや最初からやれよと)元々出ているエラーメッセージを追うことに。
「EPOLL_CTL_ADD failed」はコネクション系のエラーぽい。しかしここで「Windows側に処理結果が残るバッチ」を作成して実行したところ、そちらの稼働は確認できた。つまるところ「コマンドを読んだ後の戻り」が上手く言ってない様子。
そうなると、どちらかというと「PHPから起動した故にプロセスの戻りのパイプがよくわからんことになっている」という可能性があるのかなと。EPOLLについて調べてたらファイルディスクリプタがどうこう言われたし。
なので上記シェルの起動を、プロセス単位で制御する「popen()」に変更。そしてポインタを開く際の権限モードを書き込み可能な「w」で動くように設定。
$pp = popen("winexe -U \"Administrator%pass\" --system //[HOST] ipconfig 1> /var/log/test_winexe.log","w");
pclose($pp);
上記の様にしたところ、無事終了しつつ且つ結果も取れるようになりました。
更に実験で上記popenの権限モードを読み専用の「r」に変更したところ、他のexecやらと同様に停止しつつプロセスに居残り、また同様のEPOLL_CTL_ADD系エラーが発生することを確認しました。
まーこんな話が世の中役に立つかはアレですが、他の実行ファイルを起動する場合にも似たような話が発生する可能性はあるでしょう。まあ一例ってことで。
専用のAPIやらRPCやらを持ってるモノだったらそこに対してアクセスしますが、内部コマンドについて処理をしたい場合何らかのCLI系サーバをWin側で立ち上げるか、はたまたIISとASP等を経由して内部コマンドを実行、といった手段があります。
そんな手法の1つ、「LinuxからWindowsのコマンドを直接実行する手段」としてsamba系のツール「winexe」があります。と言うかあることを最近知りました。これはWindowsで言うところの「psexec」に似ており、コマンドプロンプトで実行するようなコマンドを実行することができます。
で、更にPHPのexec関数やらsystem関数やらを使う事でLinuxベースのWebアプリからWindowsの特定制御を行う事を試みたのが今回のお話です。そんなことしたい人間がどれだけいるかって話です(苦笑)。
とりあえずLinuxはおなじみCentOS5系でPHPは5.1.6。WindowsはServer 2008 R2。winexeは1.00。
winexeのインストールは割愛。ソースコンパイルして適当なbinにコピー。
適当にコマンドテスト。
winexe -U "Administrator%pass" --system //[HOST] ipconfig 1> /var/log/test_winexe.log
とりあえず出力をファイルに書いてます。結果ipconfigの結果が素直に返って来て感動。但し今更SJIS。まあコマンドプロンプトだから仕方ないか。
で、次にこれをPHPのexec関数から実行。
exec("winexe -U \"Administrator%pass\" --system //[HOST] ipconfig 1> /var/log/test_winexe.log");
…ところがコレが何時まで経っても応答が返ってこない。psでプロセス見るとコマンドは発行されて止まってる様子。killしないと残りっぱなし。
ログファイルを見ると
tevent: EPOLL_CTL_ADD failed (Operation not permitted) - falling back to select()
というエラーが1行。
「permitted」云々言ってるんでアクセス権かな、と思いsudoによるroot権限実行に変更。しかし変化無し。
他の実行コマンド系はどうだろう、と「system()」「shell_exec()」を用いるものの変化無し。
またコマンド内容をシェルスクリプトに移動し、そちらで起動しても変化無し。
sudoでもそうだったがこういった場合標準出力関係でトラブる事が多いので、似た状況で稼働するcronでの起動を試す。ユーザはPHPの稼働環境と合わせる意味でapache。しかしコチラは無事に稼働。TTY及びapacheユーザ権限の問題の可能性が薄れる。
仕方ないので(いや最初からやれよと)元々出ているエラーメッセージを追うことに。
「EPOLL_CTL_ADD failed」はコネクション系のエラーぽい。しかしここで「Windows側に処理結果が残るバッチ」を作成して実行したところ、そちらの稼働は確認できた。つまるところ「コマンドを読んだ後の戻り」が上手く言ってない様子。
そうなると、どちらかというと「PHPから起動した故にプロセスの戻りのパイプがよくわからんことになっている」という可能性があるのかなと。EPOLLについて調べてたらファイルディスクリプタがどうこう言われたし。
なので上記シェルの起動を、プロセス単位で制御する「popen()」に変更。そしてポインタを開く際の権限モードを書き込み可能な「w」で動くように設定。
$pp = popen("winexe -U \"Administrator%pass\" --system //[HOST] ipconfig 1> /var/log/test_winexe.log","w");
pclose($pp);
上記の様にしたところ、無事終了しつつ且つ結果も取れるようになりました。
更に実験で上記popenの権限モードを読み専用の「r」に変更したところ、他のexecやらと同様に停止しつつプロセスに居残り、また同様のEPOLL_CTL_ADD系エラーが発生することを確認しました。
まーこんな話が世の中役に立つかはアレですが、他の実行ファイルを起動する場合にも似たような話が発生する可能性はあるでしょう。まあ一例ってことで。
2012-09-01 [技術・作業]
一瞬「Sony版Cintiqか!?」と思いかけたが「そんなわけないよなははは」と即座に脳内で反論が走ったw
しかしなぁ、タッチパネルで20インチは大きすぎじゃないかなぁ。そして複数人同時利用を考えると逆に少なすぎじゃないかなぁ。まああくまで普通のPC操作を考えた場合の話ですが。
例えばコレでパーティーゲームとかやろうとするとまた話は違ってくるのかもしれない。人生ゲームとか。
しかしなぁ、タッチパネルで20インチは大きすぎじゃないかなぁ。そして複数人同時利用を考えると逆に少なすぎじゃないかなぁ。まああくまで普通のPC操作を考えた場合の話ですが。
例えばコレでパーティーゲームとかやろうとするとまた話は違ってくるのかもしれない。人生ゲームとか。
2012-08-31 [PC]
ワリと戦略的なお値段。ここらでXPを(及びVistaを)一掃しておきたいとゆー魂胆か。とりあえず手持ちで寝てるXPライセンス分をまとめて更新しとくか。
2012-07-03 [OS]
今日のアクセス履歴で「zendserver documentroot 変わらない」とゆーワードで来た方がいらっしゃったのですが、ひょっとして以前私が引っかかったのと同じ理由かもしれないので備忘録として記載しておきます。
その前に軽くご説明しときますと「ZendServer」とはPHP及びZendFrameworkを稼働させるためのWebアプリケーションサーバ。その実体はApache+PHPにZendFramework環境を搭載し、且つサーバ操作・設定用のGUIを搭載したもので、それぞれを個別にインストールするよりかは簡単にZendFramework環境を構築できるものです。LinuxだったらApache+PHPは標準として入っている事が多いのでZendFrameworkを入れてApacheを設定するだけなのでそれほど意味はない(※最適化とか別の利点はありますが)ですが、Windowsの場合にApacheごと1つのインストーラで導入できるので、それぞれを個別にインストールしたり、あるいはIISでPHPを動かす設定を行うより楽に環境が構築できます。プラットフォームを変更する可能性がある場合にも有効でしょうな。
そいや何年か前に「IISでもPHPがちゃんと動くようになったよ!」とMSが盛んに言ってる時期があったけどアレってどうなったんでしょね。個人的には結局「PHPを動かすのにIISを選択するもんじゃない」とゆー結論に達しましたが。
話を戻すと、結局のところインストールされるものはフツーにApacheでありPHPなので、設定方法は通常通りhttpd.confやらphp.iniやらのテキストを編集することで可能です。一部設定はGUIでも可能ですが慣れてる人は直接confなりiniなりを編集した方が早いと思います。DocumentRootの設定も然り。
…と、前置きが長くなりましたな。ぶちゃけそんな複雑な話では実はなく、それどころかZendServerの話でもなく。
インストール対象のOSがWindows7や2008Serverなどで、ZnedServerのインストール先を「Program Files」(含む(x86))にしてしまった場合、あのフォルダの配下はいわゆるUACにより通常権限でのファイルの書き換えができなくなっているため、「フツーの方法でテキストエディタなどからhttpd.confを開いて保存しても正式な登録として反映されない」とゆー罠があります。コレがヤらしいのは正式に登録はされなくてもどっかに仮保存されてるらしく、保存→再び開くとちゃんとデータが書き換わって見える点。なので「あれー?ちゃんと設定ファイル書き換わってるなー、でも設定反映しないなー」とすげー悩む事になるわけです。コレは「Program Files」配下に限らずWindows配下のhostsファイルとかも同様。
とりあえず対処方法はメモ帳などのテキストエディタを右クリック→「管理者として実行」で管理者権限起動し、その上で「ファイル」メニューから目的のファイルを呼び出して編集→保存すること。対象ファイルをD&Dしてはダメ。
根本的な対策としては「Program Files」とかのUACによって特殊な管理をされているフォルダを避けてインストールすること。 ま、セキュリティ的にそれが良いかどうかは別物ですが。
そもそも根本的な問題としてUACの制御方法が一般人にとてもわかりにくい、とゆーこれまで議論百出した話になるわけですが。まあその可能性さえ押さえておけば他のアプリや設定ファイルで同じ事象が発生してもピンとくるかと思います。
その前に軽くご説明しときますと「ZendServer」とはPHP及びZendFrameworkを稼働させるためのWebアプリケーションサーバ。その実体はApache+PHPにZendFramework環境を搭載し、且つサーバ操作・設定用のGUIを搭載したもので、それぞれを個別にインストールするよりかは簡単にZendFramework環境を構築できるものです。LinuxだったらApache+PHPは標準として入っている事が多いのでZendFrameworkを入れてApacheを設定するだけなのでそれほど意味はない(※最適化とか別の利点はありますが)ですが、Windowsの場合にApacheごと1つのインストーラで導入できるので、それぞれを個別にインストールしたり、あるいはIISでPHPを動かす設定を行うより楽に環境が構築できます。プラットフォームを変更する可能性がある場合にも有効でしょうな。
そいや何年か前に「IISでもPHPがちゃんと動くようになったよ!」とMSが盛んに言ってる時期があったけどアレってどうなったんでしょね。個人的には結局「PHPを動かすのにIISを選択するもんじゃない」とゆー結論に達しましたが。
話を戻すと、結局のところインストールされるものはフツーにApacheでありPHPなので、設定方法は通常通りhttpd.confやらphp.iniやらのテキストを編集することで可能です。一部設定はGUIでも可能ですが慣れてる人は直接confなりiniなりを編集した方が早いと思います。DocumentRootの設定も然り。
…と、前置きが長くなりましたな。ぶちゃけそんな複雑な話では実はなく、それどころかZendServerの話でもなく。
インストール対象のOSがWindows7や2008Serverなどで、ZnedServerのインストール先を「Program Files」(含む(x86))にしてしまった場合、あのフォルダの配下はいわゆるUACにより通常権限でのファイルの書き換えができなくなっているため、「フツーの方法でテキストエディタなどからhttpd.confを開いて保存しても正式な登録として反映されない」とゆー罠があります。コレがヤらしいのは正式に登録はされなくてもどっかに仮保存されてるらしく、保存→再び開くとちゃんとデータが書き換わって見える点。なので「あれー?ちゃんと設定ファイル書き換わってるなー、でも設定反映しないなー」とすげー悩む事になるわけです。コレは「Program Files」配下に限らずWindows配下のhostsファイルとかも同様。
とりあえず対処方法はメモ帳などのテキストエディタを右クリック→「管理者として実行」で管理者権限起動し、その上で「ファイル」メニューから目的のファイルを呼び出して編集→保存すること。対象ファイルをD&Dしてはダメ。
根本的な対策としては「Program Files」とかのUACによって特殊な管理をされているフォルダを避けてインストールすること。 ま、セキュリティ的にそれが良いかどうかは別物ですが。
そもそも根本的な問題としてUACの制御方法が一般人にとてもわかりにくい、とゆーこれまで議論百出した話になるわけですが。まあその可能性さえ押さえておけば他のアプリや設定ファイルで同じ事象が発生してもピンとくるかと思います。
2012-03-12 [技術]
一瞬なんですと!と思ったが記事内容を読むとよーするにAndroidをシンクラ化するって話なのね。しかも月額で。ちとがっかり。
買い切り型にしてサーバは自分で用意できるようになったらまた話は違うかもしれないが。
買い切り型にしてサーバは自分で用意できるようになったらまた話は違うかもしれないが。
2012-03-02 [ソフトウェア]
にょーん、会社も家庭もWin7の64bit版だから注意…と思ったらSafari入れてないから緊急ではないか。まあ早いとこ埋める必要はあるでしょうが。
2011-12-22 [OS]
話は全く違うんだけどさぁ、現行Windows7の「アップデートしたのでXX分後に再起動します」ってすげー困るんですけど。色々立ち上げた状態で席を外してるときに勝手に再起動されて、やりかけのいろんなモノがムダになったりチャットしてる人に挨拶もナシにオフラインになったり。喧嘩売ってんのかと。
2011-11-16 [OS]
正直な感想としては「明言してる暇があったら出せばいいのに」。
2011-07-07 [モバイル]
この自動実行の話ってもうだいーぶ前からgdgdしてるけど未だにこーゆーレベルなのか。ぶちゃけ自動実行がありがたいと思ったことって一度もないどころか邪魔だと思ったことの方が多いけどな。あらゆるメディアを不可にしてもらって構わないくらいなんだが、これだけ対応が遅れ気味とゆーことはこの機能がないと困る人種も確実にいるとゆーことなんだろか。
関連タグ:Windows
2011-02-09 [セキュリティ]
諸事情によりログの集中管理システムを構築する必要に迫られ、とりあえずsyslogを集めた後、 PHPで簡単に解析して表示するLinuxサーバを構築したのだが、複数ヴァーチャルドメインを扱う メールサーバのログが膨大にあり、ファイルに溜めてると処理が結構重い事が判明。 どっちにしろファイルベースでのコントロールは解析時の自由度が低く扱いづらいので、 集めたログをDBに溜める手法を模索した結果、見つかったのが「Modular Syslog」、通称msyslog。 ほぼsyslog互換ながらMySQL、PostgreSQLへの吐き出しや、暗号化による改竄対策、 TCPでの接続サポートなどの機能拡張を行ったモノ、らしい。
インストール、設定はこちらのサイト様 を参考に、私の場合PostgreSQLなので随時読み替えで対応。ただ、今回の場合ログ収集サーバのローカルに PostgreSQLも構築したのだが、syslog.confでDBを指定する際に
%pgsql -s [サーバ名] -u [ユーザ名] -p [パスワード]・・・
という風にサーバ指定でTCP接続しようとすると何故か上手くDBに吐いてくれない(※pg_hba.confやpostgresql.conf、接続ユーザのGRANTは設定済み)。 なのでpostgresql.confでTCPソケットを無効化、ローカルでの接続に限定した上で、
%pgsql -u [ユーザ名] -p [パスワード]・・・
のようにサーバ指定を外したらちゃんとDBに吐いてくれるようになった。具体的にはこんなカンジ。ちなみに念のためファイルにも落としてます。ファシリティ、プライオリティはお好みで。
local4.* %pgsql -u [ユーザ名] -p [パスワード] -d [DB名] -t [テーブル名] -F -P
local4.* /var/log/[ファイル名]
これでとりあえず各種Linuxサーバのログを(syslog経由限定だが)集中管理できるようになった。 あ、ちなみにリモート側は標準syslogのリモート送信設定で問題ないです。UDP限定になるけど。
で、次にやりたくなるのがWindowsサーバのログ収集。ぶっちゃけイベントビューアで見れる内容を syslogのプロトコルで吐き出してくれる手法があればいいのだが・・・ってありました。 「NTSyslog」。ありがたい事に日本語をEUC-JPに変換して送信してくれるそうで。 早速インストール&実行。ところが確かにログは吐いてくれたのですが、受け取った側で 日本語が全て「XXXXXX・・・」となってる。試しにmsyslogを標準のsyslogに戻してみると、 こっちではちゃんと日本語で保存されるので出し側には問題ないみたい。msyslogの挙動か。
試しに標準syslogとmsyslogのソースを見比べたけど、書き出し部分にそれほど大きな差は見受けられない。 てゆかよくよく観察してみるとログ管理サーバ本体が書いてるログは日本語も化けずに書き出されてたけど、 リモートサーバから受け取ったログは上記のように化け(つか変換)されてる。てことは 問題はUDPで受け取る際の挙動かな、と推察。msyslogのUDP受信モジュール(?)im_udp.cのソースを眺めてみると、 112行目付近に以下のような記述を発見。
/* change non printable chars to X, just in case */
for(p = ret->im_msg; *p != '\0'; p++)
if (!isprint((unsigned int) *p) && *p != '\n')
*p = 'X';
ホントはここんところをEUC-JP対応に書き換えればいいんだろうけど、ちょいと面倒だったので お気楽に丸々コメントアウト。リコンパイルの結果、無事リモートから送られた EUC-JPもきちんと受け取れるようになりましたとさ。
あ、言い忘れてましたがmsyslogのバージョン1.08gの話です。
インストール、設定はこちらのサイト様 を参考に、私の場合PostgreSQLなので随時読み替えで対応。ただ、今回の場合ログ収集サーバのローカルに PostgreSQLも構築したのだが、syslog.confでDBを指定する際に
%pgsql -s [サーバ名] -u [ユーザ名] -p [パスワード]・・・
という風にサーバ指定でTCP接続しようとすると何故か上手くDBに吐いてくれない(※pg_hba.confやpostgresql.conf、接続ユーザのGRANTは設定済み)。 なのでpostgresql.confでTCPソケットを無効化、ローカルでの接続に限定した上で、
%pgsql -u [ユーザ名] -p [パスワード]・・・
のようにサーバ指定を外したらちゃんとDBに吐いてくれるようになった。具体的にはこんなカンジ。ちなみに念のためファイルにも落としてます。ファシリティ、プライオリティはお好みで。
local4.* %pgsql -u [ユーザ名] -p [パスワード] -d [DB名] -t [テーブル名] -F -P
local4.* /var/log/[ファイル名]
これでとりあえず各種Linuxサーバのログを(syslog経由限定だが)集中管理できるようになった。 あ、ちなみにリモート側は標準syslogのリモート送信設定で問題ないです。UDP限定になるけど。
で、次にやりたくなるのがWindowsサーバのログ収集。ぶっちゃけイベントビューアで見れる内容を syslogのプロトコルで吐き出してくれる手法があればいいのだが・・・ってありました。 「NTSyslog」。ありがたい事に日本語をEUC-JPに変換して送信してくれるそうで。 早速インストール&実行。ところが確かにログは吐いてくれたのですが、受け取った側で 日本語が全て「XXXXXX・・・」となってる。試しにmsyslogを標準のsyslogに戻してみると、 こっちではちゃんと日本語で保存されるので出し側には問題ないみたい。msyslogの挙動か。
試しに標準syslogとmsyslogのソースを見比べたけど、書き出し部分にそれほど大きな差は見受けられない。 てゆかよくよく観察してみるとログ管理サーバ本体が書いてるログは日本語も化けずに書き出されてたけど、 リモートサーバから受け取ったログは上記のように化け(つか変換)されてる。てことは 問題はUDPで受け取る際の挙動かな、と推察。msyslogのUDP受信モジュール(?)im_udp.cのソースを眺めてみると、 112行目付近に以下のような記述を発見。
/* change non printable chars to X, just in case */
for(p = ret->im_msg; *p != '\0'; p++)
if (!isprint((unsigned int) *p) && *p != '\n')
*p = 'X';
ホントはここんところをEUC-JP対応に書き換えればいいんだろうけど、ちょいと面倒だったので お気楽に丸々コメントアウト。リコンパイルの結果、無事リモートから送られた EUC-JPもきちんと受け取れるようになりましたとさ。
あ、言い忘れてましたがmsyslogのバージョン1.08gの話です。
2005-07-06 [技術・作業]