カテゴリー
Windows

本家のお世話-#89。(MariaDB5.5に移行)

The same article in English
投稿アップデート情報  追記(12/21)  追記2(12/25)  追記3(2014/6/6)

MaintenanceNotice 昨日は,一生懸命取り組んでいた。何にって,くりくりさんとの話にも出ていた Windows7HP+SP1(x86) 上での MySQL から MariaDB 移行に(汗)。

 まずは,全サーバデータのバックアップ。
 次に,右図の表示をする maintenance.html を作り,作業のために,以下の行をドキュメントルートの .htaccess の頭に追記した。(参考: mod_rewrite<IfModule>Webサイトのメンテナンス中画面を出す正しい作法と.htaccessの書き方

     ErrorDocument 503 /maintenance.html

     RewriteEngine On
     RewriteCond %{REQUEST_URI} !=/maintenance.html
     RewriteCond %{REMOTE_ADDR} !=IP address for Admin
     RewriteRule ^.*$ – [R=503,L]

     Header set Retry-After “Wed, 18 Dec 2013 01:00:00 GMT”

 ここに,「特定のモジュールの存在に関わらず動作する 設定ファイルの原本が必要なときにのみこのセクションを使用してください。 通常の動作では、ディレクティブを <IfModule> セクションの中に 入れる必要はありません。」と書いてあったので, <IfModule> はいらないかなと思いはずした。

 さて,さっき作った maintenance.html をサイト上に表示するようにして, MariaDB5.5 への移行に取り掛かった。

 MariaDB をクリーンインストールする。今回,エンジンは MyISAM から InnoDB に変えてみたい。 MySQL を使い始めたときにすべてのテーブルを MyISAM で作った。最近, InnoDB のメリットをよく聞くのでやってみたくて仕方なかった。もっとも,そうしたって,よくわかっていないから,生かしきれないと思うけど(爆)。それに,移行で泥沼にはまっている話もちょくちょく見かけたので,二の足を踏んでいた。だって,何か起きたら対処しきれないじゃないヨ,もともと,よくわかってないんだから-Haha。

 MariaDB はデフォルトで InnoDB らしい。この機会に,テーブルを作り変えてもいいや。

ステップ1 MySQL をアンインストールする。

  1. すべての WordPress プラグインを無効にする。
  2. さっきやったサーバのバックアップとは別に,すべてのデータベースを sql ファイルとしてバックアップする。
  3. ダッシュボードのツールから WordPress のすべての記事・コメントをエクスポートする。この時点では,可能なら WordPress Importer を使おうと思っていた。後述の理由で,結局あきらめたが。
  4. サービスを停止する。
    コントロールパネル >> 管理ツール >> サービス
    MySQL のサービスを選んで,停止。
  5. サービスを削除する。
    cmd.exe を管理者として実行。
    > sc delete MySql
  6. フォルダ MySQL と MyDATA を削除(<--- これらには,自鯖の MySQL 関係のものがはいっている)。

ステップ2 MariaDB をインストールする。

  1. mariadb-5.5.34-win32.zipMariaDB からダウンロードする。
  2. Installing MariaDB Windows ZIP packages にざっと目を通してから, mysql_install_db.exe について を読んだ。
  3. Zip を展開する。 MariaDB と MyDB というフォルダをサーバウェア用のパーティション Drive_SV に作り,展開でできたものを MariaDB フォルダにコピーする。

    cmd.exe を管理者として実行。
    > cd Drive_SV:MariaDBbin
    > mysql_install_db.exe –datadir=Drive_SV:MyDB –service=MyDB –password=secret

    これにより,root のパスワードが設定され, MyDB の中には my.ini が作られる。

  4. コントロールパネル >> 管理ツール >> サービス
    MySQL のサービスを選んで,開始。
    もし,「スタートアップの種類」が「自動」になっていない場合は,自動になおしておく。

ステップ3 phpMyAdmin で MariaDB にアクセスする。

  1. phpMyAdmin から root として,MariaDB にアクセスする。
    バックアップしていた phpmyadmin データベースをインポートする。
  2. WordPress 用ユーザを作り, WordPress データベース用に Grant 以外のすべての privileges を付与し Global privileges は一定与えないこと。パスワードも設定する。 WordPress 用のデータベースを作成する。 collation は utf8_general_ci にする。
    ログアウト。

WordPress Importer でインポートしたが,結局止めてしまった理由。

 新しく WordPress をインストールした後, WordPress Importer でコンテンツをインポートした。間の悪いことに作業がほぼ終わってから,このプラグインが <object> などのある種のタグを移してくれないことに気づいた。 html 関係のどんなタグが対象になるのか調べるのも鬱陶しくて,この方法はやめることにした。これに結構時間かかってたんだけどね。

ステップ4 phpMyAdmin ですべてのWordPress のデータを復元する。

  1. InnoDB を使いたいので,バックアップファイル上の ‘ENGINE=MyISAM’ を ‘ENGINE=InnoDB’ に置き換えた。
  2. phpMyAdmin に WordPress ユーザとしてログインし,データベースにアクセス。
    WordPress のデータベース上の現データをエクスポート。
    現在の WordPress のデータベース上のテーブルをすべて削除。ところで,バックアップした sql ファイルには,全部が含まれていて大きいが,これを編集するのも面倒なので, php.ini のアップロードの制限を作業中だけちょっと変更した。
  3. バックアップをインポートしたら,エラーが出た。アララ。
         #1214 – The used table type doesn’t support FULLTEXT indexes

    もともと, MyISAM だったので, FULLTEXT indexes が使われていたみたい。調べてみたら, YARPP が post_title と post_content のキーとして使っていた。ウーム。 しかし,フォーラムに, we can use YARPP on the InnoDB というのがあったので読んでみたら,性能は落ちるけど, InnoDB でも使えんことはないよと,プラグインの作者が言っていたので,「エイヤッ」と全 FULLTEXT indexes 関連行を削除した。(そういえば, MySQL5.6 は InnoDBでも FULLTEXT に対応したよね。–12/25追記)

  4. もっ一回,全テーブル削除。

    書き換えたファイルをインポートしたら,あらまたエラーが……
         #1064 – You have an error in your SQL syntax;

    これは,えっと,私のミスであった。 FULLTEXT indexes を消したときに “,” の消し忘れ。
         KEY `post_author` (`post_author`),   <<--------この ',' が残っていたのヨ。      ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=xxxx ; で, ',' を削除。

  5. 全テーブル削除。

    3度目の正直。ナンチャッテ。インポート。おっ,通った。

ステップ5 通常営業に戻る。

  1. WordPess にログイン。
    全プラグインを有効化して,挙動をチェック。

    .htaccess を元に戻して,メンテ終了。

  2. 実のところ,作業後, Jetpack が親サイトでエラーを吐いている。

         Your website needs to be publicly accessible to use Jetpack: site_inaccessible
         Error Details: The Jetpack server was unable to communicate with your site https://MySITE
         [IXR -32300: transport error: http_request_failed SSL certificate problem: self signed
         certificate in certificate chain]

    でも,調べてみたところ,メンテのせいではないようだ。そんなわけで, Jetpack フォーラム での情報待ちです。

 MariaDBについては,移行完了ってところ。拍手×2。

追記(12/21):
 MyISAM から InnoDB に変更して以来, YARPP プラグインの性能低下がはなはだしい。予想以上のひどさである。 YARPP のページの示唆通り,元に戻したほうが賢明だ。

  1. phpMyAdmin にログイン。
  2. WordPress 用のデータベースを選択。
  3. wp_posts テーブルを選択。
  4. 上のナビバーから ‘操作’ を選択。
  5. ストレージエンジンを Innodb から MyISAM に変更。
  6. テーブルオプションの ‘実行’ をクリック。
  7. phpMyAdmin をログアウト。

 ところが,この変更を YARPP が認識してくれない。こういう操作のための機能も用意されているのだが,うまく働かない。解決策を探しに, YARPP サポートフォーラムに行ったら, MyISAM Override check doesn’t work というのがあった。 hussong の方法をやってみた。

  1. まず, YARPP を無効にする。
  2. phpMyAdmin にログイン。
  3. WordPress 用のデータベースを選択。
  4. wp_options テーブルを選択。
  5. 上のナビバーから ‘SQL’ を選択。
  6. SELECT * FROM `wp_options` WHERE option_name LIKE "yarpp%" をやる。
  7. 見つかったのをすべて削除。 yarpp_fulltext_disabled = 1 というのがあるはずなので,これを yarpp_fulltext_disabled = 0 に変更する。
  8. phpMyAdmin をログアウト。
  9. YARPP を有効にする。
  10. 元の設定はすべて消えてしまうので, YARPP の設定をやり直す。

 これで,タイトルと内容の検討オプションが使える。ヤレヤレ。

追記2(12/25):
 「Jetpack の不具合について。」というのを書いた。

追記3(2014/6/22):
 WordPressでの「SSL3_READ_BYTES:sslv3 alert handshake failure」を解決というのを書いた。

カテゴリー
Windows

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

The same article in English

 Dec-12 01:43:06UTC に PHP5.5.7 が出た。

 ChangeLog によれば,バグフィックスに, CVE-2013-6420 についてのものが含まれているようだ。

 いつもどおり,我が家用 (Windows7HP+SP1(x86)) として,VC11 x86 Thread Safe 版の php-5.5.7-Win32-VC11-x86.zip を落としアップデート。 VC11 がいるので,インストールがまだの場合は PHP のコンフィグの前に vcredist_x__.exe を入れておく必要がある。

 php.ini-production には何も変更はなかった。

 php5apache2_4.dll はオフィシャルバイナリに含まれているので,新旧のファイルを入れ替えて php.ini を放り込み, Apache をrestartするだけ。

 新規に導入する方は,必要なら「Windows7上にWamp系WebServerを建てる-#2。」を参考にしてください。

カテゴリー
Windows

KeyPasoに手持ちのVista Businessを入れてみた。

The same article in English
投稿アップデート情報  追記(3/19)  追記2(2014/10/16)

 KeyPaso に手持ちの Windows Vista Business を入れてみた。 KeyPaso は昔クイックサンで買ったもので紹介では Elite II と書いてあった記憶があるのだが,今回調べてみたら, Elite 4 みたいだ。

 KeyPaso は茶の間の PC として使っていたのだが,動画を見るときにフリーズばかりで使用に堪えないので,お払い箱にした。しかし,まだ動く。これを自分用の動画見 PC にしようと思って,弄ってみた。 Windows XP は 2014/Apr/8 UTC まででサポートが終わるので, OS は手持ちの Windows Vista Business に変えた。 VIDEO & GRAPHICS については, Built-in にしても RADEON 9200 SE PCI にしても力のなさは否めないが, RADEON には TV-Out があり, Built-in にはないので,ディスプレイの関係で入れ替えるというか, Built-in を無効にして, RADEON のほうを使うことにした。

 スペックはこんなものである。
 

 
インストールされた OS Windows XP Professional SP3 Windows Vista Business SP2
CPU Intel(R) Celeron(R) 2.40GHz (Northwood-128) Socket 478 mPGA
メインボード SiS-650
メモリ 2GB (1GBx2) PC2700 DDR SDRAM(166 MHz)
システム BIOS Phoenix Technologies LTD ver. 6.00 PG 2003/04/04
VIDEO & GRAPHICS Built-in SiS651 RADEON 9200 SE PCI
ネットワーク SiS900 NIC
オーディオ SiS 7012 Audio Device
USB 2.0 SUPPORT USB 2.0 ポート 4個
iLINK IEEE-1394 1394 ポート 2個

 クリーンインストール後にデバイスマネージャにあった黄色の「!」マークは SiS 7012 Audio Device についての1個だったが,これ用の新しいドライバは存在しないようだった。最終的に Windows XP (x86) 用の a12112d.zip で使えることがわかった。インストール後も,互換性ナンチャラのメッセージが出るけど,無視。

 電源オプションは「高」,お約束の Aero は off ,なにしろエクスペリエンス インデックスのグラフィックスの値が 1.9 なんだもの。解像度は,茶の間の 50インチモニタとは違うので最低の 800×600 を選択。状況は,かなり改善したが,まだ,フリーズする。結局, RADEON 9200 SE PCI のドライバをあきらめて標準 VGA グラフィックアダプタのドライバにしたら,どうにか落ち着いた。書き忘れるところだったが,インストール前に,ファンやCPUの掃除はした。

 というわけで, KeyPaso は,今,寝室にある。まあ,満足。

追記(3/19):
 VL-17VS2 を使おうと,努力した話を書いたので,興味があれば,そちらもどうぞ。「富士通 30 ピン ディスプレイ コネクタ —>> DVI-D。

追記2(2014/10/16):

 昨日の Windows Update 後,突然音跳びするようになった。ドライバは,昨日までは a12112d.zip 由来のものを使っていた。最終的には,どこで手に入れたか忘れた,すごく古い Avance AC’97 Drivers for SiS を入れたらよくなった。どこで手に入れたかはっきり覚えてないが,古さから考えると, KeyPaso についてたドライバ CD のものじゃないかと思う。

カテゴリー
Windows

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

The same article in English

 Apache HTTP Server 2.4.7 が出たので,アップデート。チェンジログ,いっぱい。 Steffen のところの「 Apache 2.4.7 available 」を見ると, Windows 関連でもいい話もあるみたいだ。

 VC11 用の httpd-2.4.7-win32-VC11.zip (22 Nov) を我が家用 ( Windows7 x86 ) にダウンロード。 Apache 2.4.x conf 情報が必要な方は,「Windows7上にWamp系WebServerを建てる-#1。」を見てください。

カテゴリー
Windows

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

The same article in English

 Nov-13 20:57:44UTC に PHP5.5.6 が出た。

 ChangeLog によれば,バグフィックスがいくつかと,若干のパフォーマンス改善があるらしい。

 いつもどおり,我が家用 (Windows7HP+SP1(x86)) として,VC11 x86 Thread Safe 版の php-5.5.6-Win32-VC11-x86.zip を落としアップデート。 VC11 がいるので,インストールがまだの場合は PHP のコンフィグの前に vcredist_x__.exe を入れておく必要がある。

 php.ini-production は PHP の コメント文のシンボル ; の前に半角スペースが入っていたとかで,一ヶ所変わっていた。 bug #65939 ( —> [; size of the optimized code.])。で,自分とこの php.ini の中も訂正しておいた。自鯖には無関係のとこだったが,いつか関係するようになるかもしれんし。

 php5apache2_4.dll はオフィシャルバイナリに含まれているので,新旧のファイルを入れ替えて php.ini を放り込み, Apache をrestartするだけ。

 新規に導入する方は,必要なら「Windows7上にWamp系WebServerを建てる-#2。」を参考にしてください。

カテゴリー
Windows

NJ2100 で Windows8.1 Pro を試してみた。

The same article in English

 東北楽天イーグルスの皆様,日本一,おめでとうございます。ホークスの諸君,来季は頑張ってよね。

 ところで,昨日, NJ2100 に Windows8.1 Pro を入れてみた。

 まずは, AOMEI Backupper を使って,現在の Win8 Pro をバックアップ。
 次に,めったと使わない Metro UI からストアにアクセスして,アップデートにチャレンジ。

Windows8.1 #3
Windows8.1 #3
Windows8.1 #2
Windows8.1 #2
Windows8.1 #1
Windows8.1 #1

 8.1 Pro のダウンロードは,数時間かかるみたい。もちろん,環境によるけど。

 終わったら,再起動してくださいが出るので,再起動する。

 ここまでは,特に問題なしだった。ところが,何時間たっても,インストールが終わらない。モニターは真っ黒になっているし, HDD のアクセスランプも全く点灯しない。仕方がないので,あきらめて,電源ボタンで強制終了。改めて火を入れたら, Win8 Pro が復元されて,一つエラーメッセージが出た。「0xC1900101 – 0×30018」。調べてみると,どうも Windows8.1 Pro が要求するのより旧いドライバが PC 上にあるときに出るみたい。第六感が,「そのドライバってSiS Mirage 3 Graphics 用のに違いないよ」とささやいたので (^_^;),削除してやって,再度アップデートにチャレンジ。

 今度は,最後までたどり着いた。 Windows8.1 Pro を起動してみた。ディスプレイの解像度が 1024×768 なので,改めて,「SiS Mirage 3 Graphics」のドライバをインストール。ところがこの後,頻々とフリーズが起こるようになった。加えて, High Definition Audio ドライバ version 6.0.1.5506 も使えないようだ。この2つは, NJ2100 を快適に使う上で欠かせないんだよね。

 今のところ, Windows8 Pro が使えるんだから,無理にアップデートする必要はない。 Windows8.1 Pro にアップデートしなくてはいけないという時点までは,そのままで行くことにした。ダウンロードで,もう1回手間を食うのは真っ平なので, Windows8.1 Pro をバックアップしたのち, Windows8 Pro を入れなおしたというお粗末。やれやれ。

カテゴリー
Windows

本家のお世話-#82。(Apache で mod_deflate を使う)

The same article in English

 昨日, Apache の設定をいくつか変えた。

 httpd.conf を開けて

  1. HTTP 圧縮を使うために,モジュール mod_deflate の行をアンコメントする。
       LoadModule deflate_module modules/mod_deflate.so
  2. ディレクティブ AddOutputFilterByType (リンク先には,今のところ日本語なし) を使うために,以下の行をアンコメントする。
       LoadModule filter_module modules/mod_filter.so
  3. ディレクティブ Header を使うために,以下の行をアンコメントする。
       LoadModule headers_module modules/mod_headers.so
  4. モジュール mod_expires の行をアンコメントする。
       LoadModule expires_module modules/mod_expires.so

 次の行を httpd.conf に付け加える。この件では,まだよくわからないことがいろいろあるんだが,まあ。
  # Enables generation of Expires headers
  ExpiresActive On
  # expire images and some applications after a month in the client’s cache
  ExpiresByType image/gif A2592000
  ExpiresByType image/jpeg A2592000
  ExpiresByType image/png A2592000
  ExpiresByType text/javascript A2592000
  ExpiresByType text/css A2592000
  ExpiresByType application/javascript A2592000
  ExpiresByType application/x-font-woff A2592000
  # HTML documents are good for a week from the time they were changed
  ExpiresByType text/html M604800
  ExpiresByType text/plain M604800
  ExpiresByType text/xml M604800
  # Enabling Compression
  AddOutputFilterByType DEFLATE text/html text/plain text/xml text/javascript text/css application/javascript
  BrowserMatch ^Mozilla/4 gzip-only-text/html
  BrowserMatch ^Mozilla/4.0[678] no-gzip
  BrowserMatch bMSIEs(7|8) !no-gzip !gzip-only-text/html
  # Make sure proxies don’t deliver the wrong content
  SetEnvIfNoCase Request_URI .(?:gif|jpe?g|png)$ dont-vary
  Header append Vary User-Agent env=!dont-vary

カテゴリー
Windows

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

The same article in English

 Oct-17 00:30:06UTC に PHP5.5.5 が出た。

 ChangeLog によれば,20程度のバグフィックスがあり,そのうちのいくつかはビルド関係らしい。

 いつもどおり,我が家用 (Windows7HP+SP1(x86)) として,VC11 x86 Thread Safe 版の php-5.5.5-Win32-VC11-x86.zip を落としアップデート。 VC11 がいるので,インストールがまだの場合は PHP のコンフィグの前に vcredist_x__.exe を入れておく必要がある。

 php.ini-production には実質的な変更はないが,”; This is php.ini-production INI file.” というコメント行が1行増えていた。

 php5apache2_4.dll はオフィシャルバイナリに含まれているので,新旧のファイルを入れ替えて php.ini を放り込み, Apache をrestartするだけ。

 新規に導入する方は,必要なら「Windows7上にWamp系WebServerを建てる-#2。」を参考にしてください。

カテゴリー
Windows

2013年10月マイクロソフト定例。

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

 2013年10月のセキュリティ情報ということです。 Adobe Acrobat Reader もアップデートが出ました。

 近ごろの我が家,セキュリティネタが少ないと思ってるでしょ。ないんじゃないです。ありすぎてアップアップで,書く気がしなくて,この体たらく。なんかもう,ほんと,おなか一杯,手いっぱい。

 対応する皆様,いずこの方も頑張ってください。零細な自鯖運営者も,及ばずながら,日々,努力しておりますですよー。 m(_”_)m

追記(10/10):
 まぁ, M$ の分だけでも多くて多くて,ほんとにちょっとアップアップなんですが,そうは言いながらも定例がらみで発見したことだけ書いておきます。

 なんかいっぱい緊急があって,なおかつズラズラと謝辞が並んでるなぁ,そういう時代なんだなと2013年10月のセキュリティ情報を読んでたら,謝辞のところに明らかに日系の名前があった。へえ,日系米人かと思ったが,よく見たら,どうもラックの石川芳浩さんですねぇ。

 で,行ったことのなかった LAC Co. をのぞいてみたら,こんなんありました。

 こういう時代なんですねえ。下級な現場のもの(—>自分のことですわ)もしっかりしないと,時代に取り残される。取り残されるだけならいいけど,いつ痛い目に合うかわからんなぁ。

カテゴリー
Windows

本家のお世話-#79。(MySQL5.6.14へアップデート)

The same article in English
投稿アップデート情報  追記(9/25)

 自鯖の (Windows7HP+SP1(x86)) の MySQL を 5.6.12 から 5.6.14 にアップデートした。

  1. mysql-5.6.14-win32.zip をダウンロードする。
  2. Zip を展開する。
  3. MySQL のサービスを停止。
    cmd.exe を管理者として起動。
    >net stop mysql
  4. 用心のために, Drive_SV (自鯖のサーバウェア用パーティション) 内の ‘MySQL’ と ‘MyDATA’ をバックアップする。
    注: 通常の ‘MySQL’ の場所は C:mysql , ‘MyDATA’ の場所は C:mysqldata である。
  5. 使用中の ‘MySQL’ 内の同名のものを,以下の4つのディレクトリと1つのファイルで上書きする。 my.ini は残ったままになる。
    • ディレクトリ
        bin
        include
        lib
        share
    • ファイル
        COPYING
  6. 使用中の ‘MyDATA’ 内の同名のものを,以下の2つのディレクトリと3つのファイルで上書きする。ただし, ‘MyDATA’ の mysql にあるdb.MYD, db.MYI, user.MYD, user.MYI の4ファイルは上書きしない。これを上書きすると,ユーザとパスワードを再設定する羽目になる。 auto.cnf は残ったままになる。
    • ディレクトリ
        mysql
        performance_schema
    • ファイル
        ib_logfile0
        ib_logfile1
        ibdata1
  7. MySQL のサービスを開始。
    cmd.exe を管理者として起動。
    >net start mysql

 以上。

追記(9/25):
 このアップデートと関係あるのかどうかは定かでないんだが,一昨日から WordPress のデータベースのひとつについてエラーが頻発していた。よくわからないので, WordPress 関連のデータベースをそっくりドロップし,バックアップと入れ替えてみた。今のところよくなったように見えるんだが,何が原因だったんだろう。