Введение

Свободный и открытый пакет для интернет-форумов, написанный на PHP.

phpBB – это пакет для интернет-форумов, написанный на языке программирования PHP. Название "phpBB" является аббревиатурой от PHP Bulletin Board. Распространяется под лицензией GNU General Public License, phpBB является бесплатным и имеет открытый исходный код. Функциональные возможности phpBB включают поддержку различных систем управления базами данных (MariaDB, Microsoft SQL Server, MySQL, PostgreSQL, SQLite, Oracle Database), плоскую структуру сообщений (в отличие от иерархической/ветвящейся), иерархические подфорумы, разделение, слияние и блокировку тем, группы пользователей, возможность прикреплять несколько файлов к одному сообщению, полнотекстовый поиск, плагины и различные варианты уведомлений (электронная почта, мгновенные сообщения Jabber, RSS-каналы).

История

phpBB был основан Джеймсом Аткинсоном 17 июня 2000 года как простой форум, похожий на UBB, для его личного веб-сайта. Натан Кодинг и Джон Абела присоединились к команде разработчиков после переноса репозитория CVS phpBB на SourceForge.net, и началась работа над версией 1.0.0. Полностью функциональная, предварительная версия phpBB была опубликована в июле.

phpBB 1.0.0 (англ.) русск.

phpBB 1.0.0 был выпущен 16 декабря 2000 года, после чего последовали улучшения кодовой базы 1.x, реализованные в двух крупных обновлениях. Последней версией в линейке 1.x стал phpBB 1.4.4, выпущенный 6 ноября 2001 года. За время существования серии 1.x к команде присоединились Барт ван Брагт, Пол С. Оуэн (бывший со-руководитель проекта), Джонатан Хаас и Фрэнк Файнгольд. Поддержка phpBB 1.x прекращена, и практически на веб-сайтах он больше не используется.

phpBB 3.0.x (полное обновление)

