カテゴリー
WordPress

本家のお世話-#8。

投稿アップデート情報  追記2(2012/7/16)  追記3(2013/8/15)

 前の記事の続きで,XREA+での話です。長くなったので分けました。

  1. XREAの管理画面の「データベース」操作で,文字コードをUNICODEにして,MySQLのデータベースを作成。
  2. 解凍したWordPress ver.3.2.1をFTPで/public_htmlにアップロード。あとで,ネットワーク化するので,WordPress専用ディレクトリを作ってはいけません。
  3. ブラウザで,http://example.s***.xrea.com/にアクセス。
  4. WordPressの設定ファイル(wp-config.php)を作る。
  5. wp-config.phpのパーミッションを直していないままのせいかセーフモードのせいか,「wp-config.php ファイルへの書き込みができません。」が出る。
    ローカルのテキストエディタを使い表示されたコードを使ってwp-config.phpを作成。このときにWindowsのメモ帳は使わないこと(BOM対策)。それと,うちのサイトはマルチサイト仕様なので,
        define (‘WP_ALLOW_MULTISITE’, true);
    を,「/* 編集が必要なのはここまでです ! WordPress でブログをお楽しみください。 */」 よりも上に忘れずに追加すること。
  6. 作成したwp-config.phpをFTPでアップロード。インストールを実行。次画面で各データを記入。実行するとインストール終了。設定メールアドレスに「新しい WordPress サイト」という題名のメールが来る。
  7. ブラウザからhttp://example.s***.xrea.com/にアクセスして,改めてログイン。
  8. XREAの自動広告のせいで,ダッシュボードのJavaScriptがまともに動かないため表示がおかしいので(もちろん,XREA+では広告は入らないけど,この時点では,まだ+の契約をしていなかった。),
        LayoutIgnoreURI *
    を記入した.htaccess(パーミッションは604)を作り,wp-admin直下にアップロード。この情報は,はやわかりXREAの「自動挿入広告」のFAQのページを参考にした。
  9. ダッシュボードのメニューから,「ツール」>>「ネットワークの設定」を選ぶ。サブディレクトリ型を選び,インストール続行。
  10. WordPress サイトのネットワークを作成のページの,
    1. blogs.dirの作成(パーミッションは707)
    2. 訂正したwp-config.php(パーミッションは404)を上書きアップロード。
    3. 作成した.htaccess(パーミッションは604)をアップロード。

    の作業を間違いなく実行。

  11. 終わったらログインし直す。
  12. 右上の「こんにちはxxxさんのメニューからプロフィールを選ぶ。」
    • 「ビジュアルリッチエディターを使用しない」をチェック。これは好き好き。
    • この時点では,ユーザー名とニックネームが同じなので,ニックネームをo6asanに変更。
      ブログ上の表示名もo6asanに変更。
    • プロフィールの更新をクリック。
  13. 「設定」>>「ネットワーク設定」へ移動。
    アップロード設定のメディアアップロードのボタンの画像・動画・音楽にチェック。
    日本語デフォルトで使う場合は,ここで初期設定言語をJapaneseにする。
  14. プラグインを削除しようとしたらエラーが出るので,/public_html/wp-admin の.htaccessに
        <Files plugins.php>
        AddHandler application/x-httpd-phpcgi .php
        </Files>
    を追加。(PHPのセーフモード対策。)
  15. プラグインを追加しようとしたらエラーが出るので,/public_html/wp-admin の.htaccessに
        <Files update.php>
        AddHandler application/x-httpd-phpcgi .php
        </Files>
    を追加。(PHPのセーフモード対策。)
    必要なプラグインをインストールし,いくつかを除いて「ネットワークで有効化」しておく。

      現在インストールしてあるプラグインは以下の通り。一般的なのも一般的でないのもあるが,簡単に機能を書いておく。

    • 「ネットワークで有効化」をするもの
          Akismet <—– 定番のスパム対策。
          Contact Form by ContactMe.com <—– メールフォーム用(今まで使用の自前は止めた)
          Flash Calendar for WordPress <—– 前から使っているカレンダ
          Jetpack by WordPress.com <—– アクセス解析。これも前と替えた。
          Movable Type and TypePad Importer <—– MovableTypeデータのインポート用
          My Link Order <—– リンク表示順のカスタマイズ用
          Picbox <—– 画像表示用
          Revision Control <—– 名前の通り
          WordPress Importer <—– WordPressデータのインポート用
          WP Multibyte Patch <—– 定番のマルチバイト文字パッチ
          WP Wapuu Widget <—– redcockerさん配布のワプー表示用プラグイン
    • 「ネットワークで有効化」をしない,または,してはいけないもの
          Similar Postssとそのために必要なPost-Plugin Library <—– Similar Postss用。
          WordPress File Monitor Plus <—– サーバ上のファイル変更監視用
          WP Ajax Edit Comments <—– コメント編集用

    Similar Postssについては,初めは子サイトでうまく動かなかった。やっているうちに動かせる方法が分かったので,フォーラムに投稿した。同じ使い方をする場合はこちらを読んでほしい。。

  16. ビジュアルエディターは使わない設定にしているが,XREAのサーバがgzの解凍をサポートしてないせいか有効にしても使えなかった件を解決するために,「Windows サーバーでビジュアルエディタが使えない (http://digitalbox.jp/happy-go-lucky-computing/wordpress/unused-wordpress-visual-editor-on-windows-server/)」の情報を参考に以下の変更を行なう。
    wp-tinymce.js.gz を展開して wp-tinymce.js を作成。これを wp-tinymce.js.gz のあったディレクトリにアップロード。wp-tinymce.phpを開いて,

    if ( isset($_GET['c']) && 1 == $_GET['c'] && isset($_SERVER['HTTP_ACCEPT_ENCODING'])
    	&& false !== stripos($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip') && ( $file = get_file($basepath . '/wp-tinymce.js.gz') ) ) {
    	header('Content-Encoding: gzip');
    	echo $file;
    } else {
    	echo get_file($basepath . '/tiny_mce.js');
    }
    exit;
    

    の部分をコメントアウト(あるいは削除)し,以下の2行に書き換える。
            echo get_file($basepath . ‘/wp-tinymce.js’);
            exit;

    追記2(2012/7/16)
     上記のことについて,Xreaではwp-includes/js/tinymceの直下に,以下の内容の.htaccessを置くことで,同様の効果を得ることができる。
       <Files wp-tinymce.php>
       AddHandler application/x-httpd-php5cgi .php
       </Files>
     Xreaの場合は,こっちを使ったほうが簡単だし,バージョンアップのときも気にしなくてよい。

  17. サイトを追加する。
    • サイトのアドレス:BLOG1(英字は小文字のみ。うっかり,最後に / をつけないこと。これでハマった。)
    • サイトのタイトル:ブログ1
    • 管理者メールアドレス:hoge@example.com

    この後,XREAの管理画面から,「ツール」>>「ファイル所有者の修正」をやっておく。やっておかなかったら,データのインポートでエラーが出る。まぁ,その時点でやっても問題ないけど。
    どこで追加したか忘れたが,/public_html/wp-admin の.htaccessには以下の2つも追加しておく。忘れると,あとでやるインポートやテーマのインストールがうまくいかない。
        <Files themes.php>
        AddHandler application/x-httpd-phpcgi .php
        </Files>
        <Files admin.php>
        AddHandler application/x-httpd-phpcgi .php
        </Files>

  18. 各サイトの管理画面から「設定」に行き,一般的な設定(一般~パーマリンク設定)をする。WordPressの場合は,全体を非公開にする設定がない(?)ので,テストサイトへのアクセス制限は.htaccessで行う。
    全体の比率の関係でサイト全体の言語を英語にしているので,日本語ブログの設定を忘れないように日本語に直しておく。
  19. 作成したすべてのサイトのAkismet API キーを有効にする。
  20. MovableType5.12の「Tools」>>「EXport Entries」でエクスポートしたファイル(.txt)をテキストエディタで開き,旧URIの対応する部分を新URIの対応するものに書き換えたのち,
         (例) /BLOG/ を http://xxx.s***.xrea.com/blog-e/files/
    Movable Type and TypePad Importer を使ってインポート。
    同様に,WordPress 3.2.1のエクスポートファイル(.xml)をテキストエディタで開き,旧URIの対応する部分を新URIの対応するものに書き換えたのち,
         (例) /BLOG-J/~/uploads/ を http://xxx.s***.xrea.com/blog-j/files/
    WordPress Importer を使ってインポート。
    どちらの場合もサイズが大きいと(デフォルトでは,Maximum size: 1.46484375MB になっている。)エラーが出るので,分割してアップロードする。どちらも本体はテキストファイルなので分割はできるが,xmlの場合,分割したそれぞれにヘッダーをつけておかないといけなかった。
    忘れるところだったが,最後の2行
         </channel>
         </rss>
    があると,ファイルサイズが小さくてもエラーが出る。なんでだかわからないが,分割ファイルをアップしたときに怪我の功名で気づいた。エラーメッセージは,下記のようなものだった。
         Import WordPress
         *** glibc detected *** corrupted double-linked list: 0x088210f0 ***
    MovableTypeのタグ関係がうまく移せなかったので,手作業で処理した。大した量じゃなかったからいいけど,この件はもうちょっと勉強しないといけないみたい。
  21. 画像をアップしようとしたら,「ディレクトリ /virtual/o6asan/public_html/wp-content/uploads を作成できませんでした。」が出たので,FTP接続してディレクトリ uploads(パーミッションは707)を作成。
  22. 画像の表示ができない(これも前と同じ)ので,/public_html の.htaccessで
            uploaded files
            RewriteRule ^([_0-9a-zA-Z-]+/)?files/(.+) wp-includes/ms-files.php?file=$2 [L]

            RewriteEngine On
    の直下に移動する。
    /public_html/wp-includes の.htaccessに次のディレクティブを追加。(PHPのセーフモード対策。)
            <Files ms-files.php>
            AddHandler application/x-httpd-phpcgi .php
            </Files>
    画像のアップロード時点で,サイトの容量制限を超えてしまったので,XREA+の契約をし,サイトネットワーク管理者の管理画面から,各サイトのアップロード容量のアップロードファイルの合計を100MBに制限に変更。

 2つのブログの引っ越しについてはこんなところかな。何か忘れていることがあるかもしれない。あー,長かった。しかし,これでまだ道半ばなんだよ。orz

追記(9/9):blogs.dir以下のディレクトリパーミッションは707にしておかないと,filesディレクトリへの移動ができないのでファイルのアップロードが完了しない。

追記3(2013/8/15):
 「Similar Posts」のサポートが止まって長いので, Yet Another Related Posts Plugin を使うことにした。こちらには,はじめから日本語化ファイル(プラグイン作者自作)が付いている。どうも日系の方みたい。

カテゴリー
WordPress

本家のお世話-#7。

 10日ばかり前(8/27)から,WordPress3.2.1をXREA+上でネットワーク化しサブディレクトリ型のマルチサイトとして使おうと,これにどっぷり浸かっている。前のときに,「サブドメインの練習。」から「ネットワークの作成-#4。」までの一連の記事で,XREA上のWordPress3.2.1でのサブドメイン型のマルチサイトのお勉強の様子を書いたわけだが,あれは単にお勉強だった。しかし,これは本当に勉強になって今度のサブディレクトリ型の構築でも大変に役に立っている。

 今回のは,表題の通り自鯖のお世話の関係になる。自鯖については,Apacheやメールサーバの勉強をしたいと思ってローカルで建てていたもの(これは仕事先のサイトの管理をやっていたので,仕事場とほぼ同じ環境を作って,チェックに使うために構築したのが発端。)を,DDNSで公開するところから始めて,独自ドメインを取り(これが2007年),その上でMovableTypeを利用したブログを書くようになった。当初,目的がサーバ自体の勉強であったため,ブログを書ける環境は作ったものの記事を書くことにはあまり興味がなかった。サイトのコンテンツを書くことについては,仕事関係の分だけでお腹いっぱいだったせいもある。

 ひょんなこと(「WordPress インストール。」参照)から,無料レンタルサーバ上にWordPress2.9.2でブログを書き始めたが,このレンタルサーバの接続があまりにも不安定なのに業を煮やし,このブログも自鯖上に移してしまった(「ブログを引っ越す。」参照。)ので,自鯖上にMovablTypeとWordPressと手書きのコンテンツが同居することになった。サーバ管理の勉強がしたくて始めたとはいうものの,昨今のようにセキュリティ・アップデートが引き続くとWAMP系の,しかし,パッケージではなく別々に構築したサーバソフトウェアの世話だけでも面倒なのに,両ブログCMSの世話が結構大変になってきてうんざりしていた。

 そこで,一大事業になるのは目に見えていたが,サイトのコンテンツの管理をWordPressに一本化しようと思い立った。一本化の骨をどのCMSにするかということは前もって考えてみた。
 Xoopsをインストールしてみたことや,近頃のMovableTypeの使い心地や,この間,XREA上のWordPress3.2.1でのサブドメイン型のマルチサイトを構築したときのことから考えると,いろいろ問題はあるもののWordPressがいいかなと思ったわけだ。今の勢いを考えると,WordPressのマルチサイトの使いやすさが上がってくるのもそう時間はかからない気がする。いちいち動的にページを表示するのでサーバのその都度の負担は若干大きいかもしれないが,うちのサイト程度では,問題にもならないだろう。主なコンテンツは2つのブログだから使い慣れていない汎用CMSよりも使い慣れたのがいいだろうということもある。
 MovableTypeももともとオープンソースのMTOSを使っていたので,費用の点ではこちらも無料だが,Perl系のMovableTypeとPHP系のWordPressでは,素人には後者の方がアップデート管理がしやすい気がする。PHPは膏薬(?)のようにどこにでもくっつくので,そのせいだろうか。反面,セキュリティではあっちこっち危ないということがあるのだろう。

 (注) 半可通の書いていることなので,鵜呑みにしないようにお願いします。―笑

 で取りかかったのだが,「一大事業になるのは目に見えていた」という覚悟はしていたものの,大変です(号泣―爆)。

 何はともあれ,稼働中のサーバなのでどこかにテストサイトを作ろうと考えた。自鯖のWindowsXPでVirtualPCということも候補に入れたが,使っているPC上でやるのは性格からくるうっかりミスで,間違って何かを削除するのが怖い(実は,実際にやらかして青ざめ,そっからやりなおしたのっス。―恥)。で,この間使ったXREA上で未公開のままテストサイトを構築することにした。

 まぁ,2ブログの引っ越しまでは,あんまり問題もなくうまくいったんだ。大体29日には終わっていた。
 今,手を焼いてるのは,旧手書き部分用のWordPressテーマのカスタマイズとWordPressの投稿画面を使ってBBSを作ること。これも,ほぼ出来たんだけど,cssに手こずっている。cssはねぇ,むかーし,やったことはあるんだけど,どうもそのころから苦手で。こう書けばこうなるはずと思って,書いたstyle.cssをアップしてみると意図したようになっていない。これの繰り返し。その過程で,IEについて7以下は見捨てることにした。7については,全く環境がないのでテストができないし,6についてはあまりにもやんちゃなのでギブアップ。その昔cssをやったころは,IE6だけを念頭に置いておけば,ほぼ無問題だったんだけど,今日日は,IE8とIE9を蚊帳の外に置くわけにいかないし,IE6とこの2つは全くと言っていいほど挙動が違う。もちろん,IE6のほうが,仕様に準拠していないのだ。
 他の人気ブラウザについては,当初から最新版しか念頭にない(爆)。これは,IEを使わずに他のモダンブラウザを使っている方たちは,だいたい最新版にアップして使っているのが普通だろうという希望的観測がもとになっている。

 2ブログの引っ越しくらいまでは,メモを取っていたんだけど,そっから先はグズグズになって何をやったかよくわからん。後で一番必要なところなのに(泣^2)。そういうわけで,引っ越しくらいまで,報告しておきます。XREA+での話です。しかし,すごく長くなっているので残りは,次記事にします。

カテゴリー
Vulnerability

マイクロソフト セキュリティ アドバイザリ (2607712)

 マイクロソフト セキュリティ アドバイザリ (2607712)の件で,ブラウザの証明機関から昨日インストールしているDigiNotarを削除したんだけど,今日ニュースを読んでいると,このことは結構問題を含んでいるようだ。

 もちろん,Google の一部サイトに対して発行された不正な SSL 証明書の問題ということで,これ自体困ったものなんだが,エフセキュアの「Diginotar」がBlack.Spookとイランのハッカーによりハッキングとか読んでると,「Diginotar」の対応にかなりの疑問を呈している。書いていることのスタンスが23日に米Comodoが同じようなことを発表したときと違っているようだ。もちろん,執筆者も違うわけだが。そのときの記事というのは,これ。これを読むと,コードサイニングの悪用というのは,とっても怖いですね。

 今回のことに対して,MSやMozillaはまたすぐに対応するだろうけど。どこか,証明書発行システムの根本的な見直しが必要なのかもしれない。まぁ,こういうことは,いたちごっこですが……

追記(9/1):Firefox 6.0.1,出ました。

追記(9/6):
 ここのところ,サイトのCMSをWordPressに一本化することにスタックしているのだが,この追記は書いておくべきだろう。
 「Diginotar」の件はますます痛い話になってきた。現在,ネット上での商売でデジタル証明書というは欠かすことにのできないものになっているんだから,こんなんあり得ないでしょう。こんなんとは,以下の記事のの中に書いてある「Diginotar」の対応ということだけど。
 MozillaがDigiNotarのCA認定を取り消し、政府関連証明書も失効とか,Mozillaのこの対応も無理ないと思う。
 後で気づいたが,Googleもこんなん書いてる。特に9/3のアップデートの内容に注目。

カテゴリー
Vulnerability

PHPやらApacheやら。

投稿アップデート情報  追記(8/28) 追記2(8/29) 追記3(8/31) 追記4(9/16)

 Apache Killerの件のパッチはいつになったら,出るんだろう。Apache HTTPD Security ADVISORYの記事の最初の時刻は,8/24 16:16:39 GMT(日本時間8/25 00:16:39 だっけ。イギリスはまだ夏時間だよね。)になっていて,48時間でパッチを出したいと書いているのだが,8/26 10:35:31 GMT(日本時間8/26 18:35:31)の記事では,あと1日みたいなことを書いてある。もうすぐ経過するよね。今度は出るだろうか。

 こういうことって,素人に毛の生えたようなサーバ管理者(もちろん自分のこと!! こんなところで威張ってどうするんだ―爆)には,頭痛の種。どうすればいいかよくわからん。Bug 51714からDoS Exploit for mentioned vulnerabilityを落として試してみようとしたら,バスター君の異議で落とせなかった。ブラウザで見るだけでなく,ダウンロード自体ができない。この辺を弄るのも面倒なので,やめることにした。

 Apache LoungeのWarning Security issue :: DoS attack with range requests !のSteffenの書き込みにしたがって,手当てをしておくべきだろうか。うちのような零細なところに故意に攻撃してくるとは思えないけど,「下手な鉄砲も数撃ちゃ当たる」でバカなことをやる頭の悪いハッカーがいたら,流れ弾に当たらないとも限らない。どうせ今まで,おどおどしながら手をこまねいていたんだから,パッチが出るのを待っていようかな。modsecurity_crs_20_protocol_violations.confを利用するのなら,あんまりよくわからなくても手当てだけはできそうだから,やっぱりやっておこうかな。

 しかし,この間のPHP ver.5.3.7のとんでもないバグといいい,こういうことがあるときには続くものですね。

追記(8/28):
 結局,24時間以上たっても,正規のパッチは出ていないもよう。
 ということで昨日,やっぱりやっておいた方がいいかなと思ったことについてだけど,徳丸さんが,
     訂正:mod_securityのCore Rule Set 2.2.2に含まれるApache Killerルールは
     とても効果があるけど、Rangeヘッダのみの対応で、Request-Rangeヘッダには
     対応していないので、他の回避策をとった方が良さそうですね
とつぶやいておられたので,どうしたらいいかなと思いつつ寝た。朝,Twitterを見に行ったら,日記を書いたとつぶやいておられたので,早速見に行った。さすがに徳丸さんで,詳しい検証付きで「Apache killerは危険~Apache killerを評価する上での注意~」を書いておられた。

 徳丸さんは,Apache2.2系を使っておられるとのことなので,この記事を参考に,httpd.confを手直しした。いつも,お世話になります(拝)。あまりにも常識なので,徳丸さんが書いていないことの備忘(汗)。
     LoadModule headers_module modules/mod_headers.so のアンコメント。
     Apacheの再起動。
と思ったら,再起動については,Twitterでつぶやいておられた(爆)。

追記2(8/29):
 パッチはまだ出ていない。Apache Killer (CVE-2011-3192)には,「はっきりと攻撃元のログが残ってしまうので、むやみに撃つのはやめたほうがいいかなと思います。」と書いてある。(笑)

追記3(8/31):対応のApache 2.2.20が出ました。

追記4(9/16):
 アパッチ本家で2.2.21(released 2011-09-13)が出ました。2011-09-14 06:06リリースのCVE-2011-3192.txtがこの件のADVISORYの最終版のよう。
 Loungeでも,Apache 2.2.21 releasedということらしいです。9/8にサイトをXREA+に移したため,サーバのセキュリティアップデートが喫緊の課題でなくなったため,書き込みが遅くなってしまいました。「対岸の火事」と思うと対応がいい加減になるという典型です。お粗末。

カテゴリー
WordPress

WordPress日本公式キャラクター。

 ご存知の方も多いと思いますが,WP日本公式キャラクターの名前が「ワプー(アルファベット表記:Wapuu)」に決まりました。10日に一度別名に決まったのですが,既存のものとの兼ね合いで,12日に変更されました。

 このイラストは,WordCamp Fukuoka 2011(九州産業大学で2/19に開催)でお目見えしました。デザインは,カネウチカズコさんで,GPLライセンスになっています。

 名前の募集が始まったのは,6月25日でした。私も応募はしてみました(笑)。67個の候補が集まったそうで,投票は8月2日に開始されました。その集計の結果「ワプー」は2位だったのですが,1位の名前が既存の会社の名称とかぶるためこちらになったそうです。

 前置きが長くなりました。その「ワプー」を右サイドバーの下の方に載せるようにしてみました。redcockerさんが作られたプラグインを利用させていただきました。

カテゴリー
everyday life

ウォシュレット-#4。(最終報告)

 本題に入る前にお約束を書いておこう。「ウォシュレット-#2。」「ウォシュレット-#3。」を読んでくださった方は,またかと思うだろうが,ご容赦ください。
 TOTOのパーツセンターの注意書きに,朱書きで次の文章が書いてある。この注意書きは,販売できないことしか謳っていないが,販売しないということは,言外に,ユーザーがこれらの修理に手を出すことは認めないし,何かあっても関知しないということ言っているのである。今からこのブログで書くことを,メーカーは勧めていないし,何かあったときにも賠償はしてくれない。当サイトも,同じ方針である。やってみようと思う方は,あくまでも自分の責任で行なうようにお願いする。

  • お客様へ末永く安全・安心にご使用いただくために、お客様での修理・交換が出来ない部品(例:ウォシュレット・給湯機等の内部部品や電装部品)に関しましては、販売ができません。あらかじめご了承願います。

 さて,本題。  (ところで,この部分は電右衛門さんの掲示板では,記事No.168~No.209あたりになる。今回は,間にお盆が入ったりして,飛び飛びになっている。)
 

 先に,結果を報告しておこう。水回りの修理というミッションは失敗に終わった。orz
 敗因は,プラスチック部分が劣化していたことと,劣化したプラスチックを触るのに慣れていない私が,それに対して微妙な手加減をできなかったことである。

 7/31に「ウォシュレット-#3。」で泣き言を書いた後,掲示板記事No.167で電右衛門さんの激励を受けて気を取り直し,再チェックに取り掛かった。

 どうしても濡れてしまって,複数あるように感じる漏水箇所がしっかりと特定できなかったのだが,とにかく,図1の十字ゴムのところが漏れていることは確かだったので,パッキンを取り替えることにした。元々ついていたものは,少し特殊な断面をしていたが,ホームセンターにはそんなものは売っていなかったので,22mmのOリングを買ってきて交換した。ここの蓋は3本のタップネジで止められていたのだが,このうちの1本の穴のネジ山が切れていて,パッキンを換えても平均に締めることが不可能になっていた。

 また途中で,1度も水が漏れたことのなかったロータンク止水栓(図2)から漏水して,泡を食った。電右衛門さんに指導を仰いだが,ちょっと掃除しただけで,あくる日からはまた漏れなくなった。あれはなんだったんだろう。

 パテの補修だけでは心もとなかったので,掲示板記事No.180で,「ネジ山がバカになった修理方法」を伺って,以下のことを教えていただいた。
    1) 状況を良く判断しネジ直径を0.5mm太いのを使用する
    2) ネジが長くなっても差支無を判断 可能な限りの長ネジを用意し,
     下穴をネジより0.5mm細く開け ユックリと行つ戻つ〆る
    3) ネジ穴を貫通できるなら ネジとナットに交換する

 このあたりで,盆に向けて忙しくなってきて,なおかつ盆はトイレがひとつでは困るので,漏水のままひとまず組み立て直し,盆の間はそのまま使用した。


 

 

 

 さて,盆も終わり,上記の3つの方法のうち,1)と3)は無理だったので,可能と思われた2)の方法で,ネジを締めていたら折れちゃったのだ(図3)。ここで,ギブアップ。電右衛門さんに伺ったら,クランプの挟込工法をとれば補修可能かもということだったが,技術も必要なようだしもとが劣化しているので,また折れそうな気もする。

 今回の教訓。我が家のウォシュレットのように年季の入った機器を扱うときは,とにかく優しく優しくが原則。今回も十字ゴムのところの蓋のネジ穴の山を切ったことが最後まで祟ったと言えると思う。

 さて,結局,修理をあきらめたので,いい機会だと思って,水回りを全部外してみた。(図4)
 電磁弁については,見たいみたいと思っていた念願がかなった。こんな形で見たかったわけではないが……(苦笑)

 こんな結果に終わってしまったが,一度も扱ったことのなかった水道系の機器を扱って面白かった。図4のバネ押さえ金具のような部品を外さなければいけないような羽目になったときは,行程のどこかに無理があるのだということも,よくわかったし(電右衛門さんのところの記事No.204参照)。

 まぁ,初めのころのわずかな水漏れに目をつぶっていれば,今頃それなりに使えたとは思うけど。この辺は,私の性格のなせる技なので,何ともしがたいね。

