|
Изначально статья писалась для 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/ или что-то в этом роде. И ни в коем случае не используйте символ подчёркивания в адресе сайта – будут проблемы с куками. |