DreamHost移行メモ part4(WordPress)

さて、4ポスト目でやっとWordPressの引越しです(WordPressのエンコードはUTF-8を想定しています)。

まずはWordPressの本体ファイルの移動です。これは元ディレクトリを圧縮してDreamHost側で展開しました。新しくDreamHostの方でインストールしたものに上書きしてもよかったのですが、コアファイルに色々と手を加えていて面倒くさいので元のデータをそのまま送っちゃいました。

次は、データベース。これが厄介で苦労しました。まず、コントロールパネルでデータベースを作成します。そうしたら、phpMyAdminかMySQLクライアントを使い、作成したデータベースに以下のSQLを発行します。

ALTER DATABASE database_name CHARACTER SET utf8;

database_nameは置き換えてください。そして、元のWordPressのデータベースをダンプします。その後、ダンプしたSQLファイルの先頭に次の分を追加します。コレ重要。

set names utf8;

この文を入れないと復元した時に文字化けを起こします。修正したSQLを新しいデータベースに適応します。

次にphpMyAdminを使って復元したデータベースのwp_optionsテーブルのoption_nameカラムのsiteurlとhome(option_idは1と40)のoption_valueを新しいURLにセットします。

最後にwp-config.phpのデータベースの設定を新しいものに書き換えれば終了です。これでWordPressの管理画面にアクセスできます。

私の場合はこの作業だけで正常に動いたため、問題ありませんでしたが、プラグインが問題を起こす場合もあるので、そのときはプラグインをはずして1つずつ調べていく必要があるかもしれません。

また、プラグインや外部サービスの設定で前のURLを引きずっているものがある場合は新しいURLにセットしなおす必要があります。私が修正したものを挙げておきます。

  • XML Sitemap Generatorの設定変更
  • WP-SlimStat-ExのGeo SlimStat(APIキー変更)
  • FeedBurnerのURL変更
  • ImageManagerのパス変更
  • ダウンロード系プラグイン
  • QRコード

その他、前の環境の設定のままのものは変更しておきます。これでWordPressの引越しは完了です。

DreamHost移行メモ part3

今回はPHP5 FastCGI & PHP.ini のための設定です。WikiではCustom PHP.iniPHP FastCGIに分かれていますが一緒にやっちゃいます。もちろん、パネルでFastCGIをオンにしておきます。

最初にPHPのコピーを置くフォルダを作ります。WikiのCustom PHP.ini ではドメインのディレクトリの下に置いてますが、複数サイトで共有しようとおもうのでホームに作ります。

mkdir $HOME/cgi-bin

そして関連ファイルをコピーします。

cp /dh/cgi-system/php5.cgi $HOME/cgi-bin/php5.cgi
cp /etc/php5/cgi/php.ini $HOME/cgi-bin/php.ini

コピーした先のphp.iniを編集します。編集内容はお好みで。そして、ファイルの最後の方にでも「date.timezone=”Asia/Tokyo”」の記述を入れます。これでPHPがタイムゾーンを日本と認識してくれます。

ここからFastCGIの設定です。まずはFastCGIのラッパーを作ります。php5-wrapper.fcgiという名前でドメインのディレクトリごとに配置します。Wikiではdispatch.fcgiにするとメモリーを多く使ってもkillされなくなると書いてあります(このWordPessはphp5-wrapper.fcgiでもkillされません。よほどのことがないとkillされない模様。)。中身は以下のようにします。

#!/bin/sh
export PHP_FCGI_CHILDREN=2
exec /home/username/cgi-bin/php5.cgi

usernameは置き換えてください。作成したら実行権を与えます。

chmod u+x php5-wrapper.fcgi

そしてドメインのディレクトリのルートに以下の.htaccessを用意します。

AddHandler fastcgi-script fcg fcgi fpl
AddHandler php5-fastcgi .php
Action php5-fastcgi /php5-wrapper.fcgi

これでPHP5&FastCGIで動くようになります。

最後にPHPのバイナリをアップデートするcronを回します。適当な場所にphp-copy.shとでもして以下のファイルを作成します。

#!/bin/sh
CGIFILE="$HOME/cgi-bin/php5.cgi"
rsync -a /dh/cgi-system/php5.cgi "$CGIFILE"

