WordPressMuインストールについての覚書

ポータルサイト構築中、ブログを自動的にインストールする必要にかられて、WordPressをシステム的にインストールする方法を調査したので、記録。

最初は、

  1. wordPress.zipをサーバ某所においておく
  2. usrMake()がよばれたら、wordPress.zipをusrディレクトリに展開
  3. wp-config.phpを自動生成
  4. パーミッション調整

ていう手順でいけるかなーと作っていたんだけども、ふとしたところで、WordPressMUの存在に気づいたので、入れてみた。

すこぶる便利。

手順は以下。


1.WordPressMuのダウンロード

http://mu.wordpress.org/download/

2.設定は、ウィザードに従っていけば簡単

特に難しいところは無し。

3.テンプレートを編集可能にする

デフォルトだと、管理画面からテンプレートの編集は不可能。

そこで、PHPファイルを書き換えて、可能にする。

/wp-admin/includesフォルダ内の、mu.phpを編集。

①現行v2.8.6なら、556行目にある、
“unset( $submenu[‘themes.php’][10] ); // always remove the themes editor”
という項目の頭に、//を付けて、
“//unset( $submenu[‘themes.php’][10] ); // always remove the themes editor”
②現行v2.8.6なら、1128行目にある、
“if ( strpos( $_SERVER[‘PHP_SELF’], $page ) ) {”
とい項目を以下の様に変更。
“if ( strpos( $_SERVER[‘PHP_SELF’], $page ) && !is_site_admin() ) {”

http://active-oita.com/subekoro/blog/archives/485 参照

4.自動ユーザ登録のための手順

ここから先は、普通は必要無し。

今回の開発では、クライアントの要望で、システム的にユーザ追加の必要があった。

まずは、単純に、下記URLのソースから、フォーム部分を持ってきてfile_get_content()でキックしようとしたけども、失敗。

http://an.koutaigu.com/blog/wp-admin/wpmu-blogs.php

管理者権限でログインした状態でないとダメらしい。

そりゃそうだ。

仕方が無いので、ソースを見てみて、直接、内部でユーザ登録をしている部分の関数を引っこ抜くことにする。

該当部分は、wpmu-edit.phpの、Addblogの部分。

ここをまるっとコピーして、少しだけ編集して、usrMake.phpを作成。

変更部分は、下記のとおり。

require_once(‘../wp-load.php’);

require_once(ABSPATH . WPINC . ‘/registration.php’);

print $current_site->domain;

//check_admin_referer(‘add-blog’);

コピペした段階だと、必要なrequire_onceが呼ばれていないので、最初にwp-loadとregistrationを呼んでおく。

そして、check_admin_refererを呼んでいる部分をコメントアウト。

あとは適当なHTMLファイルから、POSTでデータをusrMake.phpに渡してあげればOK。

  1. コメントはまだありません。

  1. トラックバックはまだありません。