追記(8/21):
 書き忘れたので追記。
 壊してしまったウォシュレットの後釜をどうするかという話だが,「SX TCF331」君をただの便座として使うことにした(爆)。ひと月半もかけて修理しているうちに情が移ってしまった。それによく考えると,修理前からウォッシャーの調子は悪かったので,温便座としてしか使えていなかった訳だ。
 実は,水回りを外すときにいい加減面倒くさくなって,締め金具で止まっていた電源コードをニッパーで切ったので,壊れていなかったヒーター部分も使えなくしてしまった。これで粗大ごみとして捨てては,「SX TCF331」君に申し訳ない。というわけで,当分(暖かい間だけになるかもしれない―苦)はただの便座としてご逗留願うことにした。
 そう決めたので,水回り以外も外してみた(図5)。

 で,図6がただの便座になった「SX TCF331」君である(笑)。

カテゴリー
everyday life

LockIt!を悪用したPHPのMal-script.

投稿アップデート情報  追記2(2017/1/24)

 発端はまたまたScottなんだが,プラグインの初レビューをもらったとかつぶやいていた。Twitterの日付は12日になっているけど,お盆で忙しかったし,読んだのは15日くらい。で,そのページを見に行ったら, WPFMP を褒めてるのは勿論として,その前ふりにハッカーのことをぶつぶつ書いている。早い話が,それに手を焼いてWPFMPを導入という話なわけ。

 その文章にハッカーが置いていったファイルの中に「This file is protected by copyright law and provided under license. Reverse engineering of this file is strictly prohibited.」ってのを見つけたと書いてあった。笑っちゃったよ。だって,よそさんに悪いことしに入って,警察に行っちゃだめよとか,書くのに似てるジャン。で,よくあるのかなぁとこの英文(ダブルクォートで括ってだよ)でググってみたら,なんと10000以上あった。でも,日本語だけにしてみたら,全く引っかからなくなった。それで,関連のところを見ていくと,どれを見ても$OOO000000=urldecode(‘%66%67%36%73%62%65%68%70%72%61%34%63%6f%5f%74%6e%64’)というのが,入っている。そうすると,次は,これはなんだとなるのが,自然というもの。

 今度は,これでググってみた。大分数は減ったけど,2000ばかりある。日本語だけにしてみたら,たった1個だけ残った。これには,初めのキーワードにした英文は入っていなかった。日本語の制限を外して見てみると,最初の英文は入っているのやら入っていないのやらいろいろある。

 調べていってわかったんだけど,「PHP LockIt!」というアプリがあって,これを使うと,今回調べたようなものができるらしい。米ドルで29.99とか書いてある。PHP Scriptを暗号化するアプリらしい。

 デモ版を落とし,hello.phpを作って暗号化してみた。もとのhello.phpの中身はよくあるこんなの。
     <?php
     $hello = ‘Hello world!’;
     echo $hello;
     ?>
 これが,次のようなのに化ける。ページの都合上改行を入れているが,実際は,長い長い1行になる。

