ВведениеИнтеграция сайта и форума – весьма актуальный и многострадальный вопрос, волнующий очень многих сайтодержателей на Joomla. Такая интеграция осуществляется с помощью, так называемых, мостов.
Мост обеспечивает связь между сайтом и форумом.
В данной статье рассматривается интеграция сайта на
CMS Joomla! 1.5 с форумом
phpBB 3 с помощью компонента
RokBridge. Данная интеграция осуществляет
интеграцию пользователей сайта и форума, что подразумевает под собой:
- единые имя пользователя и пароль на сайте и форуме;
- единая авторизация: залогинившись на сайте – автоматически логинишься на форуме, и наоборот.
Остальные задачи: визуальная интеграция и т.п. – это уже совсем другая история и здесь не рассматриваются.
Особенности RokBridgeДля лучшего понимания и выбора дальнейшего плана действий следует описать некоторые особенности моста RokBridge.
Форум должен быть установлен в каталог, находящийся в корне Joomla. Также в корне Joomla впоследствии будет создан каталог с мостом RokBridge. После интеграции вы сможете обращаться к форуму двумя способами (по двум путям):
- через каталог форума;
- через каталог моста.
Оба варианта функционально идентичны. Если обращаться через каталог моста и настроить .htaccess, то можно подключить внутренний SEF от RokBridge для форума (как будут выглядеть ссылки в форуме в таком случае можно посмотреть на
форуме ТалицаРушников).
Именно поэтому компонент по умолчанию предлагает странные на первый взгляд пути для установки:
distribution – для форума и
forum – для моста. Он предполагает, что вы будете пользоваться путём forum для доступа к форуму.
УстановкаИтак, начнём.
Подразумеваем, что
Joomla! у нас уже установлена (на данный момент 1.5.18).
Установка phpBB 3Внутрь каталога с Joomla устанавливаем форум
phpBB 3 (на данный момент 3.0.7-PL1). По умолчанию настройки компонента предполагают, что форум устанавливается в каталог distribution; но вы можете установить в другой каталог (в любом случае советую использовать символы в нижнем регистре – меньше шанса напороться на ошибку).
Выбор базы данных, в которую будут установлены таблицы форума остаётся на вашем усмотрении, т.к. RokBridge не требует устанавливать сайт и форум в одну базу – они могут прекрасно работать в разных.
Во время установки форума советую выполнить настройку администратора идентично администратору сайта, т.е. задать такие же логин, e-mail и пароль.

Форум установлен и настроен, идём дальше.
Если у вас уже давно имеется сайт или форум с контентом и пользователями, то переживать тоже не стоит – можно подключить уже готовый форум к уже готовому сайту обеспечив совместимость путей. Правда не будет решён вопрос единовременной миграции всех пользователей, но работе это мешать не должно.Установка RokBridgeСкачиваем последнюю версию (1.0rc12) компонента RokBridge с сайта автора (либо берём
русифицированный и исправленный мной вариант.
ВНИМАНИЕ! В официальной версии моста от рокетов (1.0rc12) имеется очень серьёзная уязвимость, которая может позволить захватить контроль над форумным аккаунтом. В моей модификации эта уязвимость устранена). Устанавливаем его через менеджер расширений Joomla! Вместе с компонентом автоматически устанавливаются 2 плагина:
Authentication – phpBB3 и
User – phpBB3. Они будут обеспечивать синхронизацию и авторизацию пользователей.
НастройкаНастройка RokBridgeЗаходим в настройки компонента RokBridge.
Устанавливаем в параметре
Bridge Path имя каталога, в который мы хотим установить мост.
Устанавливаем в параметре
phpBB3 Path имя каталога, в котором у нас уже установлен форум.
В обоих параметрах указываем просто имя каталога без всяких слэшей (по умолчанию forum и distribution).
Устанавливаем, по желанию, переключатели для SEF и автоматического входа ("запомнить меня").
Обязательно сохраняем настройки!
После этого в таблице RokBridge Status напротив пункта
phpBB3 Bridge (Мост для phpBB3) нажмите
Install (Установить). Если всё настроено верно, то в корне Joomla будет создан каталог, указанный в параметре Bridge Path и в него будут скопированы необходимые файлы.

Теперь напротив пункта
phpBB3 Authentication Plugin (Плагин аутентификации в форуме phpBB3) нажмите
Install (Установить). В каталог с форумом в его подкаталог
includes/auth будет скопирован файл
auth_joomla.php.

Устанавливаем патч для phpBB3 (
phpBB3 Patch). Этот патч устраняет ошибки в форуме phpBB3 для функций
Отметить все форумы как прочтённые и
Расширенный поиск. Устранение ошибки с расширенным поиском производится только для стиля
prosilver! Если вы используете другой стиль для форума, то исправьте её самостоятельно. Для этого откройте в файл
template/search_body.html и замените строку
<form method="get" на
<form method="post".

Основная работа с RokBridge на этом закончена. Убедитесь, что в Joomla активированы плагины
Authentication – phpBB3 и
User – phpBB3 и можно идти дальше.
Настройка форумаАвторизуемся на форуме стандартными средствами и переходим в администраторский раздел форума.

В разделе
Средства связи – Аутентификация выбираем в качестве метода аутентификации пункт
Joomla.

Проверяем
Настройки cookies форума: параметр
Домен cookie должен совпадать с адресом сайта, например
site.local.
Обычно phpBB3 лояльно относится к присутствию в адресе сайта домена 3-го уровня и авторизация должна успешно работать при обращении к сайту как по site.local так и по www.site.local.Имя cookie оставьте без изменения.
Путь cookie должен быть просто
/ (слэш).

Если вы решили работать с форумом через папку моста, то желательно в разделе
Настройки сервера настроить параметр
Путь к конференции, указав путь до каталога моста, предварив его слэшем (например
/forum), и включить переключатель
Принудительные настройки URL сервера.

Также желательно установить одинаковые длительности сессии на сайте и форуме. В Joomla время жизни сессии задаётся в минутах, в phpBB длительность сессии в секундах (умножаем минуты на 60).

С форумом разобрались и можем возвращаться в Joomla.
Настройка доступаЕсли вы решили использовать для работы с форумом каталог моста и опцию SEF Enabled, то следует модифицировать файл
.htaccess Joomla. Необходимо содержимое файла
htaccess.txt (который находится в архиве компонента), скопировать в файл
.htaccess в корне Joomla перед блоком кода
Joomla! Core SEF section. Также необходимо заменить в этом файле строки
forum на имя каталога, в который у вас установлен мост (если необходимо).

Теперь вы можете создать в меню пункт для ссылки на форум. Можно использовать компонент RokBridge, а можно просто сделать внешнюю ссылку на форум или мост.

После проделывания всей этой длительной работы нас должна ждать награда в виде работающей связки сайт-форум.
P.S.: Пару слов об установке на локальный веб-сервер для тестирования (
DENWER и т.п.). Я бы посоветовал не выбирать в качестве адреса сайта домен первого уровня (если так можно сказать), т.е. одно слово без точки, сымитируйте реальный адрес (лично я использую суффикс
.local). Например, используйте для работы адрес не просто
http://site/, а
http://site.local/ или что-то в этом роде. И ни в коем случае не используйте символ подчёркивания в адресе сайта – будут проблемы с куками.