« Posts tagged WordPress

XAMPPで移行用の環境構築

桃の写真

今回のWordPressへの移行は、ちょっと試行錯誤が必要になりそうだ。テスト用としてレンタルサーバー上にテストサイトも用意してあるけれど、ローカルにもテスト環境が欲しかったので、気軽に扱えて便利と評判の高い「XAMPP」(ザンプ)というパッケージを使用した。XAMPPは、以前にも使用したことがあるので安心して使うことができる。

XAMPPについて少し説明しておこう。もう何年も前のことになるが、XAMPPのルーツといえる「LAMP」とよばれるWeb環境があった。
これは、

  • Linux  (OS)
  • Apache HTTP Server  (Webサーバ)
  • MySQL  (データベース)
  • Perl、PHP、Python (スクリプト言語)

を総称した頭文字から成る造語だ。動的(ダイナミック)なWebコンテンツを含むWebサイトの構築に適した、オープンソースのソフトウェア群のことをいう。これらはそれぞれ独自に開発されたものなのだが、いくつかのサーバー用Linuxディストリビューションにおいては、LAMPがセットになって配布されていた。LAMPを1つのセットにすることによって、OSのインストールの際にLAMPの多くの設定や関連付けを自動的に行えるようになり、サーバー管理者の手間を軽減させることができることから急速に普及した。僕も昔、これらのソフトウェアをLAMPを使わずに個別導入を試してみたことがあるのだけど、インストール、各設定ともに面倒でかなりシンドイものがあった。それがLAMPを使うことで設定に悩むことはなくなり、とりあえず動かす程度であればクリックするだけでおしまいだ。ほんといい世の中になったものだ。

そしてXAMPPとはこのLAMPから派生したもので、apachefriends.orgというオープンソース・プロジェクトから提供されている。LAMPと同様にWeb開発環境が一括して導入できるものであり、Linux以外の複数のOSに対応したことから'L'ではなく'X'(クロスプラットフォーム)として名づけられた。'P'が2個なのは、MySQLのGUIツールであるPHP MyAdminといったソフトウェアもパッケージに加わったことによる。現時点でXAMPPは、OSは、Windows、Linux、Mac OS X、Solarisで利用可能となっている。XAMPPは、主として開発用あるいは学習用とされているが、実用性も高いことから、イントラネットなどにおいて実運用環境として使われることも多くあるようだ。
今回ボクが使用したのは、「XAMPP for Windows」の最新バージョンである ver.1.7.3。ApacheFriends.orgの以下のサイトからダウンロードしてセットアップする。ボクは、デスクトップ機ではなく、Windows XPのノートPC (ThinkPad x40)に導入することにした。

『XAMPP for Windows』
http://www.apachefriends.org/jp/xampp-windows.html

XAMPPの基本的なインストールについては、上記のサイトで解説されているので割愛する。インストール自体はとても簡単で戸惑うことはないだろう。その他のポイントだけを記述する。

・セキュリティ対策
ローカル環境だある自宅のノートPC(Windows XP)に導入するわけなのだけれど、これが外部(インターネット側)からのぞけたりするとセキュリティ上とても危険である。.htaccessを使ったアクセス制限とMySQLのパスワード設定だけは忘れずに行っておくことにする。(.htaccessについては詳しくはこちらを参照)
まず、テキストファイルにこんな感じで記述。
[php font_size="80%"]
Order deny,allow
Deny from All
Allow from localhost 127.0.0.1
[/php]
この.htaccessでは、全ての接続要求を拒否(deny)し、唯一、localhostである127.0.0.1だけを許可(Allow)している。127.0.0.1というのはループバック・アドレスといって、規定でそのPC自身をさす特別なIPアドレス。この内容はつまり、「自分以外からのアクセスは拒否する」という意味。この.htaccessを、Apacheのドキュメントルートに置く。Windows版XAMPPでは、デフォルトのドキュメントルートは「C:\Program Files\XAMPP\htdocs配下」である。
ちなみに、Windowsの標準の「メモ帳」ではファイル名が「.」(ドット)で始まるファイルは保存できない。Explorerで名前の変更をすることもできない。「秀丸」や「サクラエディタ」といったテキスト・エディタ使用し、保存の際に「ファイルの種類」を「すべてのファイル(* *)」にすると保存できる。
このとき、エンコードの種類をWindows標準のShift-JISのままだと何かとトラブルの原因になったりするので、ここはUTF-8にしておくことをお勧めする。その意味でもテキスト・エディタはあった方がいい。

