株式会社ライブキャストロゴ 株式会社ライブキャスト

前回に続いて、Amazon EC2のMicro InstancesにPHPをセットアップするで構築した環境にWordPressをインストールしたいと思います。
自宅サーバー再構築 その16 CentOS 5.2 にWordPressを導入してブログサイトを構築するを参考に進めました。

データベースの作成

まず、WordPressで使用するデータベースを作成します。

mysql> create database wordpress;
Query OK, 1 row affected (0.00 sec)

※ データベース名は任意の名前を指定することができます。ここではwordpressとしています。

mysql> show databases;
+——————–+
| Database |
+——————–+
| information_schema |
| wordpress |
| mysql |
+——————–+
3 rows in set (0.00 sec)

作成されました。

次に、ユーザを作成します。

mysql> grant all on wordpress.* to ‘wordpress’@’localhost’ identified by ‘任意のパスワード’;
Query OK, 0 rows affected (0.00 sec)

※ 任意のユーザ名、パスワードを指定することができます。ここではユーザ名をwordpress、パスワードを「任意のパスワード」としています。

mysql> select host, user, password from mysql.user;
+—————–+———–+——————————————-+
| host | user | password |
+—————–+———–+——————————————-+
| localhost | root | 任意のパスワード |
| ip-10-243-3-212 | root | |
| 127.0.0.1 | root | 任意のパスワード |
| localhost | | |
| ip-10-243-3-212 | | |
| localhost | wordpress | 任意のパスワード |
+—————–+———–+——————————————-+
6 rows in set (0.00 sec)

ユーザが作成されました。

WordPressのインストール

2010/10/17時点のWordPress最新バージョンは3.0.1です。

WordPress | 日本語より、wordpress-3.0.1-ja.zipをダウンロードします。

[root@ip-10-244-151-151 html]# wget http://ja.wordpress.org/wordpress-3.0.1-ja.zip
–2010-10-05 01:34:54– http://ja.wordpress.org/wordpress-3.0.1-ja.zip
Resolving ja.wordpress.org… 72.233.56.138, 72.233.56.139
Connecting to ja.wordpress.org|72.233.56.138|:80… connected.
HTTP request sent, awaiting response… 200 OK
Length: 3344725 (3.2M) [application/octet-stream]
Saving to: “wordpress-3.0.1-ja.zip”

100%[==============================================================================>] 3,344,725 1.27M/s in 2.5s

2010-10-05 01:34:57 (1.27 MB/s) – “wordpress-3.0.1-ja.zip” saved [3344725/3344725]

ダウンロードしたzipファイルを解凍します。

[root@ip-10-244-151-151 html]# unzip wordpress-3.0.1-ja.zip
[root@ip-10-244-151-151 html]# ls -lv
total 3276
drwxr-xr-x 5 root root 4096 Jul 30 04:43 wordpress
-rw-r–r– 1 root root 3344725 Oct 5 01:34 wordpress-3.0.1-ja.zip

続いて、ブラウザより解凍したフォルダにアクセスします。今回の例では、「http://ホスト名/wordpress/」になります。

wpinserr

お!何かエラーが出ています。

お使いのサーバのPHPではWordPressに必要なMySQL拡張を利用できないようです。

そういえば、php-mysqlのモジュールをインストールするのを忘れていました。早速インストールします。

[root@ip-10-244-151-151 etc]# yum install php-mysql
Loaded plugins: fastestmirror, security
Loading mirror speeds from cached hostfile
amzn | 2.1 kB 00:00
Setting up Install Process
Resolving Dependencies
–> Running transaction check



Total download size: 133 k
Installed size: 306 k
Is this ok [y/N]: y



Installed:
php-mysql.i386 0:5.3.2-3.6.amzn1

Dependency Installed:
php-pdo.i386 0:5.3.2-3.6.amzn1

Complete!

インストール完了です。

Apacheを再起動します。

[root@ip-10-244-151-151 etc]# /etc/init.d/httpd stop
Stopping httpd: [ OK ]
[root@ip-10-244-151-151 etc]# /etc/init.d/httpd start
Starting httpd: [ OK ]