Работа над phpBB 3.0.x началась в конце 2002 года. Изначально планировалось выпустить её как phpBB 2.2, и первый запланированный список функций был объявлен 25 мая 2003 года. Однако по мере разработки разработчики осознали, что phpBB 2.1.x (цикл разработки для 2.2) практически полностью исключил совместимость с веткой 2.0.x, поэтому номер версии для релиза был изменен на 3.0.0, в соответствии со схемой версионирования ядра Linux, которой в то время следовал phpBB. В сентябре 2005 года Пол Оуэн ушел в отставку с поста руководителя команды разработчиков, а Мейк Сивертсен был повышен до этой должности. В марте 2007 года команда phpBB запустила свой новый веб-сайт, работающий на phpBB3 с новым стилем ProSilver. Изначально не планировалось раскрывать стиль ProSilver до финального релиза phpBB 3.0.0. 30 апреля 2007 года основатель и соруководитель проекта phpBB Джеймс Аткинсон официально подал в отставку по личным обстоятельствам. Вместе с этим объявлением было сообщено, что phpBB вновь становится независимым, и руководители команды будут коллективно принимать решения относительно будущего проекта. В конце мая было объявлено, что Джонатан "SHS`" Стэнли, другой соруководитель проекта, также уходит в отставку по личным причинам. Первая бета-версия phpBB3 была выпущена в июне 2006 года, а первый релиз-кандидат – в мае 2007 года. В сентябре кодовая база phpBB3 прошла внешний аудит безопасности, проведенный компанией SektionEins. Наконец, phpBB 3.0.0 "Олимп" (также известный как Gold release) был опубликован 13 декабря 2007 года. 7 июля 2007 года команды объявили, что phpBB был номинирован на премию SourceForge.net Community Choice Awards в категории "Лучший проект для коммуникаций". В конце месяца SourceForge.net объявил, что phpBB выиграл награду "Лучший проект для коммуникаций", и в честь этого SourceForge.net пожертвовал 1000 долларов от имени phpBB в фонд Marie Curie Cancer Care. phpBB также получил "Thingamagoop" от Bleep Labs и "право хвастаться в течение года". В сентябре 2007 года команды запустили официальный подкаст phpBB. Он записывался группой членов команды phpBB с периодическими гостями и обсуждал различные темы, связанные с phpBB, а также отвечал на вопросы слушателей, присылаемые по электронной почте. Однако подкаст просуществовал всего несколько эпизодов, и производство было прекращено следующей весной. Его преемником обычно считается новый веб-блог phpBB, запущенный в июле 2008 года. Блог написан членами команды phpBB (иногда с гостевыми постами от членов сообщества) на различные темы, связанные с phpBB, и предоставляет пользователям уникальный взгляд на деятельность команд phpBB. Команды phpBB провели свою первую конференцию пользователей phpBB в Лондоне 20 июля 2008 года под названием "Londonvasion 2008". Londonvasion включала презентации членов команды phpBB по различным темам, важным для сообщества phpBB, авторов MOD и разработчиков. Londonvasion предоставила уникальную возможность пообщаться с членами команды phpBB. Это было первое событие, на котором большинство членов команд смогли встретиться лично. В 2009 году команды phpBB претерпели многочисленные изменения. 1 января команды официально прекратили поддержку phpBB2. Многие команды, не занимающиеся разработкой, выпустили бета-версии и релиз-кандидаты побочных проектов в течение этого времени. Первая бета-версия AutoMOD, автоматического установщика MODifications для phpBB, была выпущена командой расширений (ранее известной как MOD Team) 22 декабря 2008 года. Первый релиз-кандидат Unified MOD Install Library (UMIL), фреймворка для разработки простых скриптов установки баз данных, был выпущен командой расширений 12 января 2009 года. Первый релиз-кандидат Support Toolkit, пакета инструментов для диагностики и исправления распространенных проблем, связанных с поддержкой phpBB, был выпущен командой поддержки 24 июня. 10 июня 2009 года команда разработчиков phpBB отошла от своей практики сохранения планов будущей разработки в секрете и публично представила ряд новых функций, которые появятся в phpBB 3.0.6. После четырех релизов RC, phpBB 3.0.6 был выпущен 17 ноября. Наиболее заметными новыми функциями были: минималистичный редактор быстрых ответов (функция, которой команды исторически решительно противились), поддержка плагинов ACM (кэша), поддержка ATOM feed и система CAPTCHA на основе плагинов, включая встроенную поддержку reCAPTCHA и другие. Модуляризация CAPTCHA phpBB также предоставила API для авторов MOD для написания плагинов CAPTCHA, что позволило разнообразить CAPTCHA, используемые в установках phpBB. Команда расширений также провела конкурс для стимулирования разработки плагинов CAPTCHA. 10 июня 2009 года команда разработчиков phpBB сообщила, что следующий релиз phpBB3, 3.0.6, будет включать значительное количество новых функций. Это необычно для минорного релиза, который обычно ограничивается исправлениями ошибок и безопасностью. Новые функции включали поддержку новых плагинов CAPTCHA, ATOM feed, поддержку новых плагинов кэша (XCache, Alternative PHP Cache, eAccelerator, Memcache и "null" плагин без кэша) и быстрые ответы (часто запрашиваемая функция частью пользователей phpBB) и другие незначительные дополнения. phpBB 3.0.6 имел четыре релиз-кандидата, а его финальный релиз состоялся 17 ноября 2009 года. Последним стабильным релизом phpBB 3.0 был 3.0.14, выпущенный 4 мая 2015 года. Поддержка phpBB 3.0.x была прекращена в ноябре 2015 года.

phpBB 3.1.x

