UseBBのインストール方法~まとめ~

今回は「日本PHPユーザー会」のフォーラムでも使用されている、PHP+MySQLのオープンソースで公開されている、トピックス型BBSの「UseBBS」のインストール方法について解説します。
UseBBSのインストールに関して調べてみると、UseBBに関するインストール方法が詳しく解説されていたサイトが無かったので、今回はUseBBのインストール方法を解説した記事を作成させていただきました。
UseBBを新しくインストールしようと思っている方の参考になれば幸いです。
それでは、詳細は続きから。
はじめに~UseBBとは?
「UseBB」とはGPLの下でリリースされている、UseBBチーム開発のPHP+MySQLで動作する、オープンソースのトピックス型BBS(掲示板)のことです。
主な特徴は以下のようになっています。Power To The Purpleさんより引用
■動作環境の条件
・PHP4 PHP5
・MySQL 3.x 4.x 5.x
■ライセンス
・GPL License
■特徴
カテゴリとフォーラム
* フォーラムのカテゴリを無制限に分けることができます
* フォーラムごとの構成オプション、およびアクセス許可設定が可能
投稿
* 投稿のためのアクセス許可レベルをベースに、主催者設定が可能
* 回答者は、フォーラムごと無制限、または最大数に設定することができます
* BBCode や顔文字の使用をサポートしています
* 管理者はHTMLコードを使える
* スパム投稿防止
会員の特徴
* メンバーの数の制限なし
* 個人プロフィールページ
* たくさんのプロフィール項目
* 表示名を自分の言語で登録できる(もロシアや中国語)
* アバター設定可能
機能
* モデレータをフォーラムごとに設定することができます
* トピックの移動/終了/再開/削除をできます
* 投稿を削除・編集することができます
* 主催者が投稿を編集できます。
管理インターフェース
* 様々な設定オプションを設定
* 作成/編集/カテゴリとフォーラムを削除
* 大量のメールを送信
* NGワード設定
* 編集/削除可能メンバーの設定
* IP,メールアドレスでの禁止
アクセス制御
* 4つのレベル:ゲスト、メンバー、管理権限および管理者
* 個々のレベルのフォーラムに基づくアクセス
* 活発なトピック、メンバー/スタッフのレベルに基づくアクセス/オンラインの一覧で、検索エンジンなど
* 全体フォーラムでは、メンバーのプロフィールおよび/または連絡先情報を無効にするユーザーのアクセス
* Eメールまたは管理者ベースのユーザ認証
* ユーザー登録を無効に
セキュリティ機能
* UseBBのユニークな保護機能を設定して人間とロボットの攻撃からあなたのフォーラムの保護:
* 数字認証
* 禁止IPアドレス
* メアドの有効性チェ区
* ログ
様々な特徴
* 強力な検索エンジンのクロスフォーラム
* 電子メールやトピックの購読を介してラインの概要
* RSS 2.0フィード
技術
* PHPのコードから分離されたHTMLテンプレート
* 標準準拠のXHTML 1.0厳格 と CSSテンプレート
* Unicode対応
非常に様々な機能があり、トピックス型の掲示板のうちでは
旧FC2ユーザーフォーラムでも使われていた。PHPbbなどのオープンソースとほぼ同格の最高機能のオープンソースBBSの中の一つといってもいいでしょう。
このUseBBは「日本PHPユーザー会のフォーラム」にも、使用されている、とても信頼性の高いオープンソースです。
それでは、上記の動作環境を満たしているかを確認した上で、Usebbのインストール作業を行いましょう。
Usebbのダウンロード~インストール
それでは、まずはUsebbをダウンロードしてみましょう。
Step1-UseBBのダウンロード
UseBBの配布サイトへアクセスし、現在の最新バージョンである「UseBB1.0.9」を上記画像の用に「Zip package」でダウンロードします。
Step2-ファイルの展開
ダウンロードしたUseBBを展開したら、UseBBファイルの中にある「config.php-dist」を「config.php」にリネーム(名前の変更)をします。
Step3-アップロード
config.php-distを「config.php」にリネームをしたら、お使いのサーバーにusebbをアップロード(usebbフォルダごと)します。
Step4-インストール
UseBBをお使いのサーバーにアップロードしたら、UseBBの「install」というディレクトリにブラウザからアクセスします。
管理人の例
http://sample.com/bbs/usebb/install/
※bbsディレクトリにusebbフォルダごとアップロードしたので上記URLにアクセスします。
もし、installディレクトリにアクセスしても、何も起こらない、もしくは403エラーとなってしまうときは
「http://sample.com/bbs/usebb/install/index.php」と直接インストールファイル(installファイル内のindex.php)」にブラウザからアクセスするか、index.phpをディレクトリインデックス(/で最初に読み込むファイル)として認識させるために、Apacheの「httpd.conf」ファイルの「DirectoryIndex」の部分を下記のように追記して保存してから、改めてブラウザからinstallディレクトリにアクセスしてみて下さい。
DirectoryIndex index.html index.php
※編集内容:ディレクトリインデックスにindex.phpの追加
Step5-インストール前のセットアップ

