Готовые решения. Форум phpBB

Готовые решения. Форум phpBB

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

Это действительно достаточно мощное решение, отличающееся хорошей масштабируемостью, гибкое в настройке и сравнительно несложное в эксплуатации. Все наиболее важные работы по обслуживанию производятся с помощью приятного web-интерфейса, что значительно упрощает данный процесс.
Написан пакет phpBB, как нетрудно догадаться, на языке PHP и поддерживает работы с такими СУБД, как MySQL, PostgreSQL, Ms SQL, Ms Access и другими с помощью ODBC. Так что, как видите, тут есть, из чего выбрать, — варианты на любой вкус и средства.

Будем исходить из того, что у вас уже имеется находящийся в работоспособном состоянии тестовый web-сервер, с помощью которого можно будет отработать некоторые стороны конфигурации форума перед его размещением в сети.
Загружать пакет phpBB мы будем с его официального сайта, который находится по адресу http://www.phpbb.com. Там же есть разделы с темами оформления и некоторым количеством дополнительных модов. Присутствует и раздел, содержащий несколько статей, посвященных тонкостям их создания.

Есть несколько вариантов установки phpBB 2.0.5. Это "чистая" установка в первый раз или апгрейд уже установленного phpBB версий 1.х.х, а также Release Candidate версий phpBB 2. Мы подробно остановимся на первом, так как остальные уже по определению подразумевают некоторый опыт работы с phpBB, вполне, по моему мнению, достаточный для перехода на новую версию. Если целью дальнейшей работы будет отладка пакета, то полученный архив необходимо распаковать в связанный с вашим тестовым web-сервером каталог. Если же вы уверены в работоспособности пакета и удовлетворены его характеристиками, то распакованные файлы можно сразу закачать в соответствующую директорию вашего проекта, находящуюся на реальном хостинге. Главное при этом не забыть сохранить названия и структуру каталогов phpBB. Все остальные действия производятся аналогично локальной тестовой установке.

Дальнейшая настройка производится с помощью соответствующего php-скрипта. Находится он в каталоге install и называется — в полном соответствии со своим назначением — install.php. В этом же каталоге расположены и файлы, предназначенные для осуществления перехода с более ранних версий.

Запускаем браузер и открываем адрес http://ваш_адрес/phpbb2/install/install.php . Здесь вы увидите форму, состоящую из трех секций, которую необходимо заполнить для того, чтобы программой была самостоятельно произведена дальнейшая настройка (Рис.1).

Вначале указывается версия MySQL, если вы работаете с данной СУБД, и метод установки. Опция выбора языка содержит пока только английский, с чем придется согласиться. Вторая секция заслуживает большего внимания. Здесь указываются параметры базы данных, с которой будет потом работать phpBB. Выбираем из списка нужный нам вариант СУБД, перечень которых соответствует уже приведенному выше, указываем имя базы данных и пользователя, имеющего право с ней работать. Желательно, чтобы данная база уже была к этому моменту создана. Если у вас еще нет этой базы, то теперь самое время исправить это досадное упущение. В случае использования MySQL запускаем ее в консольном режиме, создаем базу данных с необходимым именем, заводим пользователя и даем ему необходимые полномочия с помощью команды GRANT и соответствующих опций. Для этой цели можно также воспользоваться чем-нибудь в духе phpMyAdmin, создав базу данных и выполнив собственную SQL-команду. При использовании других СУБД поступайте сообразно их особенностям. Обратите внимание, что если работа будет вестись с СУБД, использование которых подразумевает функционирование ODBC, то нам еще понадобится заранее создать соответствующий системный DSN штатными средствами операционной системы.

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

Настало время заняться первичным администрированием форума. Для того чтобы получить доступ к консоли администратора, необходимо зайти под заданным ранее именем и паролем и перейти по расположенной в нижней части окна ссылке Go to Administration Panel.
Данный инструмент состоит из двух фреймов, один из которых содержит список доступных категорий настроек, а второй показывает опции выбранной категории. Посмотрим на левый фрейм. Самый первый раздел Administration содержит ссылки Admin Index, на которой можно посмотреть некоторую статистику форума и список присутствующих в данный момент на нем пользователей, Forum Index и Preview Forum отправят нас на стартовую страницу, причем во втором случае сохранится фрейм с навигацией.

