カテゴリー
Windows

本家のお世話-#64。(PHP5.4.14へアップデート)

 さて,PHP5.4.14が Apr-10 @22:55:28UTC に出たので,我が家用として,VC9 x86 Thread Safe 版の php-5.4.14-Win32-VC9-x86.zip を落としアップデート。 ChangeLog によれば,セキュリティアップデートとのことで,「みなさん PHP5.4.14 にしましょうね」ということなので,お言葉に従い,アップデート。

 5.4.10 からは php5apache2_4.dll が同梱されるようになったし,php.ini-production も前バージョンから変更点なしなので,新旧のファイルを入れ替えて php.ini を放り込み, Apache をrestartするだけ。
 なんだけどね,今回 php.ini までサクッと削除してしまって入れ忘れたまま, Apache を restart したもんで,この記事をアップしようとしたら,「お使いのサーバーの PHP では WordPress に必要な MySQL 拡張を利用できないようです。」って言われて,アセアセアセ。(^^;)の3乗。気を付けようね。ハハハッ。

 新規に導入する方は,必要なら「本家のお世話-#28。」を参考にしてください。

カテゴリー
everyday life

本家のお世話-#63。(ActivePerl5.16.3へアップデート)

 なんか,こういうことらしいので,ActivePerl5.16.3へアップデートした。こんなのも見かけたので,MySQL もついでに 5.6.11 しようと思ったら,まだ出てなかった(汗)。

  1. ActivePerl-5.16.3.1603-MSWin32-x86-296746.msi をダウンロード。
  2. 旧バージョンをアンインストール。
  3. ActivePerl-5.16.3.1603-MSWin32-x86-296746.msi をデフォルトで,インストール。
  4. コマンドプロンプトを起ち上げ,
    perl -v[enter]
    「This is perl 5, version 16, subversion 3 (v5.16.3) ナンチャラ」が出る。

    1行目を下記のように書き換えた printenv.pl を cgi-bin ディレクトリにコピー。
       #!D:/programs/perl/bin/perl.exe  —>>  #!C:/perl/bin/perl.exe
    http://YourDomain.com/cgi-bin/printenv.pl をチェック。
    ENV list が表示されれば,インストールは完了。
    printenv.pl は忘れずに削除する。

以上。

カテゴリー
Windows

本家のお世話-#62。(PHP5.4.13へアップデート)

 さて,PHP5.4.13が Mar-15 @04:08:07UTC に出たので,我が家用として,VC9 x86 Thread Safe 版の php-5.4.13-Win32-VC9-x86.zip を落とす。 ChangeLog を読むと,各バグフィックスに挟まれて, SOAP 関係の CVE-2013-1635CVE-2013-1643 への対応がシレッとあったりする。自鯖には別に関係ないけど。まっ,アップデートはしておこう。

 5.4.10 からは php5apache2_4.dll が同梱されるようになったし,php.ini-production も前バージョンから変更点なしなので,新旧のファイルを入れ替えて php.ini を放り込み, Apache をrestartするだけ。

 新規に導入する方は,必要なら「本家のお世話-#28。」を参考にしてください。

カテゴリー
Windows

本家のお世話-#61。(Apache 2.4.4へアップデート)

 Lounge 版の Apache 2.4.4 (魚拓です)が出たので,アップデート。単なるバグフィックスのみならず, CVE-2012-3499 および CVE-2012-4558 へのパッチが施されているようなので。

 Lounge版のApache 2.4.4は,いつも通りVC9版を落とす。 httpd-2.4.4-win32-VC9.zip (23 Feb) の httpd.conf については,以下の2点が変わっていた。
————————————————————————————————————————————————
 ひとつは,説明文のところで,以下のようになったこと。
   # Options FileInfo AuthConfig Limit  —>>  # AllowOverride FileInfo AuthConfig Limit

 もうひとつは,DNT(Do Not Track)のところが,以下のように,すべてコメントアウトされたこと。これで,この件は終わりかな???
   # uncomment out the below to deal with user agents that deliberately
   # violate open standards by misusing DNT (DNT *must* be a specific
   # end-user choice)
   #
   #
   #BrowserMatch “MSIE 10.0;” bad_DNT
   #

   #
   #RequestHeader unset DNT env=bad_DNT
   #