<?php /* This file is protected by copyright law and provided under license. Reverse engineering of this file is strictly prohibited. */$OOO000000=urldecode(‘%66%67%36%73%62%65%68%70%72%61%34%63%6f%5f%74%6e%64’);
$OOO0000O0=$OOO000000{4}.$OOO000000{9}.$OOO000000{3}.$OOO000000{5};$OOO0000O0.
=$OOO000000{2}.$OOO000000{10}.$OOO000000{13}.$OOO000000{16};$OOO0000O0.=$OOO00
00O0{3}.$OOO000000{11}.$OOO000000{12}.$OOO0000O0{7}.$OOO000000{5};$OOO000O00=$
OOO000000{0}.$OOO000000{12}.$OOO000000{7}.$OOO000000{5}.$OOO000000{15};$O0O000
O00=$OOO000000{0}.$OOO000000{1}.$OOO000000{5}.$OOO000000{14};$O0O000O0O=$O0O00
0O00.$OOO000000{11};$O0O000O00=$O0O000O00.$OOO000000{3};$O0O00OO00=$OOO00000
0{0}.$OOO000000{8}.$OOO000000{5}.$OOO000000{9}.$OOO000000{16};$OOO00000O=$OOO0
00000{3}.$OOO000000{14}.$OOO000000{8}.$OOO000000{14}.$OOO000000{8};$OOO0O0O00=
__FILE__;$OO00O0000=0x48;
eval($OOO0000O0(‘JE8wMDBPME8wMD0kT09PMDAwTzAwKCRPT08wTzBPMDAsJ3JiJyk7JE8wTz
AwT08wMCgkTzAwME8wTzAwLDB4NGY3KTskT08wME8wME8wPSRPT08wMDAwTzAoJE9PTzAwMD
AwTygkTzBPMDBPTzAwKCRPMDAwTzBPMDAsMHgxN2MpLCdFbnRlcnlvdXdraFJIWUtOV09VVEFhQ
mJDY0RkRmZHZ0lpSmpMbE1tUHBRcVNzVnZYeFp6MDEyMzQ1Njc4OSsvPScsJ0FCQ0RFRkdISUp
LTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5Ky8nK
Sk7ZXZhbCgkT08wME8wME8wKTs=’));return;?>
~Dkr9NHenNHenNHe1zfukgFMaXdoyjcUImb19oUAxyb18mRtwmwJ4LT09NHr8XTzEXRJwmwJXLT
09NHeEXHr8XhtONT08XHeEXHr8Pkr8XTzEXT08XHtILTzEXHr8XTzEXRtONTzEXTzEXHeEpRtfy
dmOlFmlvfbfqDykwBAsKa09aaryiWMkeC0OLOMcuc0lpUMpHdr1sAunOFaYzamcCGyp6HerZHzW
1YjF4KUSvNUFSk0ytW0OyOLfwUApRTr1KT1nOAlYAaacbBylDCBkjcoaMc2ipDMsSdB5vFuyZF3
O1fmf4GbPXHTwzYeA2YzI5hZ8mhULpK2cjdo9zcUILTzEXHr8XTzEXhTslfMyShtONTzEXTzEXT
zEpKX==tJOkUAlkUAlkUAlkUALINUEmUoaSdo8If29ZdoWikzShcBYPdZELUAlkUAlkUAlkUAlk
KXP7alVnRPIq

 もとは,47バイトだったものが,1,731バイトになる。へえっと,思ったんだが,調べている途中でわかったことによると「PHP LockIt!」って評判よくないんだな。誰にでもすぐにデコードできるとか書いてある。暗号化したものが,誰にでもすぐに復号できるようじゃお金を払う意味がないよね。でもって,誰にでもっていうのがどの程度なのか,試してみたくなるのは人情でしょ。

 最初にキーワードにした英文には,デコードしてはいけませんと書いてあるけど,ハッカーにさえ利用されているくらいだから,どのくらい役に立つものか確認のためにやってみてからじゃないと,購入もできないじゃん。というわけで,ネットの記事を手掛かりにデコードをやってみた。ネット上には,はっきり書いたところはなかった。やはり,営業妨害とかにあたる恐れがあるんだろう。まぁ,私の検索の腕が悪かっただけという落ちもあるが。

 しかし,それだけあやふやな手がかりしかなかったにもかかわらず,大してPHPにも暗号にも詳しくない私にデコードできてしまった。これは,まずいよ。

 というわけで,よそ様の営業の妨害をするつもりはないけど,ハッカーには利用されるは大して知識のない私にでもデコードはできるはと,「PHP LockIt!」は踏んだり蹴ったりだということになってしまった(溜息)。