UseBBのインストールディレクトリにアクセスして、上記画像の用に表示されれば、インストール前のセットアップは完了です。
注※まだ、インストールは終わっていませんよ!
上記項目を入力するために、データベース(MySQL)のデータベースとそのデータベースを使用するユーザーを作成します。
Step6-MySQLのデータベースとアカウント(ユーザー)を作成
お使いのサーバー環境などによっては、違いが出てくると思いますが、今回は「自宅サーバー環境(自身が構築したMySQLサーバー」と「レンタルサーバー環境」の二つの方法を解説致します。
今回行うMySQLの操作目的
まとめると、以下のような操作を行う事になります。
1.MySQLのデータベース名の作成
2.MySQLのデータベースユーザーの作成
3.MySQLのデータベース名とユーザーの関連付け
Step7-自身が構築したMySQLサーバー(自宅サーバーなど)の場合
※PHPとMySQLの関連づけのため、インストールしている「php.ini」ファイルの中身のMySQLモジュールを有効にしておいて下さい。
MySQLモジュールの有効の仕方 PHPバージョン5にてphp.iniファイルの中身の、
「;extension=php_mysql.dll」を「extension=php_mysql.dll」とする。
※編集内容:「;」を外して、コメントを外し読み込むようにする
それでは、上記のPHPとMySQLモジュールの設定を確認した上で、MySQLのコマンドを入力して実行します。「MySQL Command Line Client(MySql.exe)」を起動させて、新規データベースを作成します。(コマンドプロンプトにMySQLの環境変数パスが設定されている場合は、コマンドプロンプトから呼び出しても、もちろんOKです)
MySQL新規データベース作成コマンド
mysql> create database 新規作成したいデータベース名;
と、入力すると新規データベースを作成することが出来ます。作成したデータベースを確認するコマンドは
mysql> show create database 新規作成したデータベース名;
で、新しく作成したデータベースを確認することが出来ます。
念のため、設定をサーバーに反映するコマンドを打っておきましょう。
FLUSH PRIVILEGES;
続いてデータベースを操作するユーザーを作成します。
mysql> grant all on 新しく作成したデータベース名.* to 'ユーザー名'@'localhost' identified by '新しいパスワード';
新しく作成した、データベース名に与えるMySQLの権限は「ALL」全てです。各自記入場所を適切に変更して作成を行います。
念のため、もう一度設定をサーバーに反映するコマンドを打っておきましょう。
FLUSH PRIVILEGES;
これで、新規データベースとユーザーの作成は完了です。今回行った操作をまとめると以下のようになります。
データベース名 : 新規データベース名
ユーザー名: ユーザー名
パスワード : パスワード
ホスト名 : localhost
ちなみに、作成したデータベースをもう一度確認したい場合は
SHOW DATABASES;
と、入力するとデータベースの一覧が表示されます。
Step8-レンタルサーバーなどの場合
お使いのサーバー環境がレンタルサーバーの場合ですと、大抵はGUIでのブラウザ上からの操作で、データベースを作成&ユーザーの作成をすることが出来ると思います。
海外のレンタルホスティング(レンタルサーバー)サービスを利用されている方の場合は、大抵のオプションがcPanelと呼ばれる、ブラウザから操作できるGUI製のプログラムが組み込まれているとお思います。
管理システムがcPanelの場合は下記画像の用に、MySQLをクリックして、下記の操作を行えばOKです。

1.MySQLのデータベース名の作成
2.MySQLのデータベースユーザーの作成
3.MySQLのデータベース名とユーザーの関連付け
レンタルサーバーの場合は殆どがGUI機能で、データベース操作が可能ですので、レンタルサーバーユーザーの方は、特に迷うことなく簡単に設定ができると思います。
与えるユーザー権は下記画像の用に、今回のUseBBのデータベース権限は「ALL」を選択します。

Step9-いよいよ必要事項の入力!

ココまで来たら、後はStep5の上記画像のインストールフォームを入力するだけです。
それでは、各事項の確認です。
Server type
どのデータベースを使っているかを選択します。管理人はMySQL5.x以上のデータベースサーバーですので、4.1/5.xを選択しました。
Server host
サーバーのホストを設定します。各レンタルサービスから、特別に指定がない限りデフォルトのlocalhostでOKです。
Username
作成したデータベースのユーザー名を入力します。
Password
作成したデータベースのパスワードを入力します。
DB name
作成したデータベースの名前を入力します。
Table prefix
UseBBのデータベース範囲内で作成されるすべてのテーブル名に追加されるオプションの接頭辞。複数のUseBBを持つことを計画している場合、"usebb"といった接頭辞を使うために最初のUseBBに関連するすべてのテーブルには"usebb_"の接頭辞が追加されます。このことによって同じデータベースに複数のUseBBをインストールすることが可能になります。
要約すると、usebb_archiveなどの「usebb_」の部分のことです。
例えば、一般的な名前である"archive"は"usebb_archive"になるので、テーブルを上書きすることなく他のUsebbをインストールすることが出来ます。
今回の場合、プレフィックスを特に設定していないので、
デフォルトのままでも大丈夫?だと思います。もし、駄目な場合は空白にしておいて下さい。
ちなみに、管理人はテーブルプレフィックスを使用しています。
Administrator account
ここからが、UseBBの管理者アカウントの設定です。
Username
管理者として、使いたいIDを指定します。
管理用のメールアドレスを設定します。(何でもOK)
Password
管理者アカウントのパスワードを設定します。
Repeat password
管理者アカウントのパスワードをもう一度入力します(確認のため)
全ての入力事項を記入したら、一番下にある「Start installation」をクリックして、インストール開始です。
Step10-インストール成功!
インストールが無事、成功すると上記のような画面が表示されます。
上記の英文を翻訳すると、「これでインストールは完了です。 UseBBフォーラムにログインすることができます。サポートが必要なUseBB.netでのコミュニティのフォーラムをご覧ください。」と書かれています。
Warningの内容の「Warning: please remove the install/ directory to keep your forum safe.」とは、セキュリティーの安全を確保するために、「install」ディレクトリを削除して下さい。と書いてあります。ですので、installディレクトリを各自削除しましょう。
番外編-UseBBのアンインストール
UseBBのアンインストールはアップロードした・・・または、ダウンロードした。UseBBのファイルを削除するだけなのですが、一つ注意点として、UseBBのファイルを削除する前には、必ずMySQLのUseBBのデータベースとユーザー名から先に削除して下さい。
UseBBのMySQLデータベースとユーザー名を先に削除しておかないと、UseBBのプログラムが参照状態となり、そのままではディレクトリ+UseBBのファイルを通常の削除では削除することが出来なくなりますので、注意が必要です。
ですが、もし誤ってUseBBを先に削除してしまい残った場合でも、UseBBのMySQLデータベースとユーザー名を削除した後に、もう一度UseBBを削除すれば、削除することができますので、ご安心下さい。
ちなみにMySQLのコマンドでのデータベース削除方法は
mysql> drop database 削除したいデータベース名;で、データベースを削除することが出来ます。
MySQLのユーザーの削除方法は
mysql> DELETE FROM mysql.user WHERE user='ユーザ名';で、MySQLのユーザーを削除することが出来ます。
古いMySQLのバージョンでは、ユーザーを消しても、権限が削除されないようですので、以下のコマンドで権限も削除します。
mysql> REVOKE ALL PRIVILEGES ON * . * FROM ユーザー名;※古いMySQLのバージョンの場合のみです。
削除したら忘れずに
mysql> FLUSH PRIVILEGES;
の、コマンドも打っておきましょう。
UseBBの日本語化
というわけで、今までの作業が全て英語でしたので、今度はUseBBを日本語化してみましょう。UseBBを日本語化するには、先ほど制作した、UseBBの管理者アカウントにログインした後に、「http://sample.com/bbs/usebb/profile.php?id=1」にアクセスします。
「usebb」をインストールしたディレクトリに「profile.php?id=1」を追加すればOKです。(一番最初に作成したアカウント(管理者)が1となるため、id=1」となっています。
管理者としてフォーラムにログインしたら、「Edit Options」を選択すれば「languages」という、項目があるので、そこで日本語(japanese)を選択すれば、表示言語を日本語にすることが出来ます・・・
・・・と、言いたいところですが・・・デフォルトでダウンロードしたUseBBは、残念ながら日本語には対応していません。
なので、UseBBを日本語化するには、日本語化のphpファイルをUseBBの「languages」ディレクトリにアップロードして、読み込ませる必要があります。
UseBBの日本語化ファイルは以下からダウンロードすることが出来ます。
日本語メッセージカタログ
http://elf.no-ip.org/~elf/contribute/usebb/
上記のリンクの「2008-01-23」をクリックして、「usebb-1.0.8-ja.zip」をダウンロードします。
「usebb-1.0.8-ja.zip」を展開したら、languagesというフォルダの中に
「admin_Japanese.php」「faq_Japanese.php」「lang_Japanese.php」の計3ファイルが展開されますので、この三つのファイルをUseBBの「languages」ディレクトリにアップロードします。
※UseBBの対応バージョンが違うので大丈夫か心配になった方もいると思いますが、管理人の方では動作を確認済みですので、ご安心下さい。
後は上記のUseBBの管理者アカウントでUseBBにログインしたら、「Edit Options」の部分で上記画像の用に、「Japanese」を選択して一番下のOKをクリックしたら、少し待ちます。
読み込みが終わったら、他のページに移動してみて、上記画像のように表示されたら
見事!UseBBの日本語化は完了です。ここまで本当にお疲れ様でした(゚-^v) ブイ♪
ちなみに、上記の日本語化ファイルでUseBBが文字化けしてしまうという方は「日本PHPユーザー会」のこのフォーラムの記述がドンピシャだと思いますので、紹介しておきます。
日本PHPユーザー会フォーラムからの引用
masa
はじめまして。masaと申します。
記事の記述内容が不適切な場合、削除のほうお願い致します。
現在、UseBBを使用してフォーラムの作成を試みているのですが、コントロールパネルで言語を日本語にした場合、書き込みが文字化けしてしまいます。文字化けを起こさずに運用する設定方法をお教え願えないでしょうか。
----------------------- 環境 -----------------------
■UseBB バージョン: 1.0.1
■PHP バージョン: 4.4.2
■SQL サーバーのドライバー: MySQL/4.1.18
■HTTP サーバー: Apache/1.3.37 Ben-SSL/1.57 (Unix) PHP/4.4.2 mod_perl/1.29
■オペレーションシステム: FreeBSD
■DB文字コード:utf8_general_ci
以上、宜しくお願い致します。
ELF
php.iniの設定が関係ある気がします.
mbstringのhttp_inputをautoなどにしていませんか?
場合によったらこちらもどうぞ
http://oss.poyo.jp/bbs/forum-13.html
masa
返信頂きまことにありがとうございます。php.iniのほう確認させて頂きました。
ご指摘の通り、
[mbstring]
;mbstring.internal_encoding = EUC-JP
;mbstring.http_input = auto
;mbstring.http_output = SJIS
;mbstring.detect_order = auto
;mbstring.substitute_character = none;
のようになっておりました。。
お聞きしてばかりで申し訳ないのですがこちらをどのように変更したらよいでしょうか?
:'(
ELF
mbstringの設定がすべてコメントアウトされている(あるいは自動変換が一切入っていない)ことが一番推奨される状態ですので問題ないですね
後はMySQL 4.1を使用している関係でMySQLの文字エンコード自動変換が行われている関連が問題の要因なるんじゃないかと推測します
一度UseBB/source/db_mysql.phpの
@mysql_select_db($config['dbname'], $this->connection) or trigger_error('SQL: '.mysql_error($this->connection), E_USER_ERROR);
の下に下記を追加してみてください(すべて半角で入力してください)
$this->query( "SET NAMES UTF8;");
あるいはUseBB/source/db_mysqli.phpの
@mysqli_select_db($this->connection, $config['dbname']) or trigger_error('SQL: '.mysqli_error($this->connection), E_USER_ERROR);
//
// Set transaction to latin1
//
if ( $functions->get_config('force_latin1_db', true) )
$this->query("SET NAMES latin1", true, false);
の下に同様に
$this->query( "SET NAMES UTF8;");
を入れてみてください
もしこの辺が原因だと一番確実な回避方法はMySQL 4.1未満(4.0ベース)を使用することなんですが
#あるいはMySQLの知識を身につける
masa
ELFさんありがとうございました。無事に問題は解決いたしました!
私の知識が乏しいためご迷惑をお掛けいたしました。またこれからPHPやMySQLについて勉強していきたいと思います。
今回は本当にありがとうございました!
php.ini関連の設定やMySQLの文字コードの設定などは、よく文字化けが起こってしまう要因の一つですからね~・・・
自分も、先日のWordPressの「Ktai Styleが真っ白になってしまう人へ」の記事も「mbstring」拡張モジュールが有効になっていなかったのが原因でしたね。本当に初歩中の初歩の部分ですが、案外見落としてしまうところです・・・
そんなわけで、どのWebサーバー関連のプログラムでもそうですが、文字化けしてしまう原因の大半は
・php.ini
・http.conf
・MySQLの文字コーディング
・php.iniの拡張モジュール(主にmbstringがコメントアウトされていない)
などの設定が、最も文字化けの原因で多いです。
Webサーバー関連の設定で、文字化けに悩んでいる方は、大体上記の項目らへんを調べてみると解決が早まると思います。
後書き-UseBBについて
それにしても、WordPressを初めとする大々的にオープンソースで公開されているプログラムって人気がありますよね。
誰でも自由にプログラミング出来る自由性と、多くの方が使えるという面を考慮しても、オープンソースとはこれからの技術発展に関しても大きな貢献をしている本当に素晴らしいソフトウェアだと思います。
これからもオープンソースは様々なユーザーと技術の発展を目指す。プログラムとして育っていくことを一ユーザーとしては、願うばかりですね。
管理人のみ閲覧できます
日本語化ファイル
ありがとうございます。
記事中の日本語化カタログの位置が表記からは辿り着けないので下記からの方が良いかと思います。
http://oss.poyo.jp/pub/contribute/usebb/2008-01-23/usebb-1.0.8-ja.zip
以上、お礼です。
承認待ちコメント
« 自分はかわいいそれともイケメン?判定してみよう「愛PK」 l サンエタ(HOME) l 韓国で大規模クラッキング行為(ニュース) »