3.1ja のマルチサイト設定 -> サブディレクトリ編

Posted by muchag | WordPress | 2011-03-18 (金) 20:20:59

WordPress 3系では、マルチサイト機能が付加されたわけだが
これを利用するためには、少々設定が必要になる。

【環境】
[WordPress]
3.1ja
3.1.4ja

参考サイトによれば、

  • サブドメイン によるマルチ化
  • サブディレクトリ によるマルチ化

で手法が異なるようなので
今回は サブディレクトリ編

【前提条件】

  • 開発環境下へのインストールである
  • よってホスト名は localhost
  • しかも Web ディレクトリ直下ではなく、Web ディレクトリの1階層下ディレクトリ
    public_html/hoge
プラグインの停止

先ず、プラグインを全て停止する。
 

マルチサイト宣言

マルチ化するには、先ず

wp-config.php

  1. define ('WP_ALLOW_MULTISITE', true);

この一文を、上記ファイル内に記述。

私は、以下のようにした。

  1. /**
  2.  * マルチサイト設定
  3.  *
  4.  */
  5. define ('WP_ALLOW_MULTISITE', true);
  6.  
  7. /* 編集が必要なのはここまでです ! WordPress でブログをお楽しみください。 */

って、3系がマルチサイトに対応したのは大きな変動なんだろうに
なぜゆえに、デフォルトでこの記述がないのかしら・・・不思議・・・。 🙄
 

ネットワークの設定

宣言をした後、管理画面を表示(または更新)すると
左ペインの ツール の中に、新たに ネットワーク という項目が現れる。

それをクリックすると左のような画面に。

私の場合は開発環境で試しているので
サブドメイン と サブディレクトリ の選択画面は出ていない。

必要項目を記入し、インストールをクリック。

 
すると、左画面になるので
指示通り3つの工程を進める。

 

1. blogs.dir ディレクトリの作成
インストールしたフォルダアドレス/wp-content/blogs.dir

を作成する。
 

2. wp-config.php の編集
インストールしたフォルダアドレス/wp-config.php

/**
* マルチサイト設定
*
*/
define (‘WP_ALLOW_MULTISITE’, true);
define( ‘MULTISITE’, true ); <- ここから define( 'SUBDOMAIN_INSTALL', false ); $base = '/hoge/'; define( 'DOMAIN_CURRENT_SITE', 'localhost' ); define( 'PATH_CURRENT_SITE', '/hoge/' ); define( 'SITE_ID_CURRENT_SITE', 1 ); define( 'BLOG_ID_CURRENT_SITE', 1 ); <- ここまで追加 /* 編集が必要なのはここまでです ! WordPress でブログをお楽しみください。 */[/php]  

3. .htaccess の設定
http://インストールしたフォルダアドレス/.htaccess
  1. RewriteEngine On
  2. RewriteBase /hoge/
  3. RewriteRule ^index\.php$ - [L]
  4.  
  5. # uploaded files
  6. RewriteRule ^([_0-9a-zA-Z-]+/)?files/(.+) wp-includes/ms-files.php?file=$2 [L]
  7.  
  8. # add a trailing slash to /wp-admin
  9. RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]
  10.  
  11. RewriteCond %{REQUEST_FILENAME} -f [OR]
  12. RewriteCond %{REQUEST_FILENAME} -d
  13. RewriteRule ^ - [L]
  14. RewriteRule  ^[_0-9a-zA-Z-]+/(wp-(content|admin|includes).*) $1 [L]
  15. RewriteRule  ^[_0-9a-zA-Z-]+/(.*\.php)$ $1 [L]
  16. RewriteRule . index.php [L]

 

試行錯誤1 「特権管理者」メニューが出ない

上記手順通りに設定後、ログインし直したら
左ペインに 特権管理者 メニューが出るどころか
左ペインの ツール メニューから ネットワーク 項目が消えていた。

そこで、ネットワーク設定の2番目で

インストールしたフォルダアドレス/wp-config.php

に追加した項目を一旦コメントアウトしてブラウザ(管理画面)を更新したところ
以下のようなエラーメッセージが出た。

注意: 既存の WordPress ネットワークを検出しました。

設定のステップを実行してください。新しいネットワークを作成するため、ネットワークのデータベーステーブルを空にするか削除する必要があります。

そこで WordPress 用のテーブルを全て空(テーブル削除ではない)にしてみて
管理画面からログアウトしてみると、

