重い腰を上げて、WordPress 3.0.1をインストールしました。インストール自体はいつにも増して簡単です。
ただ、2.9 by PostgreSQL はコアに手を入れすぎているので、アップデードはできそうになく、エクスポートを試みましたが一瞬でエラーになったので、やらなくてよかったなぁと。
2.7.1 by MySQL は、以前 2.9 にアップデートしようとして失敗した覚えがあるので、これも無理っぽいかなと。こちらはエクスポートできるので、地道に1つずつ移していけばいいかな。
ということで、普通に WordPress 3.0.1を新規インストールしたので、それをマルチドメイン対応にしていきたいと思います。
- WordPress3のダウンロード
WordPress 日本語ローカルサイトからダウンロード。パーミッションとかをすごく気にしないといけないわけではないので、.zipで解凍したものをサーバに持っていってもいいと思います。もちろん、.tar.gz を wgetするのが正統派ですが。
- データベースの作成
MySQLに新しいDBをクリエイトしておきます。$ mysql -u root -p mysql> create database wordpress3; mysql> grant all on wordpress3.* to 'wpadmin'@'localhost' identified by 'password';
- 設定ファイル(wp-config.php)
ダウンロードしたファイルを解凍すると、ルート・ディレクトリに wp-config-sample.php があります。これをエディットして、以下のところを修正して、wp-config.php として保存します。(他のところはデフォルトのままでOK)define('DB_NAME', 'wordpress3'); define('DB_USER', 'wpadmin'); define('DB_PASSWORD', 'password');
認証用ユニークキー(’AUTH_KEY’ ~ ‘NONCE_SALT’)は、WordPress.org の秘密鍵サービスを使って変えておきましょう。
- Apacheの設定
WordPressをインストールするためには、/wp-admin/install.php をブラウザで開かないといけないので、WordPressのファイルを置いたサーバのディレクトリを DocumentRoot にする Apacheのエントリ(ドメイン)を作らないといけません。ServerName hoge.jp ServerAlias *.hoge.jp DocumentRoot /home/www/wordpress3/
ここでは、hoge.jp でアクセスにいくと、/home/www/wordpress3/ を見に行くようにしました。Apacheの再起動は忘れずに。(restartでなくて reloadでいいと思うけど)
- WordPress3のインストール
http://hoge.jp/wp-admin/install.php でOKです。
- マルチドメイン化
WordPress3ではネットワークと呼んでる機能です。ざっと見たところ、WordPress-muと変わりありませんね。WordPress本体にマージされたということが重要なんでしょうね。
さて、ネットワーク機能を使用するためには、wp-config.php に以下の記述を追加します。define ('WP_ALLOW_MULTISITE', true);
そうすると、ダッシュボードの「ツール」に「ネットワーク」が追加されます。
- ネットワークの設定
・「サブドメイン」にするか「サブディレクトリ」にするか ・・・ うちはいつも「サブドメイン」です。(好き好きですが)
・「ネットワークのタイトル」 ・・・ あとで変えられます。
・「管理者のメールアドレス」 ・・・ あとで変えられます。
これだけ設定して「インストール」を押すと、次のステップが表示されます。- wp-content ディレクトリに blogs.dir ディレクトリを作成。Apacheの書き込み権限を追加。
# cd /home/www/wordpress3/wp-content # mkdir blogs.dir # chown www-data:www-data blogs.dir
- wp-config.php に以下のコードを追加。
define( 'MULTISITE', true ); define( 'SUBDOMAIN_INSTALL', true ); $base = '/'; define( 'DOMAIN_CURRENT_SITE', 'hoge.jp' ); define( 'PATH_CURRENT_SITE', '/' ); define( 'SITE_ID_CURRENT_SITE', 1 ); define( 'BLOG_ID_CURRENT_SITE', 1 );
- /home/www/wordpress3/ ディレクトリに .htaccess を作成する。
RewriteEngine On RewriteBase / RewriteRule ^index.php$ - [L] # uploaded files RewriteRule ^files/(.+) wp-includes/ms-files.php?file=$1 [L] RewriteCond %{REQUEST_FILENAME} -f [OR] RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^ - [L] RewriteRule . index.php [L]
これでネットワーク関係はOKです。
- wp-content ディレクトリに blogs.dir ディレクトリを作成。Apacheの書き込み権限を追加。
- WordPress MU Domain Mapping のインストール
ネットワークを入れただけだと、http://hoge.jp や http://ore.hoge.jp 、http://dare.hoge.jp など、複数のブログを管理することができるようになりますが、マルチドメインになったわけではありません。
そこで、WordPress-muの文字通りのドン、donnchaさん作のプラグインを導入します。プラグインは新規追加で「WordPress MU Domain Mapping」を検索すれば出てきますから、いつもの手順通りにどうぞ。
インストールしただけだと有効化しないので、以下2点を忘れずに。
1.プラグインディレクトリの wordpress-mu-domain-mapping/sunrise.php を wp-content ディレクトリにコピー
2.define( ‘SUNRISE’, ‘on’ ); を wp-config.php に追加
- サイトの追加
時間切れなので、あとは注意点のみ。
・サイトを追加するときは、「サイトのアドレス」として、サブドメインを指定するが、独自ドメインにMappingしたあとは、使わなくなってしまうので、あまり名前付けに神経質にならなくてもよい。
・WordPress MU Domain Mapping の Domains で実際に割り当てる独自ドメインを指定する。
・Apacheの設定はもちろん必要。