В 2009 году команда разработчиков phpBB начала работу над phpBB 3.1, ранее известной как phpBB 3.2. (До 29 июля 2009 года phpBB следовала оригинальной схеме версионирования ядра Linux, в которой средний номер обозначал версию разработки, если он нечетный, и стабильную версию, если он четный). Разработчики представили запланированный список функций на Londonvasion, и новые возможности включали полную переработку панели управления модератором (MCP) и функциональности модерации, внедрение AJAX там, где это уместно и полезно, систему событий на основе триггеров, полностью переписанную систему BBCode, поддержку RSS-каналов, улучшения в пользовательских полях профиля, улучшения в личных сообщениях, новую систему аутентификации с поддержкой OpenID и множество других небольших изменений и дополнений. Команды phpBB поддерживают веб-сайт для разработки phpBB под названием Area51. В соответствии с традицией называть каждый новый релиз phpBB3 в честь марсианских гор, phpBB 3.1 получила кодовое имя "Аскрей", названное в честь Аскрейского Монса, второй по высоте горы на Марсе. (Олимп Монс, в честь которого был назван 3.0, является самой высокой горой.) 29 июля 2009 года команда разработчиков объявила о "значительных изменениях" в процессе разработки и цикле выпуска phpBB. Главным изменением стало решение отказаться от прежней схемы версионирования ядра Linux, что означало, что четность или нечетность части номера версии больше не имеет значения. Таким образом, Ascraeus (преемник 3.0.0 Olympus) станет phpBB 3.1.0. (Оригинальная схема версионирования предполагала, что 3.1.x будет веткой разработки, а значит, Ascraeus был бы выпущен как 3.2.0.) Последующие релизы с новыми функциями phpBB3 будут версиями 3.2.0, 3.3.0 и т.д. phpBB 4.0.0 представит собой принципиально переработанную версию phpBB. Эта стратегия также обязывала команды продолжать поддерживать старую "стабильную" ветвь не менее 6–9 месяцев после выпуска новой "функциональной" ветви. Однако исключение было сделано для версии 3.0.6, которая уже находилась в разработке. Хотя она содержала достаточно значительных новых функций, которые могли бы быть учтены при выпуске 3.1.0, она осталась частью ветви 3.0.x, что также означало, что командам не нужно было одновременно поддерживать 3.0.5 после выпуска 3.0.6. В январе 2010 года Мейк Сивертсен ушел с должности ведущего разработчика, заняв вместо этого должности разработчика и "менеджера сервера". Нильс Адерман был повышен до ведущего разработчика. С тех пор phpBB работает над переходом на веб-фреймворк Symfony и выпустила phpBB 3.1.0 28 октября 2014 года. В марте 2010 года phpBB перешла на систему контроля версий Git вместо Subversion, чтобы улучшить рабочий процесс разработчиков и более активно вовлекать сообщество. 26 апреля 2013 года phpBB 3.1 перешла в стадию заморозки функций. "Аскрей" был завершен и выпущен 28 октября 2014 года.

12 октября 2016 года phpBB выпустила последнюю стабильную версию "Аскрей": 3.1.10. В связи с поздним выпуском версии 3.2 было объявлено, что срок поддержки версии 3.1 будет продлен до июня 2017 года, а срок жизни версии 3.1 – до декабря 2017 года. Второе объявление было сделано 9 декабря 2016 года. 25 декабря 2016 года было объявлено, что официальный запуск phpBB 3.2.0 состоится 7 января 2017 года. 6 января 2020 года phpBB официально выпустила phpBB 3.3.0. Она построена на базе 3.2 "Рея" и является важным шагом к более современной кодовой базе с сохранением четкого пути обновления. С 2021 года, начиная с версии 3.3.3, phpBB поддерживает PHP 8 и MySQL 8.

МОД

MOD – это модификации кода, созданные сообществом phpBB, которые часто используются для расширения функциональности или изменения внешнего вида phpBB. Этот термин пишется с заглавной буквы, чтобы отличать модификации кода от модераторов форума, которые часто обозначаются как "моды". Такие модификации не разрабатываются командой phpBB и не имеют такой же поддержки, как официальный, неизмененный код. Команда расширений phpBB (ранее известная как команда phpBB MOD), возглавляемая Дэвидом Колоном (известным в сообществе как DavidIQ), принимает модификации из источников сообщества для проверки, и те, которые соответствуют стандартам команды расширений, становятся доступными для загрузки из базы данных настроек phpBB. Другие сайты также предлагают для скачивания модификации для phpBB2 и phpBB3. Некоторые из этих сайтов имеют собственные стандарты, которым они соответствуют, а другие не проводят никакой проверки. Однако команды phpBB не оказывают поддержку форумам, использующим MOD, загруженные с сайтов, отличных от phpBB.com. Документация по модификации phpBB3 предоставляется командой расширений. MOD больше не принимаются для версии 3.1.x phpBB, поскольку их заменили расширения, начиная с этой версии.

MODX

MODX — это XML-формат документа, разработанный командой phpBB Extensions Team, который используется для описания шагов, необходимых для изменения исходного кода веб-приложения с целью установки модификации. Хотя теоретически его можно использовать для любого веб-приложения, он был разработан для и в основном используется для MOD-ов phpBB. Команда расширений phpBB требует, чтобы MOD-ы, представленные в её базу данных, соответствовали спецификациям MODX и другим правилам. Основная цель использования формата на основе XML — облегчить автоматическим инструментам установки, таким как AutoMOD, чтение и выполнение инструкций по установке. Файлы MODX можно просматривать в веб-браузере с помощью прилагаемого XSLT-файла. Последняя редакция спецификации MODX — 1.2.6, выпущенная 15 декабря 2012 года.

Автомодификация