Error establishing database connection

というメッセージが・・・
当たり前ですな・・・ログイン情報も全部消えたんだから。

そこで今度はテーブルを削除し
http://localhost/hoge/wp-admin/install.php
にアクセスして、再インストールを試みた。

インストールは成功するものも
ログイン画面に進む時点でまたもや

Error establishing database connection

何度やり直しても同じに・・・orz
 

解決

悲しすぎる結末に・・・。

数時間悩んだ挙句
ワードプレス 3.1 Webマガジン構築メモ:マルチサイトに対応させるための設定
こちらを読んで気がついた。

要は 3.0 系から 3.1 になり
仕様変更になっていた。

3.0 系では、管理画面左上に 特権管理者 メニューが出るが、
3.1 では、管理画面右上の「ログアウト」の左に
サイトネットワーク管理者 が出る。

つまり初めから成功していた・・・。 😥

 

試行錯誤2 php の Notice が出る

初めからだったのか忘れたが
気がついてみると、管理画面の各ボックスに以下の Notice が出ている。

Notice: define() の使用はバージョン 3.0 から非推奨になりました ! 代わりに 定数 VHOST は廃止予定です。サブドメインの設定は、wp-config.php の中で二値定数 SUBDOMAIN_INSTALL で行ってください。is_subdomain_install() を用いて、サブドメインが有効かどうかチェックできます。 を使ってください。 in インストールしたディレクトリ\wp-includes\functions.php on line 3387

未解決。
 

ネットワークの管理(=マルチサイトの管理?)

無事マルチサイト化に成功し
管理画面右上のサイトネットワーク管理者 から
ネットワークの管理画面に入ると、左のような画面になる。

 

複数のブログを設置

現時点で1つ目のブログは設置されている。

2つ目以降のブログを追加したいときは
ネットワークの管理画面の
[現在の状況]-[新規サイトを作成] か
左ペインの [サイト]-[新規追加] をクリック。

 
出てきたダイアログで
① 「サイトのアドレス」
localhost/(インストールディレクト)/ の後ろに続く文字列(任意)を入力。
「半角英数字推奨」となっていて、_ (アンダースコア)は拒否された。
(ハイフン)はセーフ。

② 「サイトのタイトル」
③ 「管理者のアドレス」 は任意に。

 
左ペインの [サイト] をクリックすると
サイト一覧が出てくる。

2つ目のブログが追加されていることがわかる。

ブログアドレスの下に出るメニューから
望む作業を行える。

 

参考元サイト

mage8.com:WordPressのマルチサイト機能で複数のブログを管理する
Lovelog+*:WordPress 3.0 をマルチサイト化する方法

WordPress | 2011-03-18 (金) 20:20:59 |

5 Comments »

  1. Comment by kazberry — 2011/5/12 木曜日 @ 14:24:25

    解決

    悲しすぎる結末に・・・。
    にたどり着かなかったら、私もずっとわからないままでおりました。
    この記事にたどりつけて本当にほっとしています。
    私の参照にしていた本が3.0系でした。
    私もこれでやっと解決しました!
    ありがとうございました。

  2. Comment by muchag — 2011/5/14 土曜日 @ 17:48:10

    kazberryさん、はじめまして。

    お役に立ったようで何よりです。

    このネタは本当に泣けてきました。

    でも、こうしてコメントをいただけたことで
    この経験が活きました。
    ありがとうございました。

    めげずにお互い頑張りましょう!

  3. ピンバック by たつみんのMEMOφ(・ω・) » WordPress 3.1 マルチサイト設定 — 2011/5/30 月曜日 @ 17:49:02

    […] 1 「特権管理者」メニューが出ない」私もひっかかりました・・・。 http://muchag.undo.jp/archives/697 […]

  4. ピンバック by WordPress3.2.1にバージョンアップしてみました | Pすけのパソコン備忘録 — 2011/8/12 金曜日 @ 18:36:16

    […] てみました。 いろいろなサイトを参考にトライしてみましたが、最終的に参考にしたのはこちらです。 サブドメインにはできなかったので、ディレクトリタイプになりました。ワード […]

  5. Comment by 外道院 — 2012/9/4 火曜日 @ 11:52:26

    はじめまして。
    解決しました!ありがとうございます。

    悲しすぎる結末…嫌な事件でしたね。

RSS feed for comments on this post. TrackBack URI

Leave a comment