phpBB 3.0.13-PLから3.2.1へのアップデート

HTML,CSS,XHTML,Javascript,XML,XSLT...ウェブデザイン全般に関する悩み、相談、情報交換、意見などはこちらへどうぞ。
返信
webmaster
Site Admin
記事: 1451
登録日時: 2004年12月10日(金) 10:09

phpBB 3.0.13-PLから3.2.1へのアップデート

投稿記事 by webmaster » 2017年9月05日(火) 15:23

phpBB 3.0.13-PLを使っていたのですが、サーバーのPHPバージョンをPHP7にアップデートすると動作しなくなった為、調べてみたところ、phpBB 3.2.1にアップデートする必要があるとのことで、アップデートを実施しました。以下にその時に流れをまとめます。

念の為、一度phpBB 3.0.14にアップデートした後、phpBB 3.2.1へアップデートする手順を踏みました。

※以下、PHP5.3環境下で実行しています(PHP5.4にするとphpBBが動作しなかった為)
■phpBB3.0.13-PLを3.0.14にアップデート

 手動でのアップデートになります。流れとしては、データベースをアップデートした後、差分ファイルを上書きアップロードする、というものになります。

(1) いつでも元に戻せるように、データベースの確実なバックアップと、phpbbフォルダの完全なバックアップを取っておきます。
(2) SourceForgeのphpBBのhomeより、phpBB 3 → phpBB 3.0.14 → phpBB-3.0.14-files.zip をダウンロードします。
 https://sourceforge.net/projects/phpbb/files/
(3) 解凍すると、様々なファイルと一緒にinstallというフォルダが出来るので、それをサーバのphpbbフォルダの直下にアップロードします。この時点で、一時的に掲示板は使用不可になります(installというフォルダが存在するとそうなる仕様です)。
(4) phpbb/install/database_update.php をブラウザから実行します。すると、データベースが更新されます。
(5) 先ほど解凍した phpBB-3.0.14-files.zip の中に phpBB-3.0.13-PL1_to_3.0.14.zip というファイルがあるので、それも解凍します。
(6) 解凍すると、イカのフォルダ群とファイル群が出来ます。これを全て、サーバへ上書きでアップロードします。この時、stylesフォルダがありますが、フォルダ内にあるのはcfgファイルのみで、cssや画像ファイル等はありませんので、既存のスタイルがおかしくなることは無いと思います。
 adm/
 download/
 includes/
 styles/
 feed.php
 posting.php
(7) 確実に上書きアップロードされた事を確認した後、installフォルダを削除し、通常通りphpbbをブラウザで開き、問題なくアップデートされている事を確認します。(installフォルダが残っていると、掲示板が表示されません)
(8) もしアップデートに失敗しており、何らかのエラーが表示されたりする場合には、データベースをバックアップからリストアした後、サーバ上のphpbbフォルダを消して、バックアップしたファイルをアップロードしなおし、最初からやり直してください。

■phpBB 3.0.14を3.2.1にアップデート

 自動アップデートは提供されていないので、また手動での更新になります。
 こちらのページを参考にしました(英語)。
 https://www.phpbb.com/support/documents.php?mode=install&version=3.2#update30_31
 
(1) いつでも元に戻せるように、データベースの確実なバックアップと、phpbbフォルダの完全なバックアップを取っておきます。(私は何度もアップデートに失敗しました。バックアップがなかったら今頃青ざめているでしょう)

(2) MODについては、殆どの場合は3.2.xに対応していないと思いますので、削除して下さい。言語は一旦「British English」にしておいた方が良いかもしれません。ACP管理画面の掲示板の設定より「言語」を「British English」にします。また、管理者のユーザーのプロフィール編集画面から、そのユーザーの言語を同様に変更します。もし、prosilver以外のスタイルを使っている場合は、一旦スタイルをprosilverに戻します。尚、prosilver以外を使っている場合には、スタイルの作り直しになると思います(アップデート後に、prosilverの新しいスタイルファイル群をコピーして、手作業でスタイルを作る事になります)。