AutoMOD — это инструмент, разработанный командой расширений phpBB, который разбирает и автоматически устанавливает MOD-файлы для phpBB3, распространяемые в формате MODX. Пользователям достаточно загрузить содержимое скачанного MOD в корневой каталог phpBB и запустить AutoMOD, который проанализирует инструкции MOD и внесет необходимые изменения в файлы. В зависимости от конфигурации сервера, AutoMOD либо автоматически применит изменения с помощью FTP, либо создаст сжатый архив измененных файлов, который пользователь сможет скопировать в нужную директорию. AutoMOD также используется членами команды MOD при проверке, чтобы убедиться в корректности файлов MODX и возможности успешной установки MOD на чистую установку phpBB. Текущая версия AutoMOD — 1.0.2. Скачать AutoMOD можно со страницы информации о нем, а получить поддержку — на форуме поддержки AutoMOD. AutoMOD является преемником EasyMOD — инструмента для phpBB2, также разработанного командой расширений phpBB, который выполнял аналогичную задачу. Последняя версия EasyMOD — 0.4.0, выпущенная 30 июня 2008 года. Поддержка EasyMOD больше не предоставляется, поскольку phpBB2 больше не поддерживается.

Единая библиотека MOD (UMIL)

Unified MOD Installation Library – это библиотека, разработанная для упрощения установки и удаления компонентов MOD, связанных с базой данных. Она предназначена для настройки форума под новый MOD, выполнения операций с базой данных, таких как добавление и удаление таблиц и столбцов, а также очистки кэша форума. UMIL распространяется под лицензией GPL. Скачать её можно со страницы UMIL. Для автоматического создания UMI-файла автор MOD может использовать инструмент создания Unified MOD Installation File.

Безопасность

В декабре 2004 года большое количество веб-сайтов было взломано червём Santy, который использовал уязвимости в устаревших версиях phpBB2 для перезаписи PHP и HTML-страниц. Хотя это было связано с использованием устаревших версий PHP и phpBB, подобные инциденты вызвали сомнения в безопасности phpBB. Несколько раз новые релизы phpBB выходили с интервалом в несколько дней, в последний раз это произошло с версией 3.2.7 в мае 2019 года. Однако команда phpBB обычно оперативно реагирует на сообщения об уязвимостях и выпускает новые версии в кратчайшие сроки. Группа phpBB, стремясь извлечь уроки из прошлых ошибок, провела аудит безопасности кодовой базы перед выпуском версии 2.0.18. Кодовая база phpBB3 прошла внешний аудит безопасности в сентябре 2007 года, который был выполнен компанией SektionEins. Шестой релиз-кандидат phpBB3 был опубликован по результатам аудита безопасности. В ноябре 2005 года группа phpBB объявила о создании новой группы по расследованию инцидентов (IIT) – подразделения группы поддержки, отвечающего за помощь пользователям в очистке и восстановлении взломанных установок phpBB и расследовании сообщений о новых эксплойтах. В январе следующего года команда объявила о запуске трекера, где администраторы взломанных форумов могли сообщать об атаках и получать поддержку от IIT. Система CAPTCHA в phpBB2 оказалась уязвимой для автоматической регистрации, в результате чего множество форумов на базе phpBB были захламлены спамом. phpBB3 улучшил возможности защиты от спама, предоставляемые администраторам форума, включая новую систему CAPTCHA, блокировки пользователей, ведение журнала действий пользователей и другие функции. Команда phpBB опубликовала рекомендации по защите форумов от спама. В настоящее время наиболее эффективным методом является использование Q&A (вопрос-ответ) – системы, которая была внедрена в phpBB 3.0.6. phpBB3 имеет значительно более надежную систему CAPTCHA, однако в процессе разработки и бета-тестирования она часто подвергалась критике за сложность распознавания. Команда разработчиков работала над улучшением её читаемости перед финальным релизом phpBB3. Кроме того, команды объявили, что каждый минорный релиз phpBB3 (3.0.1, 3.0.2 и т.д.) будет предваряться отдельными релиз-кандидатами, чтобы избежать ситуаций, когда последующие релизы выходили с интервалом в несколько дней (как это случалось несколько раз в линейке 2.0.x). phpBB 3 уведомляет администратора о новых версиях через панель управления.

Сообщество phpBB

phpBB имеет сообщество пользователей, которые вносят вклад в развитие проекта, создавая расширения, модификации и стили. Они также оказывают дополнительную поддержку, помогая команде поддержки phpBB. Пользователям сообщества рекомендуется участвовать в решении вопросов поддержки и вносить свой вклад в улучшение основного кода phpBB.