Перейдем к разделу Forum Admin. Здесь можно изменить общую организацию форумов, их названия, описания и некоторые другие настройки. Прежде чем создавать реальный форум, попробуйте на первый раз поиграть с каким-нибудь тестовым. Это поможет вам определиться с необходимыми параметрами. Новый форум создается с помощью команды Create new forum подраздела Management. Необходимо дать ему имя, описание и ответить еще на некоторые вопросы программы. Подраздел Prune отвечает за удаление ненужных разделов форума. Есть возможность использовать опцию Auto-Pruning. Данная функция, будучи включенной, отслеживает наличие тем, на которые не было сообщений, и автоматически удаляет их через определенный промежуток времени, что позволяет экономить дисковое пространство и не загромождать форум ненужными записями.

Остановимся на определении прав доступа к форуму, для чего служит подраздел Permissions. Можно воспользоваться одним из семи предлагаемых уровней — от Public, который относится к анонимному пользователю и может только открывать темы и читать сообщения, до Moderators[Hidden], которым в разумных пределах позволено практически все.

В документации к phpBB соотношение изначально существующих групп пользователей и делегированных им полномочий представлено в виде таблицы.

Сделаем некоторые пояснения относительно встречавшихся там понятий и обозначений. Пакет phpBB предусматривает следующие типы полномочий:
1. View — пользователь может увидеть форум на стартовой странице;
2. Read — посетитель видит темы на форуме и может прочитать сообщения;
3. Post — пользователь может создать новую тему;
4. Reply — разрешается отправка своих сообщений на существующие темы;
5. Edit — правка принадлежащих данному пользователю сообщений. Если здесь будет установлено ALL, то любой анонимный посетитель сможет править все анонимные сообщения. Не думаю, что это будет нам полезно, поэтому делайте соответствующие выводы.

Теперь перечислим имеющиеся обозначения:
Delete — пользователь может удалить свое сообщение в случае, если на него не было ни одного ответа.
Sticky — возможность создавать так называемые sticky topics, которые всегда находятся наверху страницы просмотра форума. Это один из способов логического выделения важных тем. Еще более радикальная форма — Announcements, которые еще и появляются на каждой странице форума.
Vote и Poll create связаны с механизмом голосования, позволяющем оценить то или иное сообщение. Эта полезная функция придает форуму определенные черты самоорганизующейся системы.
ALL — все пользователи этого уровня, в том числе не прошедшие процедуру регистрации.
REG — все пользователи данного уровня, зарегистрированные и зашедшие под своим логином.
PRIVATE — пользователи, имеющие доступ к приватным сообщениям. Необходимо отметить, что этот уровень доступа должен быть хотя бы у одной группы пользователей.
MOD — модераторы со всеми присущими им полномочиями.
ADMIN — единственный полноправный администратор пакета phpBB в целом.

Переходим к панели General Admin. Там с помощью весьма важного подраздела Configuration можно изменять основные свойства форума.
Как минимум, вначале стоит прописать настройки Domain Name и Script Path, где надо указать путь к файлам phpBB относительно Domain Name. То есть если стартовая страница форума у вас находится по адресу ваш_адрес/phpbb2/index.php, то надо указать /phpbb2/. Для общей эстетики решения и дополнительного информирования посетителей также заполняются поля Site Name и Site Description, которые потом будут показаны на главной странице форума.
В этом подразделе есть еще достаточно много различных настроек, отвечающих за параметры cookie, обработку приватных посланий, использование в сообщениях эмотиконов (то есть смайликов), HTML и специального BBCode, определение параметров изображений-аватаров пользователей и некоторые другие. Большинство из них не отличаются сложностью и требуют минимальных усилий по конфигурированию — достаточно почитать их краткую характеристику, данную рядом с ними.