追記:
 早速の追記。単純に「PHP LockIt!」をやっただけの状態では,暗号化(encrypted)とは言わないらしい。難読化(obfuscated)という呼び方をするようだ。読みにくくするということでは,意味があるね。簡単には読めなくなるのは確かだ。

追記(8/25):
 「$OOO0000O0 デコード」などの検索ワードでここに来る方がいるので,やはりマルスクリプトは流行っているのだと思う。日本語サイトでは,今のところうちしか引っかからないようだから,営業妨害にならない程度でデコードの手順を書いておこうかな。自サイトに読めないファイルが勝手に置かれていたら,何をやられているのか知る必要があるだろうから。
 【注意】自サーバ上に自分の知らないphpファイルがあってこれについて調べるわけだから,これを不用意にオンラインで実行してはいけない。該当ファイルはダウンロードし,ローカルにPHPをインストールしてオフラインでテストを行なうのがいいと思う。さらに言えば,ローカルかつオフラインであまり悪さをするscriptはない(大体の目的がオンラインでのデータ飛ばしとかみたいなので)と思うが,メイン機で試すのは避けるべきだろう。

  1. urldecode(‘%66%67%36%73%62%65%68%70%72%61%34%63%6f%5f%74%6e%64′);がどんな文字列か確認。→’fg6sbehpra4co_tnd’
  2. これをキーに,$OOO000000{4}や$OOO000000{14}などをアルファベットに直す。→$OOO000000{4}はb,$OOO000000{14}はt  これで,元ファイルの初めの部分が,PHPのファンクションに直せる。直したものは,別ファイルにしておく(1)。
  3. 元ファイルには,難読化したものを元に戻す部分と実際の実行部分が含まれているわけだが,元に戻す部分を別ファイルのしてやるとうまくいく。まず,元ファイルのevalをechoに変えて,()内の文字列をPHPコードとして評価・実行する代わりに出力してやる。
    $O000O0O00=$OOO000O00($OOO0O0O00,’rb’);~eval($OO00O00O0); が得られる。
  4. これを先ほどの(1)の情報を使ってデコードしてやる。2種の変数名関連が,$O000O0O00なんちゃらで残るので,日頃使い慣れている変数名に直す。ここで出てきたevalもechoにしておく。
    デコードしたものをphpにして走らせるわけだが,このときの注意は__FILE__を元ファイル名に直すこと。元々一つのものを2つにしているわけだから,これを直し忘れるとうまくいかない。
  5. 出力結果として,$OO00O00O0=str_replace~eval($OO00O00O0);が得られる。これも同じように,デコードしてphpにして走らせる。ここのevalもechoにする。__FILE__を元ファイル名に直すことと,ここまでに出てきた複数のfreadの扱いに気をつければ,うまくいく。

