Home > blog > wordpressで非公開コミュニティサイトを作る(5) bbpress1.0αのインストール

wordpressで非公開コミュニティサイトを作る(5) bbpress1.0αのインストール

  • 2009-05-02 (土) 16:52
  • blog
  • |
Google Adsense

wordpress!

wordpressとの連携を考えてbbpressの導入、実際にwordpressと連携させる手順とかもろもろをやってみる。

今回はやはりフォーラム・BBSの類はどうしても欲しくなるので、折角だからbbpressを試してみる。

bbPress

wordpressの開発元が作った、wordpressに似たフォーラムの事、フォーラムってのはでっかい掲示板みたいなの。
2ちゃんで言うと、板=フォーラム・スレッド=トピック、みたいな。
このbbpress、数年前にいじった事があるのだが結構話題にはのぼるものの具体的な日本語での情報がろくにないのでかなり苦労した覚えがある。
そしてどうもその状況は未だ変わらず、検索しても簡単な紹介や、入れてみました、といった内容がほとんどで、しかも現在最新版である1.0-Alphaに関する言及はほぼ見かけない。
あーこれはキタな。
本来英語がろくに出来ない俺は適任ではないけど、ここはいっちょ頑張ってみるか^^

bbpressについて

bbpressは少しとっつきにくい。
おぼろげな記憶を手繰るに、bbpressのとっつきにくさの原因は以下にあると思う。

  1. 少し古いwordpressをベースにしている
  2. wordpressとの連携が可能、なのだが何が連携されるのかよくわからない
  3. wordpressとの連携が可能、なのだがそれまでに幾多の設定が必要になる
  4. wordpressと似たような内容が違う語句で表現されている
  5. 調べようにも情報が見つかりにくい
  6. 根本的に“フォーラム”という形態にほとんどの人が不慣れ

とりあえず現時点で分かるのは、連携されるのは主にログインとユーザー情報に関する内容だと言う事だ。
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をダウンロードして開き、該当部分に上書きして保存、アップロードする。

WordPress.orgの秘密鍵サービス

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と同様に、自分で作らないと存在しない上、スペルミスすると動かないので注意。

my-languages

この後0.9.xだとbb-config.phpを作ってあれこれするのだが、1.0Alphaからか今では0.9.xも同様かは分からないが、手作業でbb-config.phpをいじる必要は無くなっている。(日本語化についてのみ)

この状態でアップロードしたアドレスにアクセスすると、インストールのウィザードが表示される。
日本語化に成功していれば、言語を選択するプルダウンが表示されるはずだ。
ここでjaを選択してやればOK。

ウィザードトップ

ちなみに解説をしているサイトによっては日本語化のタイミングがもっと後になっているケースもあるが、今はこの段階でやっておくとインストールウィザードまで日本語化してくれるので本当にありがたい。

3.インストーラー ステップ 1 – データベース設定

step1

あとは基本インストーラーの指示に添って入力していけばいいだけだが、空欄でもいい箇所もあったりする、んだけどそれがどこかわかりにくかったりも。

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 ブログとの統合

step2

ここで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 – サイト設定

step3

サイト…というかこの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との統合を表示。

userRoleMap

日本語化されていないが、たいしてむずかしい事をするわけじゃないので問題ない。
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が追加されるので、ここで設定をしていく。
といってもむずかしくはない。

  1. bbPress URLにbbpressのURLを入力しSave Changesボタンを押す。(“Your plugins URL”は空でいい)
  2. Manual Cookie Settingsの下にあるテキストフォームの中身をコピー
  3. wordpressログアウト
  4. wordpressのwp-config.phpをダウンロード
  5. 言語設定の下辺りに先ほどコピーしたコードをペースト
  6. wordpressのwp-config.phpをアップロード

これでbbpressの管理画面にも入れるようになるはずだ。
そもそもこんなpluginが必要なのも困り物だが、いずれ改善される…んじゃないかな。
長らく問題になってる部分だから、もうしばらくはこのpluginのお世話になる予感もするけど。

参考資料

今回の記事は以下のトピックに上がっているスクリーンキャストを元に、日本語化の工程を加えてやってみた。
数年前の初めてbbpressに触れた当時も、forumでは散々wordpressの統合の話ばかりが質問されていて、恐らくもういい加減にせいよ!という事で動画提供したんじゃないかな。(邪推)

Basic integration screencast « bbPress Support Forums

英語がわからんので何を喋っているのか把握出来てないけど、一番肝となるcookie関連について喋ってそうなので理解出来ないのが歯がゆい。
まぁこうやって工程くらいは把握できるんだけど。

余談だけど、どうせ統合できる作りにするならwordpressの管理画面でbbpressの設定とかも出来るようにしてほしいなーとやってて思った。
確かそんなpluginもあった気がするが…あの当時何もかもがバギーな印象で、そんなチャレンジブルなpluginは入れなかったと思う。

Comments (Close):5

Sophy 13-02-05 (火) 23:49