————————————————————————————————————————————————

 新規導入の方は,「本家のお世話-#28。」を,参考にしてください。

カテゴリー
Windows

本家のお世話-#60。(PHP5.4.12へアップデート)

 さて,PHP5.4.12が Feb-20 @19:06:24UTC に出たので,我が家用として,VC9 x86 Thread Safe 版の php-5.4.12-Win32-VC9-x86.zip を落とす。 ChangeLog を読むと,Core のバグフィックスも結構あるようなので,早速アップデートする。official PHP binary の 5.4.10 以降は php5apache2_4.dll が同梱されるようになったのだが,その辺にも変わりはないか,一応, Apache Lounge の該当部分も見に行った。特に変わりなし。

 php.ini-productionは5.4.11からの変更点なしだし, php5apache2_4.dll も同梱されているから,新旧のファイルを入れ替えて php.ini を放り込み, Apache をrestartするだけ。新規に導入する方は,「本家のお世話-#28。」を参考にしてください。

 ところで,PHP5.5 が Alpha5 まで進んでいる。1年位前に書いたように, 5.5 からは WindowsXP はサポートされないんだよね。 PHP ではいろいろ起こるようだから,どうなるかわからないけど,それでも 5.5 の GA が出るのもそう遠い日ではないだろう。真剣に準備しないとなあ(溜息)。

カテゴリー
WordPress

今更ながらのアクセス制限。

投稿アップデート情報  追記(2/22)  追記2(4/16)

 ほんと,今更ながらなんですが, wp-login.php にアクセス制限をかけました。なんのためかというと, AWStats の統計から外すためです。

 この件については,ずっと,ほったらかしだったんです。というのが,不正アクセスされてるみたいだなという程度で,数もそれほどでなく,特に問題はないようだったもんで。それに,WordPressのフォーラムを見ても,常に最新版を使うようにし,強いパスワードを使っていれば,うちのようなサーバの使い方(使用者は,私だけ)であれば,そこまでする必要もないだろうと感じていたものですから。
 そんなわけで,ときどきパスワードを変えたりでお茶を濁していたのですが,年末から, wp-login.php への不正アクセスがドッと増えちゃって。どうも,英語版の「ブログに雪が降る。」を書いてからのような気がします。先年,大震災についての記事を英語版で書いたときも,ドッとスパムが増えたような覚えがありますが,英語版でタイムリーなトピックを取り上げたときは,そういうほうでも反応が早いみたいで,いい迷惑です……

 なにしろ,ログイン画面が表示された時点で,HTTPステータスコード 200 が戻るもんで,これのアクセス数がすべて AWStats の統計に入ってきちゃって,参った参ったというところです。で,このさい, access-denied.conf という extra-conf を作り apache に読み込ませることにしました。
 ついでに,主な迷惑サイト(主として,*.163data.com.cn―苦笑)のアクセス制限もこっちに移しました。

 access-denied.conf の中身は,下記のようなものです。 G:/WEB というのは,ドキュメントルートです。ディレクティブは新しいほうの形で書いてみました(笑)。
 wp-login.php のアクセス制限をどんな形にしようかと思ったのですが,当面,自宅からだけ認める形にしました。さっき設定したばかりなんですが,error.log に,[authz_core:error] がすでに 10 個ばかり並んでますから,効果大ですねぇ。これで AWStats の統計から wp-login.php への不正アクセスが外せます。やれやれ。

