Darkick Статьи Программирование Интеграция Joomla! 1.5 и phpBB 3 через RokBridge
Баннер
Рейтинг@Mail.ru
Интеграция Joomla! 1.5 и phpBB 3 через RokBridge Печать
Рейтинг пользователей: / 22
ХудшийЛучший 
Программирование
14.05.2009 22:58

Изначально статья писалась для Joomlaforum.ru, но решил разместить и здесь тоже.

Введение

Интеграция сайта и форума – весьма актуальный и многострадальный вопрос, волнующий очень многих сайтодержателей на Joomla. Такая интеграция осуществляется с помощью, так называемых, мостов. Мост обеспечивает связь между сайтом и форумом.

В данной статье рассматривается интеграция сайта на CMS Joomla! 1.5 с форумом phpBB 3 с помощью компонента RokBridge. Данная интеграция осуществляет интеграцию пользователей сайта и форума, что подразумевает под собой:

  • единые имя пользователя и пароль на сайте и форуме;
  • единая авторизация: залогинившись на сайте – автоматически логинишься на форуме, и наоборот.

Остальные задачи: визуальная интеграция и т.п. – это уже совсем другая история и здесь не рассматриваются.

Особенности RokBridge

Для лучшего понимания и выбора дальнейшего плана действий следует описать некоторые особенности моста RokBridge.

Форум должен быть установлен в каталог, находящийся в корне Joomla. Также в корне Joomla впоследствии будет создан каталог с мостом RokBridge. После интеграции вы сможете обращаться к форуму двумя способами (по двум путям):

  • через каталог форума;
  • через каталог моста.

Оба варианта функционально идентичны. Если обращаться через каталог моста и настроить .htaccess, то можно подключить внутренний SEF от RokBridge для форума (как будут выглядеть ссылки в форуме в таком случае можно посмотреть на форуме ТалицаРушников).

Именно поэтому компонент по умолчанию предлагает странные на первый взгляд пути для установки: distribution – для форума и forum – для моста. Он предполагает, что вы будете пользоваться путём forum для доступа к форуму.

Установка

Итак, начнём.

Подразумеваем, что Joomla! у нас уже установлена (на данный момент 1.5.10).

Установка phpBB 3

Внутрь каталога с Joomla устанавливаем форум phpBB 3 (на данный момент 3.0.4). По умолчанию настройки компонента предполагают, что форум устанавливается в каталог distribution; но вы можете установить в другой каталог (в любом случае советую использовать символы в нижнем регистре – меньше шанса напороться на ошибку).

Выбор базы данных, в которую будут установлены таблицы форума остаётся на вашем усмотрении, т.к. RokBridge не требует устанавливать сайт и форум в одну базу – они могут прекрасно работать в разных.

Во время установки форума советую выполнить настройку администратора идентично администратору сайта, т.е. задать такие же логин, e-mail и пароль.

Форум установлен и настроен, идём дальше.

Если у вас уже давно имеется сайт или форум с контентом и пользователями, то переживать тоже не стоит – можно подключить уже готовый форум к уже готовому сайту обеспечив совместимость путей. Правда не будет решён вопрос единовременной миграции всех пользователей, но работе это мешать не должно.

Установка RokBridge

Скачиваем последнюю версию (1.0rc9) компонента RokBridge с сайта автора (либо берём русифицированный вариант). Устанавливаем его через менеджер расширений Joomla! Вместе с компонентом автоматически устанавливаются 2 плагина: Authentication – phpBB3 и User – phpBB3. Они будут обеспечивать синхронизацию и авторизацию пользователей.

Настройка

Настройка RokBridge

Заходим в настройки компонента RokBridge.

Устанавливаем в параметре Bridge Path имя каталога, в который мы хотим установить мост.

Устанавливаем в параметре phpBB3 Path имя каталога, в котором у нас уже установлен форум.

В обоих параметрах указываем просто имя каталога без всяких слэшей (по умолчанию forum и distribution).

Устанавливаем, по желанию, переключатели для SEF и автоматического входа ("запомнить меня").

Обязательно сохраняем настройки!!!

После этого в таблице RokBridge Status напротив пункта phpBB3 Bridge (Мост для phpBB3) нажмите Install (Установить). Если всё настроено верно, то в корне Джумлы будет создан каталог, указанный в параметре 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).

С форумом разобрались и можем возвращаться в Джумлу.

Настройка доступа

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

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


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


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

 
 

Расширения для Joomla! 1.5

Представляю свой новый проект: Darkick's Joomla! Extensions — расширения для Joomla! от Darkick'а.

На этом сайте я буду выставлять и поддерживать свои расширения для Joomla! 1.5, а также делиться прочими разработками и хаками. Сайт и форум англоязычные, но присутсвие русских приветствуется.

Видео уроки по продвижению сайта: оптимизация сайта.