在 Docker 中运行 phpBB 1.4.4
Getting phpBB 1.4.4 working in Docker

原始链接: https://www.thran.uk/writ/devlog/2026/09/phpbb-144-in-docker.html

现在,你可以通过现代化的 Docker 设置来运行 2001 年的经典论坛程序 **phpBB 1.4.4**,重温早期的互联网时光。 该软件设计于 PHP 3 和 `register_globals` 的时代,最初缺乏现代安全标准(例如 SQL 注入防护)。为了使其能在当代环境中运行,所提供的 Docker 存储库包含了必要的补丁,以解决 PHP 5 的兼容性问题、数据库初始化错误以及 Cookie 处理方面的异常。 尽管年代久远,该脚本依然具备令人熟悉的各项功能,包括多种主题、BBCode、表情符号以及基础的管理工具。 **警告:** 该软件以现代标准衡量极度不安全,**严禁将其用于面向公众的服务器。** 它仅供怀旧体验或本地测试使用。你可以使用 `docker-compose` 快速部署,请务必保护好 `config.php` 文件,并在安装完成后立即删除安装脚本。访问[源代码仓库](https://github.com/lordfeck/phpBB-1.4.4-Docker),重温论坛时代早期的“光辉岁月”。

抱歉。
相关文章

原文

phpBB 1.4.4 was the last release of the ubiquitous message board script, before it got famous. It was designed for a world 21 years ago - PHP 3, Apache, register_globals and a high-trust online environment - passing user input directly to SQL was not frowned upon.

Let's say you want to go back to 2001 and experience the glorious days of the early forum-sphere. You can now do that!

The arcane scripture required a few patches to get working in PHP5 and MySQL 4, but not as many as you'd think:

Namely, some of the DB seeding commands were rejected by MySQL 4 (you don't need to say NOT NULL for auto increment!), the login cookie wasn't being set in functions.php (PHP5 actually had higher type safety than PHP3 and wouldn't coerce "" to 0), and the index page tried to parse empty strings trying to determine last post time when there were no posts. But with these fixed, and a few changes to php.ini that would make your heart stop (remember register_globals?), it works.

img

phpBB 1.4.4 board index in 2026!

Curiously, a lot of the features we love today are present:

  • You can choose from any of three themes.
  • You can give out ranks for regular posters.
  • BBcode and smilies are usable.
  • Moderation, IP inspections and bans.

What more do you need?

First, the obvious: Don't use this in a public-facing server, you're asking for trouble.

You can jump straight back to 2001 with (almost) a single command:

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

Then open:

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

Installer database settings

Use:

  • Database server: db
  • Database name: phpbb
  • Database username: phpbb
  • Database password: phpbb

The hostname is db, not localhost, because MySQL is running in the other Compose service.

After installation

phpBB 1.4.4 requires config.php to be writable during installation. The Dockerfile sets it to mode 666 for this reason.

After the installer has completed, lock it back down:

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

The original phpBB documentation also recommends removing or renaming the installer and upgrade scripts:

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

Reset everything

To throw away the database and start again:

docker compose down -v
docker compose up --build

Good luck & happy flaming!

phpbb 1.4.4 light theme

Light mode in 2001.

phpbb 1.4.4 topic view

Topic view.

phpbb 1.4.4 admin panel

Admin panel.

phpbb 1.4.4 user edit

Want to give the Anonymous user admin rights? You can do that. This is truly "a forum that's free".

Source Repo & Docker Package

联系我们 contact @ memedata.com