<Files “wp-login.php”>
Require ip xxx.xxx.xxx.xxx/xx  <<--- 自宅LANのIPアドレス </Files> <Directory "G:/WEB"> <RequireAll> Require all granted # [*.163data.com.cn] # [110.80.0.0 - 110.91.255.255] Require not ip 110.80.0.0/12 # [112.112.0.0 - 112.115.255.255] Require not ip 112.112.0.0/14 # [116.52.0.0 - 116.55.255.255] Require not ip 116.52.0.0/14 # [117.24.0.0 - 117.31.255.255] Require not ip 117.24.0.0/13 # [117.60.0.0 - 117.63.255.255] Require not ip 117.60.0.0/14 # [117.80.0.0 - 117.95.255.255] Require not ip 117.80.0.0/12 # [119.96.0.0 - 119.103.255.255] Require not ip 119.96.0.0/13 # [120.32.0.0 - 120.43.255.255] Require not ip 120.32.0.0/12 # [121.204.0.0 - 121.207.255.255] Require not ip 121.204.0.0/14 # [121.224.0.0 - 121.239.255.255] Require not ip 121.224.0.0/12 # [121.32.0.0 - 121.35.255.255] Require not ip 121.32.0.0/14 # [123.184.0.0 - 123.187.255.255] Require not ip 123.184.0.0/14 # [123.52.0.0 - 123.55.255.255] Require not ip 123.52.0.0/14 # [124.72.0.0 - 124.72.255.255] Require not ip 124.72.0.0/16 # [124.76.0.0 - 124.79.255.255] Require not ip 124.76.0.0/14 # [125.112.0.0 - 125.112.127.255] Require not ip 125.112.0.0/17 # [125.77.0.0 - 125.78.255.255] Require not ip 125.77.0.0/14 # [125.88.0.0 - 125.95.255.255] Require not ip 125.88.0.0/13 # [218.78.0.0 - 218.83.255.255] Require not ip 218.78.0.0/11 # [218.85.0.0 - 218.86.127.255] Require not ip 218.85.0.0/14 # [219.128.0.0 - 219.137.255.255] Require not ip 219.128.0.0/12 # [220.160.0.0 - 220.162.255.255] Require not ip 220.160.0.0/14 # [220.185.192.0 - 220.185.255.255] Require not ip 220.185.192.0/18 # [220.191.0.0 - 220.191.127.255] Require not ip 220.191.0.0/17 # [221.236.0.0 - 221.237.255.255] Require not ip 221.236.0.0/15 # [222.170.0.0 - 222.172.127.255] Require not ip 222.170.0.0/13 # [222.208.0.0 - 222.215.255.255] Require not ip 222.208.0.0/13 # [222.76.0.0 - 222.79.255.255] Require not ip 222.76.0.0/14 # [27.148.0.0 - 27.151.255.255] Require not ip 27.148.0.0/14 # [58.37.0.0 - 58.37.255.255] Require not ip 58.37.0.0/16 # [58.48.0.0 - 58.55.255.255] Require not ip 58.48.0.0/13 # [58.60.0.0 - 58.63.255.255] Require not ip 58.60.0.0/14 # [59.32.0.0 - 59.42.255.255] Require not ip 59.32.0.0/12 # [59.52.0.0 - 59.61.255.255] Require not ip 59.52.0.0/12 # [60.176.0.0 - 60.176.255.255] Require not ip 60.176.0.0/16 # [60.188.128.0 - 60.188.255.255] Require not ip 60.188.128.0/17 # [61.140.0.0 - 61.146.255.255] Require not ip 61.140.0.0/11 # [61.154.0.0 - 61.154.255.255] Require not ip 61.154.0.0/16 # [61.169.0.0 - 61.173.255.255] Require not ip 61.169.0.0/13 </RequireAll> </Directory> 追記(2/22):  題名のせいか,wp-login.phpのせいか,WordPressのセキュリティ強化の記事として読みに来る方が結構いらっしゃるようなので,現時点で参考になりそうなサイトを3つあげておきます。まあ,セキュリティ関係はナマモノなので,あくまで現時点の話です。上げられてる10個のうちの半分は,WordPressに限る話ではないですよね。up-to-dateとか,パスワード強度とか,ユーザの啓蒙とか。最後のものなんて一番苦労するとこじゃないですか。  記事は番号順にお読みください。

  1. WordPress のセキュリティ、こんな記事は要注意
  2. WordPress使いならこれだけはやっておきたい本当のセキュリティ対策10項目
  3. Re: WordPress使いならこれだけはやっておきたい本当のセキュリティ対策10項目

追記2(4/16):
 以下のようなニュースがあった。対策していない場合は,やった方がいい。なにしろ,うちのような零細ブログでも,wp-login.phpへの不正アタック数は,1日平均
     2012/11 — 99   2012/12 — 370   2013/01 — 290
     2013/02 — 320   2013/03 — 117   2013/04 — 377 15日終了時点
