という事で、なんとかWordpressをマルチサイト化できたわけですが、はっきり言ってgdgdすぎてもう一回やれといわれても無理ってくらいあちこちを検索したので一纏めにしておいてやり直す時とかの参考にしようと思ってまとめた備忘録です。
他の方の参考になるかどうかは分かりませんが、ハマる要素は一通り踏んだんじゃないかなぁ・・・
※今回のマルチサイト化は「ディレクトリ型」です。「サブドメイン型」は設定が違うので参考にならないかもしれません。
●マルチサイト化の前の状況
・さくらインターネットのスタンダードプラン
・サーバーのルートにwordpressがインストールされている状態
・上記環境にて既にwordpressでサイトが稼働中
●マルチサイト化
1.「wp-config.php」 の「/* 編集が必要なのはここまでです !」の前に次の行を追加します。
define('WP_ALLOW_MULTISITE', true);
2.管理画面に再ログインし、「ツール」→「ネットワークの設定」→「インストール」
※「プラグインが動いていると設定出来ない」とか出たらプラグインを停止する
※通常ならネットワーク作成画面でサブドメインとディレクトリのどちらのタイプにするか選択できる画面が出るはずだが、既にサイトが存在するのでサブドメインでしかマルチ化出来ないとか出ます。
が!気にせず続行(´・ω・`) とりあえずサブドメイン型でマルチサイト化してしまいます。
3.「.htaccess」に指定されたコードを追加します。
4.「wp-config.php」にも追加しないとだめなんですが、サブドメイン型でマルチサイト化してしまってるので、このままコピペしてもまともに動きません(´・ω・`)
なので、1で追加した行の次に以下の内容を追加します。
define('MULTISITE', true); define('SUBDOMAIN_INSTALL', false); $base = '/'; define('DOMAIN_CURRENT_SITE', '設置したドメイン名'); define('PATH_CURRENT_SITE', '/'); define('SITE_ID_CURRENT_SITE', 1); define('BLOG_ID_CURRENT_SITE', 1);
設置したドメイン名のところは環境に合わせて書き換えてください。
これで ドメイン名 / 追加するサイト名になります。
5.「wp-content」ディレクトリに「blogs.dir」ディレクトリを作成し、パーミッションを「707」に設定します。
6.管理画面に再ログインしなおすと「ネットワーク管理者」メニューが追加されているのでサイトを追加します。
●サイトを追加出来てページの表示も出来るのに管理画面に入れない場合
「.htaccess」のRewriteRuleがまともに動いていないらしいです。
# BEGIN WordPress
<ifmodule mod_rewrite.c>
RewriteEngine On
RewriteBase /
</ifmodule>
#uploaded files
RewriteRule ^(.*/)?files/$ index.php [L]
RewriteCond %{REQUEST_URI} !.*wp-content/plugins.*
RewriteRule ^(.*/)?files/(.*) wp-content/blogs.php?file=$2 [L]
# add a trailing slash to /wp-admin
RewriteCond %{REQUEST_URI} ^.*/wp-admin$
RewriteRule ^(.+)$ $1/ [R=301,L]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule . - [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-.*) $2 [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]
RewriteRule . index.php [L]
SecFilterEngine Off
SecFilterScanPOST Off
</files>
</ifmodule>
# END WordPress
自分の場合は WordPress関連の内容を上記の内容にすれば動きました。
一応オリジナル部分はコメントアウトするかファイルをバックアップしておく方がいいかと思います。
●マルチサイト化した後に躓いた事
1.インストールしたテーマやプラグインがねぇ!?
管理画面の「サイトネットワーク管理者」の「テーマ」、「プラグイン」から「ネットワークで有効化」をしないとマルチサイトでは使えません。
逆にtweetプラグインなんかはネットワークで有効化せずに個別でやらないとツィート垂れ流しになりそうな気も・・・(´・ω・`)
●MH Magazine Liteテーマの設定
・標準の状態ではHome1~5が使えない
固定ページを作成して、管理画面の「設定」→「表示設定」から「固定ページ」を選択して「フロントページ」を作成したページにします。
※固定ページの作成時にページ属性のテンプレートを「Homepage」にしておかないとHome1~5は表示されないままになる。
・個別記事のアイキャッチ画像が邪魔だから消したい
テーマの「content.php」から以下の行を削除する
< ?php mh_featured_image(); ?>
・案外文字が読みにくい(´・ω・`)
テーマの「style.css」の「font-family: 」部分に好みのフォントを追加する
'Meiryo UI',
自分は上記のようにメイリオUIを追加しました。
とまぁこんなところでしょうか。あとは自分好みになるように頑張るだけですね(^^)