「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対応
それでは、まずはUsebbをダウンロードしてみましょう。
mysql> create database 新規作成したいデータベース名;
mysql> show create database 新規作成したデータベース名;
FLUSH PRIVILEGES;
mysql> grant all on 新しく作成したデータベース名.* to 'ユーザー名'@'localhost' identified by '新しいパスワード';
FLUSH PRIVILEGES;
データベース名 : 新規データベース名
ユーザー名: ユーザー名
パスワード : パスワード
ホスト名 : localhost
SHOW DATABASES;
mysql> drop database 削除したいデータベース名;で、データベースを削除することが出来ます。
mysql> DELETE FROM mysql.user WHERE user='ユーザ名';で、MySQLのユーザーを削除することが出来ます。
mysql> REVOKE ALL PRIVILEGES ON * . * FROM ユーザー名;※古いMySQLのバージョンの場合のみです。
mysql> FLUSH PRIVILEGES;
というわけで、今までの作業が全て英語でしたので、今度は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について勉強していきたいと思います。
今回は本当にありがとうございました!
それにしても、WordPressを初めとする大々的にオープンソースで公開されているプログラムって人気がありますよね。
誰でも自由にプログラミング出来る自由性と、多くの方が使えるという面を考慮しても、オープンソースとはこれからの技術発展に関しても大きな貢献をしている本当に素晴らしいソフトウェアだと思います。
これからもオープンソースは様々なユーザーと技術の発展を目指す。プログラムとして育っていくことを一ユーザーとしては、願うばかりですね。
« 自分はかわいいそれともイケメン?判定してみよう「愛PK」 l ホーム l 韓国で大規模クラッキング行為(ニュース) »
ありがとうございます。
記事中の日本語化カタログの位置が表記からは辿り着けないので下記からの方が良いかと思います。
http://oss.poyo.jp/pub/contribute/usebb/2008-01-23/usebb-1.0.8-ja.zip
以上、お礼です。