なんて感じだから,何も対策ができていない場合は,結構,破られる可能性はあると思うよ。しかし,本当に,12月にブログに雪が降るの話を書くまでは,アタック数少なかった気がするんだけどなあ。

  1. 全世界のWordPressサイトに大規模攻撃; デフォルトのアドミンユーザ名’admin’がねらわれている
  2. Brute Force Attacks Build WordPress Botnet
  3. WordPressを狙った大規模な攻撃

 とりあえず, 管理者ユーザ名を「admin」から他の何かに変更するとか,強いパスワードを使うとかいう対策が推奨されているようだが,先日の「2013年4月マイクロソフト定例。」あたりにも出てきた話だけど,パスワードの使いまわしとかはやめた方がいい。

カテゴリー
Windows

本家のお世話-#59。(MySQL5.6.10へアップグレード)

The same article in English

投稿アップデート情報  追記(2/9)  追記2(8/2)

 MySQL5.6.x が出てから大分経ち,現在,バージョンは 5.6.10 になっている。で,これが,初の正式版だそうだ(2/6のリリース)。 MySQL のアップグレードについては,5.1 から 5.5 のときに痛い思い出があって二の足を踏んでいたのだが,いつまでも放っておくのは日ごろのポリシーに反するので,重い腰を上げてアップグレードに取り組むことにした。

 5.5 系では, msi を使っていたが,今回はインストールパスを変えたくない(単に,前回の轍を踏まないため―爆+笑)ので, Zip アーカイブを使うつもりだ。現時点の我が家のサーバOSは, WinXP SP3(x86)である。

  1. 何はともあれ,現状をバックアップする。WordPress のアップデートのときと違い,すべてのユーザについてデータベースを phpMyAdmin でバックアップ。 zip から zip のアップグレードなら,MySQL Server x.x への上書きでいいようなのだが,前回までが msi なので,アンインストーラーを使わないと「プログラムの追加と削除」にゾンビが残ってしまう。アンインストーラーはすべてを削除するので,作業の前に my.ini の保存とインストールパス名(うちの場合は C:Program FilesMySQLMySQL Server x.x だった)の記録をしておく必要がある。
  2. コントロールパネル >> 管理ツール >> サービス
    MySQL のサービスを停止する。
  3. コントロールパネル >> プログラムの追加と削除
    MySQL Server x.x を削除する。

    これを削除しても, C:Documents and SettingsAll UsersMySQLMySQL Server x.x は残るはずなので,元のデータベースはそのまま使えるはずだが,何が起こるかわからないので,バックアップは取っておくに越したことはない。再起動のメッセージが出ない場合は,再起動はしなくても大丈夫なようだ。

  4. mysql-5.6.10-win32.zip をダウンロードし,展開する。
  5. C:Program FilesMySQL に MySQL Server x.x フォルダを再作成し,この中に先ほど展開でできたファイル群を移動する。すべて移動してもよいのだが,我が家の場合,リモートでドキュメントなどを使うことはないので,以下の5つのフォルダと2つのファイルのみを移動した。
    • フォルダ
        bin
        data
        include
        lib  
        share
    • ファイル
        COPYING
        my-default.ini

     先ほど保存しておいた my.ini を my-default.ini と同じ階層にコピーする。

  6. アンインストーラーを使ったので,サービスとしての MySQL も削除されている筈であるから,MySQLを改めてサービスとして登録する。
    コマンドプロンプトを立ち上げて, cd コマンドで C:Program FilesMySQLMySQL Server x.xbin に移動し,
    mysqld.exe –install
  7. コントロールパネル >> 管理ツール >> サービス
    MySQL のサービスを開始する。
    「スタートアップの種類」が自動になっていない場合は,この時に,自動に直しておく。

    開始したら,エラーが出た orz。
     

  8. イベントビューアを見に行ったら,説明のところに MySQL: unknown variable ‘table_cache=256’ が出ていた。どうやら, table_cache はデフォルトでは無効になっているようだ。
    しかし,何でこのパラメータを入れたんだっけ。覚えていないよ。 table_cache, max_connections, open_files_limit 関係を改めて読んでみたが,我が家での必要性がよくわからない。
    新サーバを調べてみると, max_connections はデフォルトで 151 になっており, Upgrading from MySQL 5.5 to 5.6 によれば,5.6.6 からいろいろ変わったのに付随して,ここも変わったと書いてある。
    5.6.6 以降では,max_connections の値によって自動的にいろいろやってくれるようだ。で,エイヤッと my.ini 内の table_cache と max_connections の行を削除した。

    改めて,起動。成功。
     

  9. コマンドプロンプトで, C:Program FilesMySQLMySQL Server x.xbinに移動し,
    mysql_upgrade
    とやったら,
    Got error: 1045: Access denied for user ‘root’@’localhost’ (using password: NO) when trying to connect
    FATAL ERROR: Upgrade failed
    になったので,改めて
    mysql_upgrade –password[=password]
    で,再チャレンジ。今度は,無事終了。ただし,
    Warning: Using a password on the command line interface can be insecure.
    と言われた。我が家では,この手のコマンドは,外には出ていかない設定になっているが,コマンドがインターネット上を飛ぶ設定になっているとか他のユーザーもサーバを使う場合は,気をつける必要があるのだろうと思う。正直な話,この辺よくわかっていないのだが(汗), Using a password on the command line interface をやるとメモリ上(?)にパスワードが残る形になって,それを簡単に読み取る方法があるらしい。でもさ,管理者以外,誰も MySQL マシンにアクセスできなければ問題ないよね???

    mysql_upgrade — Check and Upgrade MySQL Tables の指示通り MySQL のサービスを再起動。成功。

  10. この後,ブログにアクセスしたらちゃんと見えたので,よしッと思ったんだが,何となく,イベントビューアを見に行ったら,ひとつ警告が出ていた。
    TIMESTAMP with implicit DEFAULT value is deprecated. Please use –explicit_defaults_for_timestamp server option (see documentation for more details).
    というの。 5.5 から 5.6 の変更のせいでよく出る警告らしく, Upgrading from MySQL 5.5 to 5.6 にそのものズバリが載っていたので,仰せの通り, explicit_defaults_for_timestamp を有効にするために, my.ini の [mysqld] のセクションに
    explicit_defaults_for_timestamp=true
    を追加。
    MySQL のサービスを再起動。警告が出なくなった。

 以上で,おしまい。ああ,疲れた。