再度、ブラウザでアクセスしたところ、今度はエラーも出ず、正常にWordPressのページが表示されました。

welcomewp

次に、wp-config.phpを作成します。ブラウザから必要な情報を入力しても作成できますが、今回は、サーバ上でwp-config-sample.phpをコピーしてから、データベース名、ユーザ名、パスワードなどを編集するようにしました。

[root@ip-10-244-151-151 wordpress]# cp wp-config-sample.php wp-config.php

wp-config.phpを編集します。

/** WordPress のためのデータベース名 */
define(‘DB_NAME’, ‘database_name_here’);

database_name_hereをwordpressに変更します。

/** MySQL データベースのユーザー名 */
define(‘DB_USER’, ‘username_here’);

username_hereをwordpressに変更します。

/** MySQL データベースのパスワード */
define(‘DB_PASSWORD’, ‘password_here’);

password_hereを「任意のパスワード」に変更します。

以上で、WordPressの導入は完了です。

Elastic IPの適用

ここで、Amazon EC2ならではの問題が発生しました。一度、起動しているInstanceをstopした後、再度、startしてから上記WordPressのサイトにブラウザでアクセスすると、適用しているthemeのstyle.cssがダウンロードできず、スタイルが崩れてしまうのです。また、管理者ページにアクセスしても、ページが表示されません。

Amazon EC2はstart/stopやLaunchしなおす度にパブリックIPが振り直され、ホスト名が変わってしまうため、前回のWordPressの設定が、一部、正しくなくなってしまうので、このような問題が発生していました。

なので、Elastic IPでパブリックIPを1つ取得し、それをインスタンスに割り当てることで、上記の問題が再現しないようにすることにしました。
※ Elastic IPでは、別途使用料が発生します。

まず、パブリックIPを取得します。AWS Management Consoleにログインします。

ip

左ペインより、「Elastic IPs」を選択し、「Allocate New Address」ボタンをクリックすると、確認メッセージが表示されます。

ipconfirm

表示がちょっとおかしくなってますが、とりあえず、次に進みます。「Yes, Allocate」ボタンをクリックします。

associate

パブリックIPが発行され、そのIPを割り当てるインスタンスを選択し、「Associate」ボタンをクリックします。
これで、起動中のInstanceにパブリックIPを割り当てることができました。

続いて、WordPressの設定を一部変更します。管理者画面にログインし、「一般」設定を開きます。
※ 一度、データベースを削除して、初期状態に戻してから再設定するか、wp_optionsテーブルの該当するレコードを変更することにより、管理者画面にログインできるようになります。

general

「WordPressのアドレス(URL)」と「サイトのアドレス(URL)」をAmazon EC2のホスト名から、Elastic IPで割り振ったパブリックIPに変更します。これで、上記の問題を回避することができました。

php-mbstringのインストール

WordPressのWP Multibyte Patchというpluginを適用している最中に、エラーが発生しました。

mbstring

お使いのWP Multibyte Patchを有効にするには、PHPのmbstring関数が必要です。

今度もインストールするのをわすれていました。早速、php-mbstringをインストールします。

[root@ip-10-194-78-32 plugins]# yum install php-mbstring
Loaded plugins: fastestmirror, security
Loading mirror speeds from cached hostfile
amzn | 2.1 kB 00:00
Setting up Install Process
Resolving Dependencies



Total download size: 1.0 M
Installed size: 1.8 M
Is this ok [y/N]:y



Running Transaction
Installing : php-mbstring-5.3.2-3.6.amzn1.i386 1/1

Installed:
php-mbstring.i386 0:5.3.2-3.6.amzn1

Complete!

インストール完了です。
今度はpluginを適用することができました。

flashcastのテーマをインストールして、再度、ブラウザでアクセスします。

theme

あれ?デザインが崩れています。。。右側のサイドバーとフッターが表示されていないようです。後で分かったのですが、これは、tweetmemeというpluginを導入していなかったため起きた問題でした。

これで、当ブログサイトと同等な環境を構築することができました!