phpBBは、オープンソースの電子掲示板です。
Windows Web Server 2008 + IIS7.0でデータベースにSQL Server 2008を利用する場合の、phpBBのインストール手順を以下に示します。
※今のところ日本語を利用すると文字化けしてしまいます。
PHPのソースがUTF-8で、php_sqlsrv.dllを利用して、SQL Serverに文字化けせずにデータを入れる方法をご存じでしたら、お教えくださいm(__)m
2009/08/19にリリースされたSQL Server Driver for PHP 1.1 CTPにより日本語での利用が可能になりました。
※php_sqlsrv.dllを利用するためにphpBBのソースを変更しています。
インストールと記事の投稿・閲覧などの基本的な動作は確認しましたが、全ての動作を保障しているわけではありません。
php_sqlsrv.dllの変更による不具合がありましたら、この記事のコメントよりご連絡ください。
- PHPのインストール
PHPがインストールされていない場合は、本サイトのPHPページを参照して、PHPをインストールする。 - SQL Server Driver for PHPのインストール
PHPからSQL Serverにアクセスするためのドライバである、SQL Server Driver for PHPがインストールされていない場合は「PHP on IISからSQL Serverを使う」を参照してインストールする。 - phpBBのダウンロード
ダウンロードページで「DOWNLOAD STABLE RELEASE」を選択し、zip形式のFull Packageをダウンロードする。(ex. phpBB-3.0.5.zip) - ダウンロードしたファイルを任意のインストールしたいフォルダに展開する。
ex.) C:¥WebApplications¥phpbb
以降、「%PHPBB_HOME%」と記述する。 - 日本語化ファイルのダウンロード
ダウンロードページで「DOWNLOAD LANGUAGE PACKS」を選択し、日本語のzip形式LANGUAGEファイルをダウンロードする。(ex. lang_ja.zip) - ダウンロードした日本語化ファイルを、languageフォルダに展開する。
ex.) %PHPBB_HOME%¥language¥ja - ファイル、フォルダのアクセス権の設定
当サイトの「IIS アプリケーションフォルダに必要なアクセス許可」を参照して%PHPBB_HOME%のアクセス許可を設定する。
以下のファイルおよびフォルダ以下は、IUSRグループが書き込み可能にする。- %PHPBB_HOME%¥config.php
- %PHPBB_HOME%¥store¥
- %PHPBB_HOME%¥cache¥
- %PHPBB_HOME%¥files¥
- %PHPBB_HOME%¥images¥avatars¥upload¥
- データベースの設定
phpBBは、標準でSQL Serverに対応している。
しかしそれは、php_mssql.dllを利用するSQL Server 2000だけで、SQL Server 2008や2005には対応していない。
今回はphpBBのソース修正も伴うが、SQL Server 2008を利用する。
SQL Server 2008にphpBB専用のデータベースを作成する場合は、 当サイトの「SQL Server 2008 データベースの作成」を参照。 - phpBBソースの変更
phpBB 3.0.4の場合の変更対象を示す。- 以下のファイルの「case 'mssql_odbc':」の次の行に「case 'sqlsrv':」と書き加える。
- %PHPBB_HOME%¥search.php
- %PHPBB_HOME%¥includes¥cache.php
- %PHPBB_HOME%¥includes¥functions_admin.php
- %PHPBB_HOME%¥includes¥message_parser.php
- %PHPBB_HOME%¥includes¥acp¥acp_database.php
- %PHPBB_HOME%¥includes¥acp¥acp_profile.php
- %PHPBB_HOME%¥includes¥acp¥acp_reasons.php
- %PHPBB_HOME%¥includes¥acp¥acp_users.php
- %PHPBB_HOME%¥includes¥db¥db_tools.php
- %PHPBB_HOME%¥install¥database_update.php
- %PHPBB_HOME%¥install¥install_convert.php
- %PHPBB_HOME%¥install¥install_install.php
- %PHPBB_HOME%¥install¥convertors¥functions_phpbb20.php
ex.)
:
case 'mssql':
case 'mssql_odbc':
case 'sqlsrv': ← 追加行
:「mssql_odbc」で全ファイルをgrepし、変更箇所を探すと良いだろう。
- %PHPBB_HOME%¥language¥en¥install.phpに、「DLL_SQLSRV」リソースを追加する。
ex.)'DLL_MSSQL' => 'MSSQL Server 2000+',
'DLL_SQLSRV' => 'MSSQL Server 2005+', ← 追加行
'DLL_MSSQL_ODBC' => 'MSSQL Server 2000+ via ODBC', - %PHPBB_HOME%¥includes¥functions_install.phpのget_available_dbms関数に、データベースへの接続情報を追加する。
※mssqlとmssql_odbcの間あたりが良いかも。
ex.)'mssql' => array(
... 省略 ...
),
// ↓ここから追加
'sqlsrv' => array(
'LABEL' => 'MS SQL Server 2005+',
'SCHEMA' => 'sqlsrv',
'MODULE' => 'sqlsrv',
'DELIM' => 'GO',
'COMMENTS' => 'remove_comments',
'DRIVER' => 'sqlsrv',
'AVAILABLE' => true,
'2.0.x' => true,
),
// ↑ここまで追加
'mssql_odbc' => array(
... 省略....
- 以下のファイルの「case 'mssql_odbc':」の次の行に「case 'sqlsrv':」と書き加える。
- phpBBソースファイルの追加
- %PHPBB_HOME%¥install¥schemas¥sqlsrv_schema.sql
- %PHPBB_HOME%¥install¥schemas¥mssql_schema.sqlからコピーしてファイルを作成する。
- 先頭の
BEGIN TRANSACTION
GO末尾の
COMMIT
GOを削除する。
- %PHPBB_HOME%¥includes¥db¥sqlsrv.php
当サイトからsqlsrv.phpをダウンロードし、%PHPBB_HOME%¥includes¥db¥に置く。
※同じディレクトリにあるmssql.phpを参考にして作成しました。このファイルの利用は自己責任でお願いします。
※このファイルは、phpBB3.0.4, 3.0.5用です。他のバージョンをご利用の場合は、これを参考にしてmssql.phpを変更してください。
- %PHPBB_HOME%¥install¥schemas¥sqlsrv_schema.sql
- IIS仮想ディレクトリの設定
IIS仮想ディレクトリの作成を参照して、IISの仮想ディレクトリを追加する。
物理パスには%PHPBB_HOME%(ex. C:¥WebApplications¥phpbb)を指定する。 - phpBBのセットアップを行う。
- サイトURL(http://{あなたのURI}/{IIS仮想ディレクトリ}/)にアクセスし、「はじめに」ページで上部の[インストール]タブをクリックする。
ex.) http://www.yourdomain.com/phpbb/

- 「導入」ページで「次のステップへ」をクリックする。

- 「Installation compatibility」ページで、問題がないことを確認する。
- 「PHPのバージョンと設定」のすべて:「はい」
- 「mbstring拡張モジュールのチェック」のすべて:「はい」
- 「データベースサポート」の「MSSQL Server 2005+」:「利用できます」
- 「ファイルとディレクトリ [ 必須 ]」のすべて:「見つかりました, 書き込めます」
- 「データベースの設定」ページで、データベースへの接続情報を入力する。
データベースの種類 MSSQL Server 2005+ データベースサーバのホスト名またはDSN SQL Serverのサーバー名
ローカルのSQL Server 2008 Expressなら
「localhost¥SQLEXPRESS」データベースサーバのポート番号 受信ポート番号をデフォルトから変更している場合は入力する データベースの名前 phpBBのデータを蓄積するための、前述の8.データベースの設定で作成したデータベースか、既存のSQL Serverデータベース名を指定する。
ex.) phpbbデータベースのユーザー名 データベースに接続するためのユーザー名を指定する。
ただし、SQL ServerがWindows認証の場合は空欄にする。
ex.) phpBBデータベースのパスワード データベースに接続するユーザーのパスワードを指定する。
ただし、SQL ServerがWindows認証の場合は空欄にする。データベーステーブルの接頭語 データベースのテーブル名の先頭につける文字列を指定する。
一つのデータベースに複数のアプリケーションのテーブルを作成する場合、テーブル名がぶつからないようにするためのもの。
ex.) phpbb_ - 「データベースの設定 - データベースへの接続」ページで、接続に成功することを確認する。