追記(2/9):
 xxxx.err にもう一つ warning が出ていた。

  • InnoDB: Warning: Using innodb_additional_mem_pool_size is DEPRECATED. This option may be removed in future releases, together with the option innodb_use_sys_malloc and with the InnoDB’s internal memory allocator.

というやつ。調べてみると, innodb_use_sys_malloc は on のままだけど,厳密にはどういう意味かな。

 innodb_use_sys_malloc を off にしてみたら,以下の warning が出た。

  • InnoDB: Warning: Setting innodb_use_sys_malloc to FALSE is DEPRECATED. This option may be removed in future releases, together with the InnoDB’s internal memory allocator.

ということで,どうやら,「 innodb_additional_mem_pool_size の設定はしなくていいよ」ということらしいので, my.ini から削ることにした。しかし, MySQL 5.6 系の進化はすごいと評判なんですね。スキルのない零細なブロガーには宝の持ち腐れだね(爆)。

 そういえば, warning じゃないが, IPv6 is not available. もあった。 IPv6 への対応という課題もあったなあ。しかし……これだしなぁ。あれ以降,どうなっているのだろう。準備は進んでいるのだろうか。

追記2(8/2):
 アップグレードではなくて,新規導入の記事を「Windows7上にWamp系WebServerを建てる-#3。」に書いた。

カテゴリー
Windows

