- 2009-05-02 (土) 16:52
- blog

wordpressとの連携を考えてbbpressの導入、実際にwordpressと連携させる手順とかもろもろをやってみる。
今回はやはりフォーラム・BBSの類はどうしても欲しくなるので、折角だからbbpressを試してみる。
wordpressの開発元が作った、wordpressに似たフォーラムの事、フォーラムってのはでっかい掲示板みたいなの。
2ちゃんで言うと、板=フォーラム・スレッド=トピック、みたいな。
このbbpress、数年前にいじった事があるのだが結構話題にはのぼるものの具体的な日本語での情報がろくにないのでかなり苦労した覚えがある。
そしてどうもその状況は未だ変わらず、検索しても簡単な紹介や、入れてみました、といった内容がほとんどで、しかも現在最新版である1.0-Alphaに関する言及はほぼ見かけない。
あーこれはキタな。
本来英語がろくに出来ない俺は適任ではないけど、ここはいっちょ頑張ってみるか^^
bbpressについて
bbpressは少しとっつきにくい。
おぼろげな記憶を手繰るに、bbpressのとっつきにくさの原因は以下にあると思う。
- 少し古いwordpressをベースにしている
- wordpressとの連携が可能、なのだが何が連携されるのかよくわからない
- wordpressとの連携が可能、なのだがそれまでに幾多の設定が必要になる
- wordpressと似たような内容が違う語句で表現されている
- 調べようにも情報が見つかりにくい
- 根本的に“フォーラム”という形態にほとんどの人が不慣れ
とりあえず現時点で分かるのは、連携されるのは主にログインとユーザー情報に関する内容だと言う事だ。
wordpressでログインすると、bbpressでもログインされた事になり、bbpressでログアウトすると、wordpressでもログアウトした事になる、みたいな。
wordpressのほうはともかく、bbpressは基本的にログインして使うように作られているからだと思うが、wordpressでログインとか普段見る分には関係なくねー、っていう普通のblogの形態の場合は無理に連携しなくていいかもしれない。
日本語化は既にされていて、日本語リソースも提供されているものの、現在最新版となる1.0Alpha版はまだない。
これはAlpha版だから本格的に取り掛かっていないだけかもしれない、有志でやっていただいてるんで気長に待つ。
とはいえ0.9.0.4版の日本語リソースでもかなりの部分が日本語化されるので、とりあえずこれでまかなえる。
連携に関しては現時点での安定動作バージョンであろうversion 0.9.0.4は、最新のwordpressとcookieの形態が違うため連携がかなり難しかった覚えがある。(うろ覚えで適当な事言ってる可能性あり)
なので今wordpressとbbpressを連携して使いたい場合、日本語リソースが完全でないのを我慢してAlpha版を使うほうがいいかもしれない。(0.9.xのほうも地味にヴァージョンアップをしているので今なら0.9.xでも楽なのかな)
wordpressとbbpressは親和性が高いものの、いくつもの用語に差異があり混乱する。
keymaster等の権限周りの呼称の違いが最初理解するのに時間がかかった覚えがある。
とはいえそもそもやってる事が違うので全て同じには出来ないのだが…。
また、bbpressにはwordpressと非常に似た管理画面があるのだが、このデザインがwordpress2.5.xより前のデザインを踏襲しているため、なんとなく不安になるw
個人的にこの古い管理画面 + 完全に日本語化されてなく英語が混ざる各項目 + 情報源がほぼ公式forumのみ(当然英語)、という状況が印象として導入のハードルを上げているように感じている。
あとwinXP環境だとfont指定のせいか、出来悪い明朝体による日本語表示になる部分があるのが悲しい。
ところでwordpressとの連携と聞いて一番期待するものは、実はログイン情報の共有なんかじゃなく、テンプレート等デザインやレイアウト要素の共有じゃないのだろうか。
ログインなんてのは基本blogを書いている本人のみの問題なので、自分が以前使った際も本当はテンプレート共有こそが一番期待するところだった。(今回はログインしないと見れないようなサイトをwordpressで構築するのが目的なんで別にいいんだけど)
ところがこれが案外大変だったような…今は変わったのかな。
ちなみに俺が感じてるbbpressの良い所も書いておくと、forumとしては定番のphpBBほどゴチャゴチャしてなく、けどそれなりの機能があり、テンプレートとかがwordpressの書式と似ている所だ。
つまりwordpressのテンプレートをある程度いじれる知識があれば、bbpressのデザイン変更もかなり自由に出来る。(wordpressのテーマとは別扱いだが)
forumレベルの機能のbbsをフルスクラッチするのは労力に見合わない、けれどありもののforumのデザインを変えるのは結構大変、なのでwordpressの知識を流用すればデザインが変更しやすいという一点においてのみでもbbpressは十分魅力的だったりする。
て事でだいぶ久々にインスコからやっていってみる。
bbpressのインストール
wordpressと連携させるのを前提に、bbpressをインストールしていく。
導入環境は以下。
- bbpressのバージョン
- 1.0-Alpha-6
- wordpressのバージョン
- 2.7.1
- phpのバージョン
- php4.4.x
- MySQLのバージョン
- 5.0.51a
サーバは要はheteml仕様。
さらに既にwordpressはインストールしてあるものとして、そこにbbpressをどうインストールし連携させていくかを追っていく。
今回はwordpressをインストールしたディレクトリ直下にforumsというフォルダ作る。
1.下準備
必要になデータを用意する。
bbpress本体(Alpha版は下のダウンロードから、zipでもgzでも中身は同じ)
bbPress » Download »
bbpress日本語リソース(moファイルだけでもいい気がしたけど一応両方)
Revision 397: /ja/tags/0.9.0.1
次にwordpressに秘密鍵(セキュリティ・キー)を設定しておく。
wp-config.php の編集 – WordPress Codex 日本語版
セキュリティ・キー とは、パスワードに無作為(ランダム)な要素を加えることによって、あなたのサイトへの不正アクセスや侵入・改竄を難しくする hashing salt です。
どうするかというと、WordPress.orgの秘密鍵サービスにアクセスし、自動で生成されたランダムな文字列のkeyを全てコピー。
wordpressをインストールしたディレクトリにあるwp-config.phpをダウンロードして開き、該当部分に上書きして保存、アップロードする。
- wp-config.php
- 以下の部分を上書きし書き換える。
-
define('AUTH_KEY', 'put your unique phrase here'); define('SECURE_AUTH_KEY', 'put your unique phrase here'); define('LOGGED_IN_KEY', 'put your unique phrase here'); define('NONCE_KEY', 'put your unique phrase here');
2.インストールと日本語化

