MODxのblog機能を強化する為、WordPress ME 2.2.1をMODxに埋め込んでみる。
WordPress Integratorというものが出ているらしい。2007/04/21にversion 1.2.0がreleaseしている。
兎に角、WordPressを触るのは初めてなのだ。一体どんなblog applicationなのだろう。
原材料
- MODx 0.9.6
- WordPress ME 2.2.1
- WordPress Integrator 1.2 << ここから
この組み合わせでの完全な(つまり素人にも分かる)導入解説がないので、不安一杯の進行である。
WordPress MEを展開する。
WordPress JapanよりWordPress ME 2.2.1をdownloadし、これを解凍、wordpressというdirectory毎、xampp/htdocs/modx/にcopyする。
WordPress ME 2.2.1のdirectory構造
配布時のdirectory構造は以下の通り(xampp/htdocs/modx/以下)。
wordpress/ ・・・WordPress install directory
wordpress/wp-admin
wordpress/wp-content
wordpress/wp-includes
wordpress/にはindex.phpやwp-config-sample.php、wp-setting.php、readme.htmlがある。
wordpress/wp-includes/にはwp-db.phpがある。
参考にした資料
wp-config.phpを準備する
wordpress/wp-config-sample.phpを以下のように編集し、wp-config.phpとして保存する。
databese name: modx // MODxと同じdatabase名にする
MySQL username: **** // mySQLのアカウント
MySQL password: **** // mySQLのアカウント
database table prefix: wp_test1_ // なんとなくtest1と書き加えてみる
wp-setting.phpを編集する
wordpress/wp-setting.phpにある、"=&"という記述(5箇所)を"="に書き換える。
wp-db.phpに追記する
wordpress/wp-includes/wp-db.phpの77行目付近に、
if ( !empty($this->charset) && version・・・
というif文があるので、この直下の
$this->query("SET NAMES '$this->charset'");
と
$this->select($dbname);
との間に
mysql_query("SET NAMES UTF8;", $this->dbh);
を挿入する。
WordPress ME install programを起動する
browserから「ホスト名:port/wordpress/」にaccessして、install programを起動。
First Step
ブログ名: mimisouji's blog
メールアドレス: *****@*******
blog nameはお好みで命名。mail addressは届くものを記入。
検索エンジンへの登録可否はお好みで。
"Continue to Second Step" buttonをclick。
Second Step
「インストール作業が終了しました。」
「より多くの難関を期待していましたか?」
期待していました。わっはっは。
自動生成・表示されたlogin nameとpasswordを控えておく。
login addressは、wordpress/wp-login.phpだそうだ。
mimisouji's blog 管理画面へ入る。
wordpress/login.phpより、先程install Second Stepにて与えられたlogin accountでloginする。
お、blog管理画面登場。ダッシュボードってなんじゃ。
xampp/mysql/data/modx/には、wp_test1_という接頭辞の付いたファイルが沢山生成されているのを確認した。
管理画面にて設定をすすめる
MODxのフレンドリーURLに処理が渡るのは、URIに対応するパスが
存在しない(!-f, !-d)場合に限られるため、実際のfile system上に
WORDPRESS_ALIASで指定する'blog'等のfileやdirectoryが
存在しないように注意してください。
とある。!-f, !-dと言うのが分からないが、file/directory名の何れにも実在しない名前を「サイト名:port/{WORDPRESS_ALIAS値}」として、WordPressのホームページアドレスとすればよいという意味だと解釈する。
WORDPRESS_ALIASの値(即ちsnippet配置documentのalias値)を、"wordpress_blog"として
各種設定 > 一般設定 > 「ホームページアドレス(get_settings('home')の値)」の欄に「サイト名:port/wordpress_blog」と記入する。「設定を更新」buttonをclick。
各種設定 > 一般設定にある「WordPressのアドレス」と、今変更した「ホームページのアドレス」として記入したURIは、databaseに記録されるとかなんとかNetから情報を得た。もしアクセスできなくなった場合の修正が(設定ファイル(ASCII text)の編集では済まないという意味で)難しいと言う事だ。
各種設定 > 表示設定 > 「ブラウザの要求に応じて投稿内容を圧縮する(gzip)」にcheckされていない事を確認。
ユーザー > ユーザー設定 にて、管理人mimisoujiを登録しておく。一旦sign outし、mimisoujiでもlogin出来る事を確認。再びsign out。
因みに、今この状態でwordpress/login.phpのlgin画面から、欄外にある「mimisouji's blogへ」をclickすると、MODxの"404(page Not Found"の画面が表示される。
MODx plugin "WordPressRouter"を作成
落としてきたIntegratorパッケージ(zip書庫)の中にある、wordpressrouter.1.2.0.phpの中身をそのままcopyして、MODx plugin "WordPressRouter"を作成する。
但し、WordPress管理画面でホームページアドレスとして記入した様に、
WORDPRESS_ALIAS値: wordpress_blog
としておく。"PAGE_WP TOP"の値は後で変更するかも知れないが、ひとまず置いておく。
plugin作成画面にて、
プラグインの説明: 「WordPressへご案内」
カテゴリー: News, Blog and Catalogs
とでもしておく。system eventは、"OnWebpageInit"にcheckし、念の為、MODxのalias path設定をoffにしておく。alias path設定をonにしておくと、WordPress部分の先頭ページしか表示されないらしい。
MODx snippet "WordPRessIntegrator"を作成する
落としてきたIntegratorパッケージ(zip書庫)の中にある、wordpressintegrator.1.2.0.phpの中身をそのままcopyして、MODx snippet "WordPressIntegrator"を作成する。
但し、
define ('WPMODX_WP_PATH', '/wordpress');
としておく。`WPMODX_TITLE値はよく分からないのでそのままにしておく。
snippetの説明: 「WordPressへご案内」
カテゴリー: News, Blog and Catalogs
WordPressへの窓口となるdocumentを作成する
MODxの管理画面から、documentを作成する。
document alias: "wordpress_blog"
本文: [[!WordPressIntegrator!]]
また、このdocumentのID(menu indexでなくdocumento ID)を覚えておいて、"WordPressRouter" pluginの"PAGE_WP TOP"の値にこのIDを記入する。
今回作成したdocumentのIDは48だったので、これを採用。
此処までのWordPress用設定のまとめ
WordPressRouter plugin:
define ('PAGE_WP_TOP', '48');
define ('WORDPRESS_ALIAS', 'wordpress_blog');
system event: OnWebPageInit
WordPressIntegrator snippet:
define ('WPMODX_WP_PATH', '/wordpress');
define ('WPMODX_TITLE', 'the title to show if the given one is blank');
WordPress窓口 document:
Document ID: 48
Document 内容: [!WordPressIntegrator!]
MODx setting:
alias path: off
Updated on 2007-08-22 16:12:20 (Wed).
最終更新:2007年08月22日 16:12