次にデータベースのセキュリティだが、データベースであるMySQLは、格納されたデータをPHPで取り出してWordPressの画面を生成したりしている。ここも外部からアクセスできては困るのだが、デフォルトではroot権限のユーザがパスワード無しになっている。これはさすがにあぶないので、DBに接続するユーザ、パスワードはきちんと設定しておく。

これら何点かだけ気をつけて、XAMPPを使ったWordPressの開発環境が簡単にできてしまった。ネットを介さず、ローカルマシンでちょっとしたテストや動作確認ができるのはほんとに便利で楽だ。WindowsのExplorerから直接ファイル操作ができ、そのままブラウザで確認ができる。FTPすら必要としない。テーマ、プラグイン、テンプレートなどのカスタマイズは、このテスト環境で試してからCOREサーバ上にアップすることにする。

参考:
「AMPPでWordPressローカル環境をつくる」
http://blackpepper.oops.jp/wp/archives/2077

WordPress 3.0のインストール

wordpress6月の末に、「WordPress 3.0 ”セロニアス”」の日本語版が正式にリリースされた。このリリースの愛称”セロニアス(thelonious)”は、ジャズ・ピアニストである「セロニアス・モンク(Thelonious Monk)」に由来しているのだそうだ。歴代のWordPressのコードネームはどれもジャズ・ミュージシャンの名前がついているけれど、これはWordPress創始者 Matt Wullenweg氏がジャズ好きであることから著名なジャズ・ミュージシャンの名前を付けているのだとか。

今回のリリースでの目玉としては、まず、新デフォルトテーマ「Twenty Ten (トゥエンティテン) 」の採用があげられる。テーマ制作者向けには、カスタマイズ可能な背景、ヘッダー、短縮リンク、メニュー、投稿タイプ、分類などを簡単に実装できる新しい API が用意されており、Twenty Ten テーマではこれらがすべて活用されている。もうひとつは、長い間待ちに待った WordPress とWordPress MU の統合である。新しいマルチサイト機能を使うことで、ひとつのWordPressのインストールだけで、複数のサイトを運用することが可能となった。MovableTypeでは以前からマルチサイトをサポートしていたとはいえ、ボクにとっては、これでMTに踏みとどまっていた要素がひとつ減ったと言える。WordPressの公式リリースによれば、今回のバージョン 3.0でリリースサイクルを一休みして、今後は WordPress 周辺を充実することにリソースを集中するとのことだ。

リリースノートをみているだけでワクワクしてくるWordPress 3.0。
早速テストサイトを立ち上げて試してみることにした。インストールについては、これまで通りの「5分間インストール」なので簡単。このインストールの方法については公式HPにも丁寧にかかれているので割愛するが、結論から言えば、WP3.0は素晴らしい!出来が良すぎて困ってしまうぐらいである。クイックポストを使って設定や投稿は簡単にできるし、モバイル対応も含めて使えそうなテーマやプラグインはいっぱいあるし、WP自身のバージョンアップですらボタン一つでできる。世に出ているテーマとプラグインを使うだけで、十分に満足できるサイトを作れそうなのだから、面倒なサイト構築の努力や勉強なんてしなくなってしまいそうだ。とりあえずしばらく使ってみることにするが、WP3に慣れたらもう他のCMSを使う気は無くなってしまうかもしれない。

参考:「WordPress のインストール」-WordPress Codex 日本語版

【マルチサイトの構築】
まずは、3.0の本命であるマルチサイトを早速ためしてみた。マルチサイトを構成手するには、wp-config.phpに、
[php font_size=”80%”]
define(‘WP_ALLOW_MULTISITE’, true);
[/php]
の1文を加えるだけ。ログインしなおすと、ダッシュボードの[ツール]に[ネットワーク]という項目が追加される。
この[ネットワーク]メニューを開くと設定手順が示されるので、それに従ってwp-config.phpや.htaccessを修正する。修正といっても、必要な設定内容は自動生成されて示されているはずなので、これをコピペするだけの簡単さだ。
一通り設定してログインしなおすと、特権管理者としてサイトを追加することができるようになる。