forumsフォルダを作成したらその中に解凍したbbpressのファイル一式をアップロードする。
次に日本語リソースファイルをアップロードするのだがここで注意がある。
現在多くのサイトで解説されている方法はversion 0.9.x用で、今回使う1.0Alpha版では日本語化されないということだ。
これまではforums/bb-includes/にlanguagesという名前でフォルダを作り、先ほどダウンロードした二つの日本語化リソースをアップロードすることで日本語化できた。
今回使う1.0Alphaではbbpressのrootディレクトリ、つまり今回はforumsフォルダ直下にmy-languagesというフォルダを作り、そこにリソースをアップロードする。
このmy-languagesフォルダは0.9.xと同様に、自分で作らないと存在しない上、スペルミスすると動かないので注意。

この後0.9.xだとbb-config.phpを作ってあれこれするのだが、1.0Alphaからか今では0.9.xも同様かは分からないが、手作業でbb-config.phpをいじる必要は無くなっている。(日本語化についてのみ)
この状態でアップロードしたアドレスにアクセスすると、インストールのウィザードが表示される。
日本語化に成功していれば、言語を選択するプルダウンが表示されるはずだ。
ここでjaを選択してやればOK。

ちなみに解説をしているサイトによっては日本語化のタイミングがもっと後になっているケースもあるが、今はこの段階でやっておくとインストールウィザードまで日本語化してくれるので本当にありがたい。
3.インストーラー ステップ 1 – データベース設定
あとは基本インストーラーの指示に添って入力していけばいいだけだが、空欄でもいい箇所もあったりする、んだけどそれがどこかわかりにくかったりも。
- Database name・Database user・Database password
- 利用するデータベースの名前・ユーザー名・パスワードを入力する。wordpressとの統合を目指すならデータベースはwordpressと同じものがいいぽい。
- 使用言語
- 日本語化に成功していればここには既にjaが選択されているはずなので、そのままでOK。
- Show advanced settings
- より細かい設定項目を表示するかどうかのチェックボックス、チェックしよう。
99% of the time these settings will not have to be changed.
なんて説明が書いてあるけど、ウソじゃないのこれ。(99%変更する必要はないよ、みたいな事言ってる) - Database host
- これwordpressのほうでも通常変えなくていいよ、とか書いてあるんだけど本当なのかな?俺はレンタルサーバーだし当然変更しないといけないんだけど、デフォルトの
localhost
のままでいい人って自宅サーバー持ってる人とかだけじゃないのかな??それって一般的なんだろうか…。良く分からないけどとりあえず自分が利用しているサーバーの設定にあわせて必要なら入力。 - Database character set
- utf8になってると思うんでそのままで
- Database character collation
- これは設定してもしなくてもいいと思う。文字化け対策にutf8_general_ciを入れてもいいと思うけど、データベースのテーブルが全て無い状態で設定しないといけないぽいんで、既にこの設定無しでwordpressを使っている場合、結構面倒かもしれない。(wordpressのデータを一旦エクスポートしてデータベース初期化する必要があるから)この辺自信なし、俺の環境では設定しなくても問題なかった。
- bbPress “auth” cookie key・bbPress “secure auth” cookie key・bbPress “logged in” cookie key・bbPress “nonce” key
- ここは後で直接config.phpをいじるのでこの時点ではスルー。
- Table name prefix
- データベースのテーブルの接頭語、デフォルトのままでいい。
ここまで入力し、ステップ2へ
4.インストーラー ステップ 2 – WordPress ブログとの統合
ここでwordpressとの統合の設定をする、ここで言う統合とはログイン情報とユーザーデータの統合にあたる。
wordpressと連携する気がない場合はステップ2自体を飛ばしていい。
- Add integration settings
- wordpressと連携させたい場合はチェックする。チェックする事で以下に続く2つのチェックボックスが追加される。
- Add cookie integration settings
- wordpressとcookieの統合をする場合はチェックする。cookieを統合するとログイン情報を共有する事が出来るようになる。チェックする事で統合に関する設定項目が表示される。
- Add user database integration settings
- wordpressとユーザーデータを統合する場合はチェックする。チェックする事で統合に関する設定項目が表示される。
cookieの統合項目
- WordPress address (URL) ・Blog address (URL)
- 統合予定のwordpressの一般設定と同じ内容にする。これはなんとなくではなく、ちゃんとコピペして正確に同じ文字列を入力しよう。
- WordPress “auth” cookie key
- wp-config.phpの上書きした部分の以下をコピペする。
define('AUTH_KEY','ここをコピペする'); - WordPress “auth” cookie salt
- 下の説明文中にある
this WordPress admin page
の箇所のリンク(wordpressのwp-admin/options.php)を開き、ここに表示される幾つかの項目の中からauth_saltの文字列をコピペ。 - WordPress “secure auth” cookie key
- wp-config.phpの上書きした部分の以下をコピペする。
define('SECURE_AUTH_KEY','ここをコピペする'); - WordPress “secure auth” cookie salt
- 何も入力せず空けたままでいいようだ。
- WordPress “logged in” cookie key
- wp-config.phpの上書きした部分の以下をコピペする。
define('LOGGED_IN_KEY','ここをコピペする'); - WordPress “logged in” cookie salt
- 先ほど開いたwordpressのオプション一覧画面(wordpressのwp-admin/options.php)を開き、ここに表示される幾つかの項目の中からlogged_in_saltの文字列をコピペ。
ユーザーデータの統合項目
- User database table prefix
- ユーザーデータがあるデータベースのテーブルに使われている接頭語、つまりwordpress側の接頭語にあたる。何も変更していないならwp_のままでいい。
- Show advanced database settings
- wordpressとbbpressが別のデータベースを使う場合の設定を表示するかどうかのチェックボックス。今回は同じデータベースを使用するのでチェックは入れない。
ここまで設定したら右下にあるSave Wordpress integration settingsボタンをクリックすればOK。
5.インストーラー ステップ 3 – サイト設定
サイト…というかこのforumの設定になる。
- Site name
- このbbpressの名前をつける。
- Site address (URL)
- このbbpressのアドレス
- “キーマスター” アカウント
- bbpress設置初期状態のキーマスターを決める。キーマスターとはwordpressで言う所のadministrator、つまり管理者権限にあたる。
- 最初のフォーラム
- bbpressに最初に作られるフォーラム名。
設定したら設定は完了、あとはインストール開始するだけになる。
無事インストールが終わったら、wordpressのほうを一応ログアウトしてからbbpressにアクセスしてみよう。
ここで注意してほしいのは、既に日本語化されていても最初のフォーラムを日本語で入力してはいけない。
好奇心で一度日本語でやってみたら、インストール後bbpressにアクセス出来なくなってしまった!
やめろと言われるとやりたくなる人は、こうなった場合データベースのbb_が接頭語のテーブルを全て消し、再度アクセスしてインストールの手順を踏むといい。
既にbb-config.phpは生成されているため多少早くインストールしなおせるだろう。
6.権限の設定
次にwordpressでのユーザー権限とbbpressでの権限をどう対応させるかの設定を行う。
bbpressにログインしなおしたら、bbpressの管理画面(Admin)に入り、設定 > Wordpressとの統合を表示。