(2) サーバのphpbbフォルダから、以下のフォルダとファイル「以外」を全て消して下さい。つまり、以下のファイルのみを残して他は全て消すということです。私の場合はextはありませんでした。また、filesとstoreの中は殆どファイルがありませんでした。
 config.php
 images/
 files/
 store/
 (ext/)
(2) phpbbの公式サイトより、最新版のphpBB-3.2.1.zipをダウンロードします。(2017/9/5時点)
 https://www.phpbb.com/downloads/
 さらに新しいバージョンが公開されている場合は、3.2.xならば同じ手順でアップデートできるとは思いますが、ご注意下さい。SorceForgeから3.2.1を探すのも良いかもしれません。
 https://sourceforge.net/projects/phpbb/files/

(3) 解凍すると、phpBB3というフォルダがあり、その中に全てのファイルがありますが、config.phpをサーバへ上書きすると設定が全て消えてしまうので、config.phpだけ削除します。config.phpが削除されている事をよく確認してから、残り全てのファイルをサーバのphpbbフォルダへ上書きアップロードします。

(4) PHP7に切り替える。
 サーバのPHPのバージョンを 5.3から7.0へ変更します(インストーラの実行にPHP5.4以上が必要な為です。7でなくともPHP5.4以上なら大丈夫です)。
 次に、サーバのphpbbフォルダのconfig.phpを編集します。PHP7ではMySQLのライブラリが "mysql"から"mysqli"に変更されているので、config.php の中の該当箇所も"mysqli"にします。それに合わせて、cache/production フォルダを削除しておきます。
 【参考】https://www.phpbb.com/community/viewtopic.php?f=556&t=2421341

(5) ブラウザから phpbb/install/app.php/update を開きます。この画面のボタンを押して、データベースの更新のみを行います。

(6) 日本語化を行います。
 phpbbの公式サイトには、3.0.12用の日本語Language Packしか置いていませんが、最新版では多くの追加がある為、これだけではあちこちの表示が変数名のままになってしまいます。GitHubを探すと、3.1.2用の言語パックを公開して下さっている方がいらっしゃったので、ありがたく使わせて頂きます。
 https://github.com/ocean0yohsuke/phpBB3_language_ja
 
 上記からダウンロードした言語パックファイルを解凍し、phpBB3_language_ja-master/root/language/ja フォルダを、サーバの language/ja フォルダに上書きアップロードします。
 もし、さらに日本語化したいと思った場合は、jaフォルダ内の各ファイルを開き、enの同じファイルの中身を参考にして、日本語を追加していくと良いと思います(良いものができたら、ぜひ公開して下さいね)。

(7) サーバからinstallフォルダを削除し、phpbbフォルダをブラウザで表示して、正しく表示される事を確認します。

(8) 管理画面から各種設定を行います。
・Customizeタブ→Language Packs→ 「Japanese」を Install。※すでにインストール済になっているのに設定画面から日本語を選択できない場合には、一旦「Delete」してから再度「Install」してみて下さい(日本語を選択している全てのユーザーの言語がBritish Englishに設定されますので、後でBritish Englishも同様に削除→インストールしてください)。デフォルト言語に設定されている言語の削除はできないので、その都度設定画面からデフォルト言語を変更して下さい。
・メイン → 掲示板の設定 → デフォルト言語「日本語」
・管理者ユーザーのプロフィール編集画面→言語「日本語」

以上です。私の場合は、phpBB3.0.14から3.2.1へのアップデート後にphpBBが以下のエラーを表示するようになり、大変手間取りました。
 Lost Connection to MySQL server during query
調べても適切な情報がなく、phpBBのスクリプトを追っかけ、デバッグしてみたところ、結論としては「データベースが壊れているのではないか」ということで、一旦3.0.14へ戻し、アップデートをやり直したりもしています(その時はすんなりうまくいきました)。

返信