ちなみに、新しくサイトを追加すると、WP_と同じデータベース内にWP_2_という接頭辞のテーブルがもうワンセットできていた。
サイトが追加されるたびに、この接頭辞の異なるテーブルを追加していくということか。

参考:「ネットワークの作成」-WordPress Codex 日本語版

なお、wpを専用ディレクトリに配置している場合は、マルチサイトを構成することができない。これは、将来的に改善されることを期待しよう。

WordPress MU & 3.0
注意: この手順は、WordPress MU ならびに マルチサイト(multisite)を有効にした WordPress 3.0では動作しません。メンバーブログの参照を妨げます。

参考:「WordPress を専用ディレクトリに配置する」 -WordPress Codex 日本語版

【不具合のメモ】
・ダッシュボードのレイアウト崩れ
僕が主に使用するブラウザはFirefox3.5/Firefox3.6なのだけど、WordPress 3.0 のダッシュボードをブラウザで開くと、管理画面のCSSが正しく反映されず、縦一列にズラズラと並んでしまうので困った。FirefoxだけではなくGoogle Chromeでも同様だったのだが、なぜかIE8では正常に表示される。しばらくは原因追求を後回しにしてIEを使っていたけれど、やはりFirefoxが使えないのはとても不便。・・・原因を探るべくネットを調べてみると、レイアウトが崩れるのはどうもApacheのmod_layoutが原因であるらしい。