はじめまして。とても参考になります。今、会員制ポータルサイトをWP-membersをつかって構築中で、掲示板機能をつけたいのでbbPressをインストールしたところ、一点、問題点が発生しています。
ログイン後、Forumを管理画面上でつくり、フロントエンドの画面からTopicを追加し、同じく、フロントエンドの画面からそのTopicに対してReplyをしてもその内容が表示されません。しかし、フォーラムの一覧画面に戻ると投稿数の集計は正しく集計されています。そして、その一覧画面からフォーラムを選択してもTopic/Replyの内容がなぜか見れません。。
ところが、ログアウトして、再度、ログインすると、すべての投稿内容が正常に表示されます。
そのような経験をお持ち、もしくは、怪しそうなところが見当がつきましたら、ご教示いただけましたら幸いです。

(今まで行ったトラブルシューティング)
・bbPress以外のプラグインを無効にして、テーマをTwenty eleven(Default)にしても、解決せず。
・ブラウザをIEからGoogle Chromeに変更しても、解決せず。
・WordPress Ver.3.4.2 とbbPress2.1.2, 2.2.2, 2.2.3, 2.2.4 の組み合わせのすべてにおいて、解決せず。
・WordPress Ver.3.5.1とbbPress2.2.2, 2.2.4の組み合わせにおいても、解決せず。

daruman 13-02-06 (水) 0:09

はじめまして。
このような所にお越しいただきコメントまでされるとは、大変お困りとは思いますが、残念ながらこの記事は4年も前のものなので力になれそうもありません。(最新のbbpressがどのような仕組みか既にわからないので…)

コメントされた内容を見るに一部画面で更新が反映されていないようなので
・停止する前に使用していたキャッシュ用pluginが生成したキャッシュがまだ生きている
・phpのキャッシュが生きている
あたりでしょうか、かなりなんとなくで言っていますが。

手間がかけられる時間がありましたら、一定期間無料のServer等を利用してwordpress→bbpressとインストールして動作するか見てみると良いかもしれません。
それでもわからない場合、表示されるべき画面の各変数を出力しつつ探るしか思いつきません。

何かの足しになれば良いのですが。

Sophy 13-02-06 (水) 23:12

darumanさま、

ご親切にありがとうございます。私にとって、かなり重要なヒントです。まことにありがとうございます。
キャッシュのあたりをまずは探ってみたいと思います。

>・停止する前に使用していたキャッシュ用pluginが生成したキャッシュがまだ生きている

この件で一点だけ確認させてください。以前使っていたキャッシュ用プラグインで、削除したものがあるのですが、
削除したものについては考慮しなくてもよいですか?

なぜこのような質問をさせていただくかというと、以前、あるプラグイン(キャッシュ系以外)を使っていて、停止後、
削除したものを、一定期間経って再度同じプラグインをダウンロードしたところ、削除前の設定が残っていたため
です。

お手数おかけしてすみませんが、その点だけ確認させていただければ幸いです。

daruman 13-02-07 (木) 0:24

何かの役に立てれば良いのですが、見当違いな事を言ってる可能性も十分ありますのでご了承ください。

> 以前使っていたキャッシュ用プラグインで、削除したものがあるのですが、削除したものについては考慮しなくてもよいですか?
キャッシュpluginの多くはwordpressのphpが実行されて生成されたhtmlを保存しますので、Serverのどこかにキャッシュファイルを作り、アクセスを生成済みのキャッシュhtmlに振り分ける事でphpの実行をしないで静的ファイルをloadさせる仕組みだったと記憶しています。
なのでそのキャッシュファイルが残っている場合、そのキャッシュファイルが生成された時期の出力結果をloadし続けている可能性があるかなと思った次第です。(通常ありえないのですが行儀の悪いpluginだと可能性はあるのかな?

なので、質問の答えとしては「通常考慮しなくて良いけれど、用心のために生成されたキャッシュファイルが残ってないか確認し、あったら捨てる」でしょうか。

その辺含めて原因の特定が大変そうなので、一度まっさらな別のサーバーで試しに動かしてみるのが良いかと思いました。

(ちなみに同じpluginを再インストールして設定が残っていたのは、おそらく設定がDBに書きこまれ、削除された際にその設定を消してくれないpluginだったからかと)

何かのおやくに立てれば幸いです。

Sophy 13-02-08 (金) 7:18

非常に参考になりました。本当に親切にありがとうございました!!

Trackbacks (Close):2

pingback from WordPress×bbPress | ツブヤキ。 09-09-01 (火) 9:40

[...] 私が参考にしたのはこちらのページです。 atl*weblog WordPressで企業ウェブサイト作成・商用ホームページ制作 WordPress Go Go [...]

pingback from 書山有路、学海無涯 » Blog Archive » WordPressで会員制サイトを作るときの勘所  12-03-07 (水) 9:47

[...] wordpressで非公開コミュニティサイトを作る(5) bbpress1.0αのインストール http://weblog.atl-r.net/blog/t……nitysite5/ [...]

Home > blog > wordpressで非公開コミュニティサイトを作る(5) bbpress1.0αのインストール

Calendar
« 2017 年 10月 »
M T W T F S S
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31          
Search
ABM | AnotherBookmark™
heteml
heteml
amadana
amadana(アマダナ)
feed
Meta

Return to page top