本家のお世話-#57。(PHP5.4.11へアップデート)

 17日の17時ごろから,降雪。見る間に,真っ白になったので,スイミングをサボってしまった(テヘヘ)が,その後あまり降らなくて,18日の昼までには,ほとんど消えた。もっとも,昨日の昼くらいまでは,屋根の北側にはまだわずかに消え残った雪が見えていた。今朝は,とっても,いい天気。

 ところで,例の Let’s note J10 ,ついに入院。今(10時過ぎ),クロネコくんが取りに来てくれた。
 実は,昨年10月ごろから,無線ランの調子が悪くて,いろいろやってみたが,結局,ハードの問題のようだというところに落ち着いた。そういうわけで,メーカー修理と相成った。しかし,1年経たずにこういうことの起こる個体って,1か所修理しても不具合が続く恐れがあって,ハズレ個体と言っていい。本当のところ,修理ではなく,丸ごと交換してほしいけど,そうはならないだろうなあ(悲)。

 さて,PHP5.4.11が Jan-16 @21:52:07UTC に出たので,我が家用として,VC9 x86 Thread Safe 版の php-5.4.11-Win32-VC9-x86.zip を落とす。 ChangeLog を読んでも,大きな変更はなさそうだし,2・3日たつけど,怖い話も聞かないので,アップデートしても大丈夫かなというところである。official PHP binary の 5.4.10 以降は php5apache2_4.dll が同梱されるようになったのだが,その辺にも変わりはないか,一応, Apache Lounge の該当部分も見に行った。特に変わりなし。

 php.ini-productionは5.4.10からの変更点なしだし, php5apache2_4.dll も同梱されているから,新旧のファイルを入れ替えて Apache をrestartするだけ。あっと,php.iniを入れ忘れないように!! 新規に導入する方は,「本家のお世話-#28。」を参考にしてください。

 今,気づきましたが,大鵬が亡くなったんですね。ご冥福をお祈りします。合掌。

カテゴリー
Windows

本家のお世話-#56。(AWStats7.1へのアップデート)

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

 AWStats7.1 が出ているので,アップデートしようと思い立った。いろいろすぐれた解析サイトもただで使える時代なのに,無理して AWStats 使わなくてもという意見もあるだろうけど……。 Win サーバなので,当然ながら awstats-7.1.zip を落としてくる。そういえば, ActivePerl もバージョンがかわっていたよなと思い出し, ActivePerl-5.16.1.1601-MSWin32-x86-296175.msi を落としてきて,これを先にインストール。

 ActivePerl-5.16.1.1601-MSWin32-x86-296175.msi をいつもの通り,いつもの場所に上書きインストールしようとしたら,「互換性がありませんので,別のディレクトリにインストールしてください」が出た。これ変えると, cgi の先頭パスを 全部変えなくてはいけない。最近, LINUX の勉強をしていて,こういうときは SymLink の貼り替えを使うみたいなので, Win だとショートカットを作ればいいのだろうか,それとも,通すパスだけやり替えてやればいいのかななどと考えたが,面倒になって前バージョンをアンインストールしてから,新バージョンをインストールした(爆)。インストールがうまくいったかどうかの確認の仕方は,「本家のお世話-#28。」と同じ。

 さて, AWStats7.1 のほうだが,まず使用中の awstats.myserverdomain.conf と awstats.model.conf を WinMerge で比較。カスタマイズのために変更した以下のところ以外違いはなかったので, awstats.myserverdomain.conf をそのまま使用する。うちのサーバの場合は,以下の6ヵ所を書き換えている。

  • LogFile=”/var/log/httpd/mylog.log”
  • SiteDomain=””
  • HostAliases=”localhost 127.0.0.1 REGEX[myserver.com$]”
  • DNSLookup=2
  • DirIcons=”/icon”
  • AllowAccessFromWebToFollowingIPAddresses=””

DNSLookup=2 や DirIcons=”/icon” については,環境が許せば,特に変えなくてもいいんだけど。

 使用中の httpd-awstats.conf も特に問題がないので,このまま使う。

 うちではいろいろなツールを使っていないので,使っている .pl は実は awstats.pl だけ(キッパリ←そんなとこで威張ってどうすんだ)。というわけで, awstats.pl の1行めを自分のサーバのperlの置き所のパスに直す。