日本語化されていないが、たいしてむずかしい事をするわけじゃないので問題ない。
User Role Mapにwordpressのデフォの権限が並んでいて、それぞれにbbpressのどの権限を対応させるかをプルダウンから選択する形になる。
wordpressの日本語の権限との対応は以下の通り。(たぶん)
- WordPress Administrator
- 管理者
- WordPress Editor
- 編集者
- WordPress Author
- 作成者
- WordPress Contributor
- 投稿者
- WordPress Subscriber
- 購読者
例えば恐らく自分のwordpress上での権限である管理者をbbpressの管理者に相当するKey Masterに対応させるには、WordPress AdministratorのプルダウンをbbPress Key Masterにしてあげればいい。
それぞれ設定したら下にあるSave User Role Mapボタンを押せば保存される。
これでwordpressとbbpressの権限をリンクさせた事になる。
7.wordpress plugin“bbPress Integration”の導入
さて、自分のアカウントを無事Key Masterに設定し、ログインしなおしてみると…bbpressの管理画面に入れなくなっている!(wordpressの管理画面には入れる)
実はこれ、0.9.xの頃から事あるごとに起きる問題だったのだが(俺限定)、1.0Alphaにはこれを解決する専用のpluginがあるようだ。
WordPress › bbPress Integration « WordPress Plugins
ちなみにこれはwordpressのほうのplugin。
これを有効化するとwordpressの管理画面の“設定”にbbPress Integrationが追加されるので、ここで設定をしていく。
といってもむずかしくはない。
- bbPress URLにbbpressのURLを入力しSave Changesボタンを押す。(“Your plugins URL”は空でいい)
- Manual Cookie Settingsの下にあるテキストフォームの中身をコピー
- wordpressログアウト
- wordpressのwp-config.phpをダウンロード
- 言語設定の下辺りに先ほどコピーしたコードをペースト
- wordpressのwp-config.phpをアップロード
これでbbpressの管理画面にも入れるようになるはずだ。
そもそもこんなpluginが必要なのも困り物だが、いずれ改善される…んじゃないかな。
長らく問題になってる部分だから、もうしばらくはこのpluginのお世話になる予感もするけど。
参考資料
今回の記事は以下のトピックに上がっているスクリーンキャストを元に、日本語化の工程を加えてやってみた。
数年前の初めてbbpressに触れた当時も、forumでは散々wordpressの統合の話ばかりが質問されていて、恐らくもういい加減にせいよ!という事で動画提供したんじゃないかな。(邪推)
Basic integration screencast « bbPress Support Forums
英語がわからんので何を喋っているのか把握出来てないけど、一番肝となるcookie関連について喋ってそうなので理解出来ないのが歯がゆい。
まぁこうやって工程くらいは把握できるんだけど。
余談だけど、どうせ統合できる作りにするならwordpressの管理画面でbbpressの設定とかも出来るようにしてほしいなーとやってて思った。
確かそんなpluginもあった気がするが…あの当時何もかもがバギーな印象で、そんなチャレンジブルなpluginは入れなかったと思う。
関連するかもしれない他の記事
- Newer: wordpressで非公開コミュニティサイトを作る(6) bbpress1.0αのテーマカスタマイズ
- Older: wordpressで非公開コミュニティサイトを作る(4)feedのカスタマイズ
Comments:0
Trackbacks:1
- Trackback URL for this entry
- http://weblog.atl-r.net/blog/tipstomake_communitysite5/trackback/
- Listed below are links to weblogs that reference
- wordpressで非公開コミュニティサイトを作る(5) bbpress1.0αのインストール from atl*weblog
- pingback from WordPress×bbPress | ツブヤキ。 09-09-01 (火) 9:40
-
[...] 私が参考にしたのはこちらのページです。 atl*weblog WordPressで企業ウェブサイト作成・商用ホームページ制作 WordPress Go Go [...]



