PhpBB
phpBB — это программный пакет для организации веб-форумов, написанный на языке PHP. Название «phpBB» является аббревиатурой от «PHP Bulletin Board». Распространяется под лицензией GNU General Public License и является свободным программным обеспечением с открытым исходным кодом[3].
Среди возможностей phpBB — поддержка различных СУБД (MariaDB, Microsoft SQL Server, MySQL, PostgreSQL, SQLite, Oracle Database), плоская структура сообщений (в отличие от древовидной), иерархия подфорумов, разделение/слияние/блокировка тем, пользовательские группы, несколько вложений в одном сообщении, полнотекстовый поиск, подключаемые модули и различные варианты уведомлений (по электронной почте, через Jabber, ATOM-ленты)[4].[5]
Что важно знать
| phpBB | |
|---|---|
| Тип | Интернет-форум |
| Разработчик | phpBB Limited |
| Написана на | PHP |
| Операционные системы | Microsoft Windows и Unix-подобная операционная система |
| Языки интерфейса | 54 языка, включая американский английский, арабский, аргентинский испанский, баскский, белорусский, бразильский португальский, британский английский, болгарский, каталонский, хорватский, чешский, датский, нидерландский, эстонский, финский, французский, гэльский, галисийский, немецкий, греческий, иврит, венгерский, индонезийский, итальянский, японский, курдский, литовский, македонский, китайский, мексиканский испанский, норвежский, персидский, польский, португальский, румынский, русский, сербский, словацкий, словенский, испанский, шведский, татарский, тайский, турецкий, украинский, урду, вьетнамский[1] |
| Первый выпуск | 16 декабря 2000 |
| Последняя версия | |
| Репозиторий | github.com/phpbb/phpbb |
| Лицензия | GNU General Public License версии 2 |
| Сайт | phpbb.com |
История
phpBB был основан Джеймсом Аткинсоном как простой форум в стиле UBB для его собственного сайта 17 июня 2000 года. После переноса исходного кода phpBB в SourceForge.net к команде присоединились Натан Коддинг и Джон Абела, после чего началась работа над версией 1.0.0. Рабочая тестовая версия стала доступна в июле[6].
phpBB 1.0.0 был выпущен 16 декабря 2000 года[7], затем вышли ещё две крупные версии линейки 1.x. Последний релиз этой серии, phpBB 1.4.4, опубликован 6 ноября 2001 года. В ходе развития версии 1.x в команду вошли Барт ван Брагт, Пол С. Оуэн (бывший со-менеджер проекта), Джонатан Хаазе и Фрэнк Фейнголд. Поддержка phpBB 1.x прекращена, и практически ни один сайт более не использует его.
В феврале 2001 года началась разработка phpBB 2.0.x полностью с нуля; проект начал превосходить по масштабам исходную кодовую базу. К команде вскоре присоединился Дуг Келли. После года разработки и тестирования phpBB 2.0.0 («Super Furry») был выпущен 4 апреля 2002 года[8].
phpBB2 был предшественником третьей версии. Исходный код был рассчитан на работу под PHP 3.0 и 4.0 (начиная с версии 2.0.13 — минимум PHP 4.0.3), а к моменту релиза phpBB3 в конце 2007 года разработчики сочли, что код не соответствует современным стандартам, и скоро после выхода 3.0.0 объявили о прекращении поддержки 2.0.x[9]. phpBB2 официально не поддерживал PHP 5. Некоторые пользователи запускали форум на PHP 5 с изменениями настроек, однако поддержка такой конфигурации не оказывалась[10].
Официальная поддержка phpBB2 завершилась 1 января 2009 года[11], а форумы поддержки закрыты. Разработка (включая устранение уязвимостей) прекращена 1 февраля 2009 года[9]. Тем не менее, появились неофициальные сайты поддержки.
Многие администраторы предпочитали phpBB2 из-за простой панели администрирования и обилия пользовательских модификаций (MODs) и стилей. Некоторые продолжали использовать phpBB2 из-за несовместимости установленных модификаций с phpBB3.
Тема по умолчанию для phpBB2 — subSilver (предшественник SubSilver2 в phpBB3), разработанная Томом «subBlue» Беддардом. В 2001 году эта тема была революционной для форумов и оказала влияние на дизайн многих подобных платформ.
К основным функциям phpBB2 относились:
- Cистема шаблонов, упрощающая кастомизацию и отделяющая PHP-код от HTML;
- Механизм языковых пакетов для поддержки переводов (на 2007 год — доступен на 48 языках)[12];
- Совместимость с различными СУБД: MySQL, PostgreSQL, Microsoft SQL Server, Microsoft Access;
- Модификации (MODs) и стили для расширения функциональности и настройки интерфейса.
Последний официальный релиз серии 2.0.x — 2.0.23 (17 февраля 2008 года)[13]. Код версии 2.0.24 остался в репозитории, но не публиковался.
Работы над phpBB 3.0.x начались в конце 2002 года. Изначально версия планировалась как phpBB 2.2, а первый список функций опубликован 25 мая 2003 года[14]. В процессе разработки выяснилось, что совместимость с 2.0.x утрачен — версию переименовали в 3.0.0 по аналогии с версионированием ядра Linux[15]. В сентябре 2005 года Пол Оуэн ушёл с поста руководителя разработки, ему на смену назначен Мейк Зивертсен.
В марте 2007 года команда phpBB запустила новый сайт на базе phpBB3 и стиля prosilver[16]. Прототип стиля prosilver предполагалось показать только к полноценному релизу phpBB 3.0.0.
30 апреля 2007 года основатель и руководитель проекта Джеймс Аткинсон официально заявил об уходе, причиной послужили личные обстоятельства. Было объявлено о независимости phpBB и коллективном управлении со стороны лидеров команд. В конце мая своё решение о сложении полномочий объявил и второй руководитель проекта — Джонатан «SHS`» Стэнли.
Первая бета phpBB3 вышла в июне 2006 года[17], первый релиз-кандидат — в мае 2007 года[18]. В сентябре был проведён внешний аудит безопасности кода компанией SektionEins[19]. Финальный релиз phpBB 3.0.0 «Olympus» («Gold release») опубликован 13 декабря 2007 года[20].[21]
7 июля 2007 года проект phpBB вошёл в число финалистов премии SourceForge.net Community Choice Awards в номинации «Лучший коммуникационный проект»[22] и победил в ней, а SourceForge.net от имени phpBB пожертвовал 1000 долларов в фонд Marie Curie Cancer Care[23].[24]
В сентябре 2007 года команды phpBB запустили официальный подкаст. Он записывался основными участниками с приглашёнными гостями и освещал жизнедеятельность и новости проекта[25]. Подкаст длился несколько выпусков и был свёрнут весной следующего года, а его преемником стал корпоративный блог (запущен в июле 2008 года)[26].
В июле 2008 года прошла первая встреча пользователей phpBB — конференция «Londonvasion 2008» в Лондоне[27].
В 2009 году была прекращена официальная поддержка phpBB2[28]. Появлялись утилиты для автоматической установки модификаций (AutoMOD[29]), библиотека UMIL[30], Support Toolkit[31] и др.
10 июня 2009 года команда анонсировала набор новых функций для phpBB 3.0.6[32]. В числе наиболее заметных новшеств — редактор быстрого ответа, поддержка плагинов кеша ACM, ATOM, новых CAPTCHA (включая reCAPTCHA) и API для написания своих плагинов. Итоговая версия 3.0.6 вышла 17 ноября[33]. Последний стабильный релиз ветки 3.0 — 3.0.14, 4 мая 2015 года[34]. Конец поддержки — ноябрь 2015 года[35].
В 2009 году началась работа над phpBB 3.1 (ранее планировалась как 3.2). До 29 июля 2009 года использовалась схема версионирования ядра Linux, где нечётные номера были разработческими ветками[36]. Среди новшеств — переработка панели модераторов, применение AJAX, событийная система, новая реализация BBCode, поддержка RSS, доработки профиля и личных сообщений, новый механизм аутентификации (OpenID и др). Сайт технической разработки — Area51. Ветке 3.1 было присвоено кодовое имя «Ascraeus» (по горе Аскраeus Монс на Марсе).
29 июля 2009 года команда объявила о смене схемы версионирования: отныне версии 3.1, 3.2, 3.3 будут стабильными, а 4.0 — проектом с фундаментально изменённой архитектурой[37]. После ухода в январе 2010 года Мейка Зивертсена, руководителем разработки стал Нильс Аддерман[38]. Форум перешёл на Symfony, исходные коды начали поддерживаться в Git[39].
«Feature freeze» для версии 3.1 наступил 26 апреля 2013 года[40]. Релиз 3.1.0 (Ascraeus) состоялся 28 октября 2014 года[41]. Последний стабильный релиз этой ветки 3.1.10 вышел 12 октября 2016 года[42], поддержка ветки завершалась позже обычного, в декабре 2017 года[43].
Первые релиз-кандидаты phpBB 3.2 «Rhea» вышли 27 июня и 9 декабря 2016 года[44].[45] Финальный релиз phpBB 3.2.0 — 7 января 2017 года[43] Новшества — переработанный установщик с поддержкой CLI, расширенная поддержка BBCode (цитаты, эмодзи), совместимость с PHP 7.1.
Первый релиз-кандидат phpBB 3.3 «Proteus» вышел 23 декабря 2019 года,[46]. официальный выпуск 3.3.0 — 6 января 2020 года[47]. Ветка 3.3 унаследовала достижения 3.2 «Rhea» и приблизила форум к современным IT-стандартам, одновременно сохранив постепенность обновления. С версии 3.3.3 поддерживаются PHP 8 и MySQL 8. Новые выпуски сосредоточены на повышении стабильности и улучшении пользовательского интерфейса[48].
MODs
MODs — это модификации кода, создаваемые сообществом phpBB для расширения функциональности или изменения внешнего вида форума. MODы не разрабатываются основной командой phpBB и официально не поддерживаются. Команда расширений (Extensions Team, ранее MOD Team) во главе с Давидом Колоном (DavidIQ) проверяет и принимает сторонние модификации, которые попадают в базу phpBB Customisations Database. Существуют и сторонние сайты с модификациями для phpBB2/3, однако поддержка для них официально не предоставляется.
Документацию по созданию модификаций для phpBB3 готовит команда расширений. Для ветки 3.1.x и новее больше не принимаются традиционные MODы, их сменили расширения (Extensions).
MODX — это XML-формат, разработанный командой расширений phpBB для описания шагов установки модификаций в исходный код веб-приложения[49]. Его цель — автоматизация установки через инструменты наподобие AutoMOD. Современная версия спецификации — 1.2.6, от 15 декабря 2012 года[50].
AutoMOD — утилита для автоматизированной установки MODов в формате MODX. Пользователь копирует файлы в корень phpBB и запускает AutoMOD, который обновляет необходимые файлы либо автоматически (через FTP), либо собирает архив с изменениями для ручной установки[51]. Последняя версия AutoMOD — 1.0.2[52].
AutoMOD сменил EasyMOD — инструмент для phpBB2 с аналогичной функцией. Поддержка EasyMOD прекращена[53].
Unified MOD Installation Library — библиотека для упрощённой установки и удаления изменений в базе данных, связанных с модификациями[54]. Позволяет добавлять/удалять таблицы и колонки, чистить кеш. Последняя версия — 1.0.5[55]. Генератор установочных файлов доступен на сайте phpBB[56].
Безопасность
В декабре 2004 года большое число сайтов с phpBB2 было взломано червём Santy, который использовал уязвимости устаревших версий phpBB2 для подмены PHP- и HTML-страниц[57]. Иногда новые релизы phpBB выходили с интервалом в несколько дней, как, например, версия 3.2.7 в мае 2019 года[58]. После критических уязвимостей для версий 2.x был проведён полный аудит кода перед выпуском 2.0.18[59]. Для phpBB3 внешний аудит проводила компания SektionEins в 2007 году[60]. Шестой релиз-кандидат phpBB3 вышел после устранения найденных уязвимостей[19].
В phpBB2 была реализована система повторной аутентификации для панели администратора, заимствованная из phpBB3, после того как из-за проблемы с проверкой cookie злоумышленники могли получить права администратора[61].
В ноябре 2005 года создана команда Incident Investigation Team (IIT) для помощи в ликвидации последствий атак на форумы phpBB. Команда открыла трекер для сбора информации о взломах и поддержки пострадавших администраторов.
CAPTCHA в phpBB2 оказалась уязвимой для автоматических регистраций, и форумы начали страдать от спама. В phpBB3 существенно расширены антиспам-защита, учёт событий и дополнительные опции — например, появилась система Q&A (опрос перед регистрацией), добавленная в 3.0.6[62]. Команда выпустила рекомендации для борьбы со спамом[63]. В более новых версиях CAPTCHA стала более эффективной, но подвергалась критике за сложность чтения[64]. Команда работает над её улучшением.
Каждый минорный релиз phpBB3 сопровождается одним или несколькими релиз-кандидатами для минимизации срочных обновлений[65]. В панель администратора встроено оповещение о выходе новых релизов.
Сообщество phpBB
У phpBB существует активное сообщество пользователей, которые разрабатывают расширения, модификации (MODs) и стили оформления. Они оказывают поддержку в рамках сообщества, а также способствуют развитию основной команды, участвуя в тестировании, поддержке и совершенствовании phpBB.
Примечания
Литература
- Douglass, Robert T., Mike Little, Jared W. Smith. Building Online Communities With Drupal, phpBB, and WordPress. Apress, 2005. ISBN 1-59059-562-9
- Stefanov Stoyan, Jeremy Rogers, Mike Lothar. Building Online Communities with phpBB 2. Packt Publishing, 2005. ISBN 1-904811-13-2
- Stefanov, Stoyan, Jeremy Rogers. phpBB: A User Guide. Packt Publishing, 2006. ISBN 1-904811-91-4