追記(8/28):
 デコードしたときにscope となる場合があるが,ecodeと読みかえれば,O.K.

追記2(2017/1/24):
 WordPress File Monitor Plus(WPFMP) は開発終了の模様。 Fork として WordPress File Monitor があるのでそちらを使うといいと思う。

カテゴリー
everyday life

傲慢ということ。

 今朝TODOSで,りりさんが書かれた記事を読んだとき,一瞬で中学生時代のある時点の自分に立ち返って,恥ずかしさを感じた。

 人には誰にでも,穴があったら入りたいという思いを抱く一瞬があるのではなかろうか。そして,その記憶というものはいつまでも奥底に残っていて,何かの折によみがえってくる。今日は,TODOSの記事が引き金だったが,引き金が何かわからないときもある。よみがえった記憶に,その場で立ちすくむ。

 今回よみがえった記憶も,詳細は忘れている。ただ,確かに傲慢さを指摘された事件だったと思う。相手も中学生だったから,傲慢という言葉は使わなかったが,多分「えらそうに」とでも言ったのだと思う。言ったのは,そのとき私が話していた相手ではなく,そばにいた男の子だった。自分が何を言ったのかさえ忘れているのだが,そのときの恥ずかしさだけがよみがえってくる。今回もだ。

 自分では,それを感じた中学生のころから,よくしようと努力してきたつもりなのだが,まさしく「三つ子の魂百まで」。なおってはいない。そして,これは内面に因することだけに,これからも折に触れて出てくるのだろう。年を取ると,努力して直してきたことは消えて,もともとの性格が出てきてしまうそうだから,戻ってしまわないように気を付けなければいけない。自戒を込めてこの記事を書いておこう。ブログに書いておけば,読む人に励行を宣言したようなものだし,自分も読み返すことが結構あるから,単なる自戒よりも思い返す頻度が高くなるのではないだろうか。

