HN 日本語サマリー

← 一覧へ戻る
プログラミング

phpBB 1.4.4 を Docker で動作させる

Getting phpBB 1.4.4 working in Docker (thran.uk)

43 pointsby HeckFeck31 コメント

要約

この記事では、2001年頃に流行したメッセージボードスクリプトであるphpBB 1.4.4を、現代のDocker環境で動作させる方法を解説しています。PHP 5やMySQL 4との互換性の問題や、register_globalsのような古い設定への対応が必要でしたが、いくつかのパッチとDocker Composeの設定により、当時のフォーラム体験を再現可能にしました。公開サーバーでの使用は推奨されていません。

全文翻訳

Docker で phpBB 1.4.4 を動かす

phpBB 1.4.4 は、このユビキタスなメッセージボードスクリプトが有名になる前の最後のリリースでした。それは21年前の世界、すなわち PHP 3、Apache、register_globals、そして高い信頼性を持つオンライン環境のために設計されており、ユーザー入力を直接 SQL に渡すことは当時問題視されていませんでした。

もしあなたが2001年に戻り、初期のフォーラム時代の栄光を体験したいとしましょう。今ならそれができます!

この古めかしいスクリプトを PHP5 と MySQL 4 で動作させるにはいくつかのパッチが必要でしたが、思ったほど多くはありませんでした。

具体的には、一部の DB シーディングコマンドが MySQL 4 で拒否されました(auto increment に NOT NULL を指定する必要はありません!)、ログインクッキーが functions.php で設定されていませんでした(PHP5 は PHP3 よりも型安全性が高く、"" を 0 に強制しませんでした)、そしてインデックスページは投稿がない場合に最後の投稿時間を判断しようとして空文字列を解析しようとしていました。しかし、これらを修正し、php.ini にあなたの心を停止させるような変更(register_globals を覚えていますか?)を加えることで、動作します。

[画像: img]

2026年の phpBB 1.4.4 ボードインデックス!

興味深いことに、今日私たちが愛する機能の多くがすでに存在しています:
  • 3つのテーマから選択できます。
  • 通常の投稿者にランクを付与できます。
  • BBcode とスマイリーが使用可能です。
  • モデレーション、IP検査、禁止措置。

他に何が必要でしょうか?

詳細ガイド:phpBB 1.4.4 を Docker で実行する方法

まず、明白なことですが:公開サーバーでは使用しないでください。トラブルを招くことになります。

(ほぼ)単一のコマンドで2001年に直接ジャンプできます:

curl -O https://raw.githubusercontent.com/lordfeck/phpBB-1.4.4-Docker/refs/heads/master/docker-compose.yml
docker compose pull
docker compose up -d

その後、以下を開きます:

http://localhost:8080/phpBB/install.php

インストーラーのデータベース設定

以下を使用します:

  • データベースサーバー: db
  • データベース名: phpbb
  • データベースユーザー名: phpbb
  • データベースパスワード: phpbb

ホスト名は localhost ではなく db です。なぜなら、MySQL は別の Compose サービスで実行されているからです。

インストール後

phpBB 1.4.4 は、インストール中に config.php が書き込み可能である必要があります。Dockerfile はこの理由でそれをモード 666 に設定しています。

インストーラーが完了したら、ロックダウンします:

docker compose exec phpbb chmod 444 /www/phpBB/config.php

元の phpBB ドキュメントでは、インストーラーとアップグレードスクリプトを削除または名前変更することも推奨されています:

docker compose exec phpbb rm -f \
  /www/phpBB/install.php \
  /www/phpBB/upgrade_12.php \
  /www/phpBB/upgrade_14.php

全てをリセットする

データベースを破棄して最初からやり直すには:

docker compose down -v
docker compose up --build

幸運を祈ります & ハッピーフレーミング!

phpBB 1.4.4 のスクリーンショット

[画像: phpbb 1.4.4 light theme]

2001年のライトモード。

[画像: phpBB 1.4.4 topic view]

トピックビュー。

[画像: phpBB 1.4.4 admin panel]

管理パネル。

[画像: phpBB 1.4.4 user edit]

匿名ユーザーに管理者権限を与えたいですか? できます。これはまさに「自由なフォーラム」です。

ソースリポジトリ & Docker パッケージ