ダッシュボードのCSSはwp-admin/load-style.phpで動的に生成されるようになっているのだが、通常ならtext/cssとして送信される情報が、mod_layoutでtext/htmlとして送信されていることがわかった。FirefoxではこれはCSSとして扱わないので、結果として表示が崩れているのだ。
これは、僕が使っているCORE サーバーやXREAで起こりうる特有の症状らしい。COREサーバーやXREAの場合、PHPはセーフモードで動作するので .htaccessを使って.phpをCGIとして動作させている。これまでのMovabletypeの環境では、XREAのサポート情報(http://sb.xrea.com/showthread.php?t=10744)に沿って、.htaccessに「AddHandler application/x-httpd-phpcgi .php」の一文を記述していたのだが、これが原因であった。

解決策としては、wp-adminディレクトリの.htaccessに
[php font_size=”80%”]
<Files load-styles.php>
LayoutIgnoreURI *.php
</Files>
[/php]
を記述を書き加えることで解決。ForefoxでもGoogle Cromeでも表示は正常になった。
それにしても、どうしてIE8で問題なく表示できていたのだろう??
(あいかわらず唯我独尊のブラウザだなぁ。。。。)

参考:
「XREA・CORESERVER.JP にて CGIモードで動かす場合(まとめ)」-WordPress Codex 日本語版
「ブログ入門」-WordPress Codex 日本語版

・GoogleXMLSitemapの問題
2010/8月現在、WordPress3.0のマルチサイト環境下では「GoogleXMLSiteMapプラグイン」が利用出来ない。簡単にいえば、マルチサイトそれぞれのsitemapが同名で同じ場所に書き出されてしまうことによるものだ。対応されるのは時間の問題とは思うのだけれど、SiteMapの自動書き出しができないのは不便。なにか方法がないものかと思っていたら、「WP3.0ネットワークでGoogle Sitemapを作成する」で対処方法が紹介されていたので参考にさせていただいた。

.htaccess ファイルを簡単作成「.htaccess Editor」

ブログをはじめとするサイト構築の自由度を高めるためには、.htaccessの利用が避けられない・・・とはいえ、慣れていない人にとって.htaccessの構文というのは少々ハードルが高いものだ。そのような人向けに、オンラインで.htaccessを無料で作成できるツールがあったので紹介しておこう。.htaccessについてあまり知らなくても、このツールを使えば誰でも簡単に.htaccessが作れてしまう。
JavaScriptで出来ているみたいで、ファイル作成時にサーバとの通信は一切してないようだ。そのため、.htpasswd の作成時にもサーバにデータが残ったりする心配もないみたい。

「.htaccess Editor」
http://www.htaccesseditor.com/

■.htaccess ファイルを作成してくれる内容

・ファイル一覧の拒否
・ベーシック認証
・エラーページ
・デフォルトページ
・WWW あり/なしの統一
・リダイレクト
・アクセス制限

ボクも時々使わせていただいているが、大抵のことはこれで済んでしまうのでとても重宝している。無料で提供いただいているのも感謝です!
操作も凄く簡単なので、.htaccessを使った事がない方も一度使ってみてはいかがだろうか?

Movable Type 4.0に移行!

a62759d38da90102b58a8234843f8de9_s

ブログシステムをMovable Type 4.0に移行しました。

2007年8月8日 Movable Type 4.0 (以下 MTまたはMT4.0)がリリースされた。 前バージョンである MT 3.3 (2006年7月11日) からは約1年、MT 3.0 (2004年5月13日) からは実に3年ぶりとなるメジャー・バージョンアップ。
これまで自サイトのブログにはWordpressを使っていたのだけど、大分慣れてきた&ちょっと飽きてきた。 MT 4のリリースを機に、MobableTypeに乗り換えることにした。
(Wordpressで運用していた、Capcake’s Blog)

これまでもMT 3.1~3.3あたりは、ちょこちょこと試して使ってはいたのだけど、商用を目的としたwebサイト構築を頼まれる機会が多々あったので、自サイトでもオープンライセンスのツールを主に使っていた。
(MTの商用利用は有償であるため、小規模予算のサイトでは敬遠されることが多い)
MTは個人利用用は無償であるのだけど、勉強を兼ねて、自サイトでもオープンライセンスのツールを使っていた・・・・というわけ。

導入については、WordpressやJoomla!であった、レンタルサーバー環境の違いによるconfig設定の苦労がアホらしくなるほど簡単。MT3.xの頃も楽でしたが、4.0になってよりいっそう簡単になっていた。 ファイルアップロードの時間を入れても、10分もかからずにセットアップ完了。 (あまりにあっけなくて、ちょっとつまらない)

http://movabletype.jp/

http://www.sixapart.jp/movabletype/

MT4では、標準機能として CAPTCHA 認証が利用できるようになっている。 技術情報
CAPTCHAを利用するためには、MT4をインストールするサーバに Image::Magick という Perl モジュールがインストールされていることが必要。 Image::Magick のインストールされていないサーバ環境向けに、無償で利用できる「reCAPTCHA」というCAPTCHA 認証提供サービスを利用するためのモジュールが添付されている。 技術情報
MT4 では、どちらも使うことができる上、ブログごとに使い分けることもできる。

.htaccess によるリダイレクト

Movable Type (MT) に限ったことではないが、PHPモジュール化やページ分割などのカスタマイズを行う場合は、テンプレートファイルの拡張子が .html から .php に変更となる。
MTでテンプレートの拡張子を変更すると、以降の再構築で生成されるページは.phpで新たに作られるが、これまで使っていた.htmlのファイルは、そのまま残ってしまう。 削除はされず、以後、更新されることもない。
同名のファイルがある場合Webサーバーは.htmlの方を返すので、本来のindex.phpではなくて古いままのindex.htmlが参照されてしまう。 あるいは、他サイトからそのファイルにリンクを貼っている場合は、デッドリンク(Error 404)になってしまう。
ブログ運用開始後に拡張子を変更した場合には、このような問題への対処が必要になる。

ここでは .htaccess を用いてリダイレクトすることによってデッドリンクを回避する方法を紹介する。
たとえば、
http://example.com/blog/archives.htmlが参照されるた時、
http://example.com/blog/archives.php
を返したいのであれば、

■例1 RedirectMatchを使用
パターンに合致したファイル名を「xxxxx.php」と読み替えてリダイレクトする。

RedirectMatch permanent (.*)\.html$ http://example.com$1.php

■例2 RedirectPermanentを使用

RedirectPermanent /blog/archives.html http://example.com/blog/archives.php

と.htaccessに指定することで解決できる。
しかしながら、Webサーバーから返されるステータス(301ステータスコード)によってリダイレクトされたことを認識できるので、SEO的には多用は避けたいものである。