カテゴリー
everyday life

夏の暑さに思うこと。

 立秋(8/8)も過ぎ,盆も間近。残暑厳しいこの頃である。こういうときは,冷たい水羊羹などいかがかな?ぬるめの濃い煎茶などあれば,心地よい。煮溶かした寒天に粒餡と三温糖を加えただけの簡単なもの。塩を入れれば,砂糖は控えめでよくなるが,味がくどくなるので嫌いだ。よって,自分で作るときは塩を入れない。冷蔵庫という便利なもので,冷たく冷やして,食後に甘味。これも乙なものである。

 ところで,冷たい甘味の何よりのお供は,実は夏の暑さである。今年は,いずこも節電なのでそこまで効かした店はないかもしれないが,炎天下を歩いて暑くて暑くてたまらず,かき氷(ジェラートでもいいよ)でも食べようと喫茶店に入ったら,ものすごくエアコンが効いていて,イザかき氷が目の前に現れたときには,体が冷え切ってしまっていて,あんなにほしかったかき氷よりもホットコーヒーでも頼んだ方がよかったという思いをしたことがあるのは,私ばかりではないと思う。

 もっとも,今日日の暑さは,巷に死人が出るほどで,甘味のお供という雰囲気を楽しむ余裕を与えてくれないのだが,我が家の場合,今年の暑さでもほとんどエアコンを使っていない。20年ばかり前に諸事情で家を建て直したとき,こだわったのは桟(えつり)と土壁。請け負った大工に,「こうやって建てても,竹も土も藁も昔とは違うから,昔通りとはいきませんよ」と釘を刺されながら,かなりの部分で土壁にしてもらった。おかげで,建て直す前の家には遠く及ばぬまでも,今どきの家としては大変に涼しい。建て直す前の家の冬の寒さは言うに言えなかったが,こちらの方もかなり改善した。年中忙しく過ごしていた昨年までは,このこだわりから生まれた家の涼しさを感じる余裕もなかったのだが,リタイアした今年は,盆を控えて忙しいとはいえ,これまでとは違う心の余裕があるのか,扇風機の風を受けながら,こんな甘味を味わっていると,いいものだなぁと思う。

 風を送ってくれている扇風機は,先日,タイマーの壊れた1964年製のNATIONAL(断じてPanasonicではない)F-30ZEである。私と同じ年頃の方なら,「ああ,うちにもあったよ」と思われるかもしれない。我が家ではいまだに現役である(笑)。最近まで寝室で使っていたのだが,タイマーが壊れたので,茶の間に持って来た。寝室の扇風機はタイマーが使えないと困るからね。こういうスタイルの扇風機の出初めだったと思う。今売られているのとは違い,重いんだよー。

 ところで改めてこういう夏の味わい方をしていると,日本の家はやはり兼好法師のいうようにすべきだよなぁと思う(徒然草 55段 32ページ)。北海道は別だと思うけどね,兼好さんの頭にあったのは,主として京都のことだろうから,その辺は時代に免じてご容赦願いたい。

 そして,今でも思い出すのは,学生として東京に住んでいたときの朝晩の耐え難さだ。学生だから,昼間は部屋にいなかった(爆)。当時,私自身のアパートには冷房設備など論外だったが,世の中では各戸に冷房のつき始めたころで,ヒートアイランド現象の走りだったのだろう。卒業して勤め先の関係で,杉並から田畑の残る都下に越した年,秋口の朝の涼しさには感動したものだった。

 子供のころには,まだ,庭に置き座を出して夕涼みする習慣が残っていたが,よく打ち水もしていた。もっとも,打ち水の効果を上げるためには,舗装されていない地面が必要だ。アスファルトの舗装路に水を撒いても,湿度が上がって辺り一帯に温気が籠るだけで,ちっとも涼しくならない。都内では打ち水では効果がなかったという報道があったのは,7月ごろだった。学術的な話は分からないが,経験的に,極限まで熱せられたアスファルトにわずかばかりの夕立があった後の蒸し暑さはよく知っている。温度を下げる効果が出るためには,とんでもない土砂降りが必要なのだ。もちろん,そこそこ長さもいる。

 地球上のすべての地域で冷房を使わなくなるだけでも,異常気象はずいぶん改善されていくのだろう。その一方で,そんなことはとても実現不可能だろうと思ってしまう自分がいる。甘味の話から,ずいぶんかけ離れたところに来てしまった。暑さをお供に,ひんやりと冷たいものを味わう余裕が,戻ってきてほしいものである。

カテゴリー
WordPress

ネットワークの作成-#5。(accident)

 夕べ遅く,XREAのWordPressネットワークにアクセスしようとしたらできなかった。DNS設定ができていない旨のメッセージが出る。
 管理ページにログインしてみたら,ドメインウェブのdefault.example.comが消え失せていた。また,VALUE-DOMAINの方で見てみると,DNS設定で手動設定していたWordPress関係のサブドメインが,これも消え失せていた。よく読んでみたら,無料サーバでは,サブドメインは10個までと書いてある。これを間違えて20個していたのだが,このせいだろうか。他に原因があるとしたら,なんだろうか。

 とにかく,再設定してみた。サーバにアップされているファイル自体には,何も変わりはないようだ。

 DNS設定について,再度,www,mirror,www1を設定。ドメインウェブについては,default.example.comを復活させるのはやめて,現在使用中の先の3つについて設定し,NoDirで保存した。これで,問題なくアクセスができるように復旧した。このままで,また,しばらく様子を見てみようと思う。