Отметим наличие подразделов Smiles и Word Censors. Первый позволяет работать со своими собственными эмотиконами, ну а с помощью второго можно попытаться заблокировать нежелательную лексику в сообщениях.
Наконец затронем еще один немаловажный момент: phpBB позволяет делать резервные копии своих баз данных с возможностью их сжатия и последующего восстановления. Эти операции производятся на вкладках Backup Database и Restore Database соответственно.
Раздел Group Admin предназначен для создания и администрирования сообществ пользователей. Каждой группе можно назначить собственных модераторов и параметры доступа.

Следующий раздел называется Styles Admin и отвечает за внешний вид нашего форума. Здесь можно добавить готовую схему, создать свою собственную с помощью специальной формы, содержащей перечень всех элементов форума, которым можно задать необходимые значения, подогнав их под общее цветовое решение сайта, а также экспортировать результаты своего дизайнерского труда. Обратите внимание, что обозначения цветов элементов указываются без начального "#" (Рис. 2). Подраздел Management показывает список имеющихся в системе стилей, которые можно открыть для редактирования или удалить.

Последний раздел под названием User Admin призван облегчить работу с пользователями, в частности принятие репрессивных мер к особенно неприятным субъектам, которых можно заблокировать по имени, IP-адресу, e-mail и другими способами на вкладке Ban Control. Более мирные задачи решаются с помощью соседних подразделов. Так, вкладка Management предоставляет полную информацию о выбранном пользователе, Disallow names контролирует формат возможных имен посетителей, Permissions дает возможность делегирования пользователю полномочий модератора применительно к имеющимся форумам.

Как уже говорилось, одной из важных характеристик подобных пакетов является их расширяемость в плане наличия дополнений и возможности изменять внешнее оформление. Форум phpBB в полной мере удовлетворяет этим требованиям. Как самому настроить внешний вид пакета, мы уже знаем, теперь попробуем воспользоваться сторонней разработкой. Скачав архив с избранным стилем, необходимо распаковать содержащуюся там папку, которая называется по имени стиля, в подкаталог templates каталога phpBB. При этом надо сохранить структуру вложенных в нее каталогов с файлами темы. Далее открываем стартовую страницу форума браузером, регистрируемся с правами администратора, переходим на Administrative Panel — Style Administration — Add. В списке должно появиться название добавленного нами стиля. Нажимаем Install и переходим на General Admin — Configuration. Там отмечаем новый стиль как Default Style. При следующем запуске стиль оформления изменится.
Следующим экспериментом над phpBB станет своеобразная локализация пакета — замена оригинального английского языка нашего phpBB на русский. Кстати говоря, такие пакеты доступны для множества национальных языков. Бывают также и наборы соответствующих изображений-кнопок на различных языках, предназначенные для многих стилей оформления. Архив такого дополнения для темы subSilver, являющейся стандартной для phpBB, можно загрузить с официального сайта phpBB Group.

Разархивированную папку lang_russian необходимо поместить в каталог language вашего форума. Теперь снова открываем General Admin — Configuration, где изменяем параметр Default language на Russian. Не забывайте, что каждому пользователю могут соответствовать собственные языковые настройки, поэтому переходим на подраздел User Admin — Management, находим запись администратора, где меняем необходимую опцию. Результат вы увидите при следующем запуске форума.

Осталась последняя проблема: текст на страницах форума у нас теперь русский, а вот кнопки как были англоязычными, так и остались, внося определенный диссонанс в оформление нашего проекта. Исправим это с помощью уже упомянутого дополнения к активному в данный момент стилю. Он должен иметь название типа "название_темы_язык.zip". Например, для subSilver это subSilver_russian.zip. В подобном архиве должна содержаться папка lang_russian, которая перемещается в подкаталог images каталога, в который была перед этим произведена установка соответствующей темы. Загружаем заново стартовую страницу форума и с удовлетворением отмечаем полную поддержку великого и могучего (Рис.3).

Итак, наше знакомство с пакетом phpBB состоялось. В результате мы за весьма небольшой промежуток времени получили мощный и симпатичный форум, который при этом достался нам совершенно бесплатно и легально. Скажем за это большое спасибо команде его разработчиков и пожелаем им дальнейших успехов в его совершенствовании.

Алексей Кутовенко, alteridem@tut.by


Компьютерная газета. Статья была опубликована в номере 32 за 2003 год в рубрике soft :: интернет

©1997-2024 Компьютерная газета