- 「管理人設定」ページで、管理者の情報を入力する。

- 「管理人設定」ページ(2)で、テストをパスすることを確認する。

- 「コンフィグファイル」ページで、コンフィグファイルconfig.phpにデータを書き込んだことを確認する。

- 「詳細な環境設定」ページで、必要な設定をする。
PHPのSMTP設定をしている場合、「SMTPサーバの仕様」は「いいえ」で良い。

- 「データベーステーブルの作成」ページで、テーブルの作成と初期データの投入がされたことを確認する。

- 以上でphpBBの初期設定は完了

- サイトURL(http://{あなたのURI}/{IIS仮想ディレクトリ}/)にアクセスし、「はじめに」ページで上部の[インストール]タブをクリックする。
- セキュリティの向上
- %PHPBB_HOME%¥installディレクトリを削除する。
- config.phpファイルをIUSRグループから書込み禁止にする。
- トップページ
トップページのURLは、http://{あなたのURI}/{IIS仮想ディレクトリ}
ex.) http://www.yourdomain.com/phpbb/

以上
[2009/08/18] SQL Server Driver for PHP 1.1 CTPのリリースに伴い、日本語環境で利用できるように内容を修正しました。
- 日本語化ファイルのダウンロード
ダウンロードページで「DOWNLOAD LANGUAGE PACKS」を選択し、日本語のzip形式LANGUAGEファイルをダウンロードする。(ex. lang_ja.zip) - ダウンロードした日本語化ファイルを、languageフォルダに展開する。
ex.) %PHPBB_HOME%¥language¥ja
[参考書籍]
- Free Collaborative Software Free Collaborative Software: Free Groupware, Phpbb, Cyn.In, Fluxbb, Wreckamovie, Kolab, Ofree Groupware, Phpbb, Cyn.In, Fl
- Logiciel Pour Forum: Comparaison Des Logiciels de Forum Internet, Vbulletin, Phpbb, Fluxbb, Simple Machines Forum, Phorum, Fire Soft Board
- Free Software Programmed in PHP: Drupal, Mediawiki, Phpbb, WordPress, Jumper 2.0, Cakephp, Phpwebsite, Tcpdf, Exponent CMS, Spip, B2evolution
タグ: IIS7.0, phpBB, SQL Server, Windows Server 2008



掲示板を利用できるようにするには install ディレクトリを削除する必要があります。install ディレクトリが存在している間は Administration Control Panel (AdminCP) のみしかアクセスできません。
MySQL 5.0.81-community
phpBBバージョン: 3.0.4
これの削除の方法を教えていただけませんか?
すみませんがよろしくお願いいたします。
> ダイゼンさん
手元にあるWindowsサーバーであれば、Explorerで
%PHPBB_HOME%¥installフォルダを削除してください。
レンタルサーバーをご利用であれば、お使いのFTPクライアントソフトで、phpBBをインストールしたディレクトリのinstallディレクトリを削除してください。