(#!ドライブ文字:/~/~/perl なんちゃらです。)

 あとは,設置。普通に使える。と,思ったら大きな間違いだった。またまた,

  1. OSの参照がすべて不明になる
  2. 検索文字列が一切捕捉されない

になっちゃいまして(泣)。で, http://vouters.dyndns.org/public/awstats-7.0.pl.diff.tar.gz ( <--- これは,AWStats7.0 かつ ActivePerl-5.14.2.1402-MSWin32-x86-295342.msi のパッチ )を参考にして,自前パッチを作っちゃった(もとがさほど変わっていないから,そんな大層なものじゃないが―汗)。使う方は,どうぞ。これです。
 下の追記のように,7.1.1にアップデートしてから,パッチなしでちゃんと動いている。

 ここで, Win 上でのパッチの当て方を書いておく。この間,ドボンしているので,リベンジ。

  1. patch-2.5.9-7-bin.zip を落としてくる。
  2. zip を展開して, patch.exe をゲット。
  3. patch.exe の使い方だが,コマンドプロンプトから使う。今回, Win8 上で使ったが, patch.exe を普通のディレクトリに置いておけば,コマンドプロンプトを管理者として起動する必要はなかった。また,しょっちゅう使うなら,パスを通しておいてもいいが,一番簡単なのは, pachh.exe , awstats.pl , awstats.pl.diff を一つのディレクトリに入れておいて, cd コマンドでそのディレクトリに移動してから,
         patch -u awstats.pl awstats.pl.diff
    を走らせる。瞬時で終わる。ハヤッ。

 この間,沈没した原因は, -u (diffがユニファイドだった)を使わなかったのと,間違って –binary オプションをつけたせいらしい。それから, diff ファイルの改行コードが LF だとうまくいかなかった。また,完成した awstats.pl の改行コードも CR+LF に変わってしまうので,必要ならば,後で直すこと。 ActivPerl , AWStats とも我が家と同じバージョンで,同じ障害が出る場合,上の zip を落として, diff を使ってみてください。うまくいくかどうかは,わかりません(断言―大汗)。

 それから,書き落としましたが, patch.exe を走らせる前に,awstats.pl と awstats.pl.diff の行指定が違っていないか,確認してください。

追記(4/24):
 Mar-08@20:19UTC に Ver.7.1.1 が出たが,これにアップデートしてから,上記のパッチ当てなしで,ちゃんと,動くようになった。

カテゴリー
Windows

本家のお世話-#55。(PHP5.4.10へアップデート)

 昨日は,冬至だったけど,南瓜とか柚子湯とかやった?うちは,南瓜だけ,煮て食べた。柚子も木にたくさんなってるけど,面倒で。そんな贅沢なこと言ってるとバチが当たるかな(汗)。

 さて,PHP5.4.10が Dec-20 @00:23:47UTC に出た。我が家用としては,VC9 x86 Thread Safe 版の php-5.4.10-Win32-VC9-x86.zip を落とす。

 Apache Lounge を見に行ったら, VC9 – PHP Handler の説明のところに,official PHP binary の 5.4.10 から php5apache2_4.dll が同梱されるようになったと書いてあった。実際,上の zip を展開したら中に php5apache2_4.dll があった。Apache 2.4 用の PHP Handler も,汎用性が増し安定してきたということか。

 ところで,いつも引用しようと思いながら忘れる Apache Lounge についての Steffen 自身の言及がある。ここで, Steffen は Apache Lounge で配布している Win binaries の有用性を説いているのだが,この中に,「The ASF provides binaries only as a convenience and at our leisure;」というStatement of the ASF からの引用がある。

 「なかなかはっきり言っているなあ。誰の文責によるものだろう」と思っていたのだが,今回,Steffen の言及にリンクを貼るにあたって,ソースを調べてみた。ソースは httpd-users mailing list での William A. Rowe Jr. による 「Upgrading OpenSSL without upgrading Apache. Can it be done???」に対する回答の中で現れたもののようだ。日付から言ってもこれで間違いないだろうと思うのだが,彼の発言だから,Steffen は「Statement of the ASF」のと書いたのかなあ。はじめ,もとの文章を The Apache Software Foundation Blog あたりで探したんだけど,見つけられなかった。 mailing list での個人に対する回答という以外の形で書かれたのがあるのだろうか。

 それはさておき,アップデートのほう。
 php.ini-productionは5.4.9からの変更点なしだし,上で書いたように, php5apache2_4.dll も同梱されているから,新旧のファイルを入れ替えて Apache をrestartするだけ。あっと,php.iniを入れ忘れないように!! 新規に導入する方は,「本家のお世話-#28。」を参考にしてください。

 忘れるところだった。MySQLも5.5.29にアップデートした。こちらの方も新規に導入する方は,「本家のお世話-#16。」を参考にしてください。ただし,MySQLのアップデート時に,msiのUIが変わっていたので,新規インストールのときも見かけは違うかもしれない。