あとは crontab -e で「@weekly /home/username/php-copy.sh」などとしておきます。

これでPHPに関する設定は完了です。次はWordPressの引越しをメモします。

DreamHost移行メモ part2

さてpart1に続いてサイトの設定を行っていきます。

まず私がやったのは、管理パネルで Domains -> Manage Domains -> Add New Domain / Sub-Domain からサブドメインを追加しました。最初は申し込み時に指定したドメインがリストに入っていると思います。初期設定はPHPのバーションが4になっているので注意してください。

次にSSHアカウントを設定します。Users -> Manage Users でユーザーを選択または作成して設定画面に入り、User Account Type:の項目をShell accountに変えます。
Change user setting
シェルはお好みで。

これで、SSHでアクセスできるようになるのでSSHでの設定を行います。管理パネルにはメールやMySQLなど他の設定もありますので、一通り見ておくといいでしょう。

私はbashを使っていますのでbash固有の設定になるところもあるかと思いますが、SSHで行ったことをメモしておきます。

まずは.bash_profileを書き換え。.bashrc、.aliasは使えないみたい?です。

export TZ='Asia/Tokyo'
export LANG='ja_JP'
export EDITOR='/usr/bin/vim'

こんな感じにしました。LANGは効果があるのか不明ですが、TZはタイムゾーンをあわせるのに重要です(php.iniのところでも設定します)。WordPress移行のところで後述しますが、サーバーがアメリカにあるため、タイムゾーンを日本に正しく設定しておかなければなりません。EDITORは crontab -e でvimを起動するためのものです。

次はDreamHost Wikiに書いてあることを行っていきますが、記事が長くなるのでポストを分けます。

DreamHost移行メモ part1

DreamHost移行メモっていうことで、移行の過程をまとめていきます。

まずは、新しくドメインを取りました。これはVALUE DOMAINで取得。今までダイナミックDNSでやっていたので新しくドメインを取る必要があったのと、自分のドメインを持ちたかったからです。ドメインの取得の過程は割愛します。

そしていよいよDreamHost。9.95$/月(1年契約)で

  • ストレージ500GB
  • 月間転送量制限 5TB
  • ドメイン1個無料、サブドメイン無制限・・・
  • PHP、SSH、MySQL、メール・・・
  • ストリーミング対応、Jabberサーバー・・・

というかなり豪華なメニューになっています。これ以外にもかなり機能があるのでチェックしてみてください。

さて、DreamHostの申し込み手順はDreamHostのカタチ ~良い鯖.com~さんが詳しく解説されています。それなので、申し込み後の注意点をメモしていきます。

まず、申し込み直後からコントロールパネルに入れますが、お金関係やユーザーの登録が完了していないときは設定を変えたりなどはできません。***のユーザーが使えるようになったよなど、順次メールがきます。私が受信したのは、受信順に、

  • DreamHost Account Approval Notification!(アカウントが承認されたよ!)
  • DreamHost Google Checkout Payment Receipt(Google Checkoutのレシート)
  • DreamHost Shell Account Activated(シェルアカウントが有効化されたよ)(シェル機能を有効にした時のみの様子)
  • DreamHost Mail Account Activated(メールアカウントが有効化されたよ)

です。無事に承認されれば設定をいじれるようになります。

次は具体的な設定をメモします。

DreamHostへ引越し

当ブログは今まで自宅サーバーでやってきたのですが、サーバーの管理に時間を裂けなくなったこと、サーバーが老朽化(もともとカナリ古かった)したこと、個人的な事情で引越しを決断しました。

選んだ引越し先はDreamHost。高機能で安いということで選びました。

一部では遅いとか言われていますが、サイトの方は特に遅さは感じませんでした。ただしSSHは少し重い感じですが、使用に堪えないということはありません。

今後はDreamHostとWordPressの引越しの手順を詳しくポストしようと思っています。

WordPress2.3.3へアップグレード

管理画面にアップグレード通知が出ていたので2.3.2から2.3.3へアップグレードしました。

今回はXML-RPCにて他のユーザーの投稿を編集できる脆弱性修正+バグフィックスだそうです。

アップグレードは前回同様、Wordpress Automatic Upgradeを使ってアップグレードし、異常も見あたらないので無事完了です。