Реанимация форума phpBB после удаления RokBridge из joomla.

Все ниже следующие актуально для версий Joomla 1.24, RokBridge , phpBB 3.0.7

Суть проблемы: после удаления компонента RokBridge слетает авторизация на форуме phpBB. В начале нам надо вернуть метод авторизации с joomla на db. Это делается в таблице форума phpbb_config. Строка auth_method. Или sql:

UPDATE phpbb_config SET config_value='db' 
     WHERE config_name='auth_method'

Настроить cookies(кукисы ) в этой же таблице(понятно что значения сайта, пути у вас будут свои):

UPDATE phpbb_config SET config_value='/forum' 
    WHERE config_name='cookie_path';
UPDATE phpbb_config SET config_value='.localhost' 
    WHERE config_name='cookie_domain';

На всякий случай поправим путь к форуму, имя сервера в той же таблице:

UPDATE phpbb_config SET config_value='/forum' 
     WHERE config_name='script_path';
UPDATE phpbb_config SET config_value='localhost' 
     WHERE config_name='server_name';

Заменить содержимое в файле .htaccess, лежащем в корне папке с форумом, на:

<Files "config.php">
Order Allow,Deny
Deny from All
</Files>

<Files "common.php">
Order Allow,Deny
Deny from All
</Files>

Удалить из корня папки форума файл configuration.php. Очистить таблицы сессий:

Delete From phpbb_sessions;
Delete From phpbb_sessions_keys;

Очистить папку кеша форума, оставив там файлы .htaccess и index.htm(папка cache в корне форума).

Можно заглянуть в таблицу phpbb_users и проверить есть ли пароли у пользователей. Если надо скинуть/создать пароль на 123456 для пользователя следующим запросом(RealNMN заменить на имя своего пользователя):

UPDATE phpbb_users SET user_password='$H$9QP/tV0zhMGjVmfnjeJioSgF.S4GAl1' 
  WHERE username='RealNMN'

Или скинуть всем пользователям пароли на 123456 :

UPDATE phpbb_users SET user_password='$H$9QP/tV0zhMGjVmfnjeJioSgF.S4GAl1' 
  WHERE user_email<>''

Все теперь можно работать!

Если интересно "получить" хеши(hash) для своих паролей, то можно воспользоваться следующим php кодом, поправив под себя.

define('IN_PHPBB', true);
$password = '123456';
$email = 'test@test.ru';
$phpbb_root_path = './forum/';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);
$hash = phpbb_hash($password);
$email_hash = phpbb_email_hash($email);
echo "Pass $password hash:<br/>";
echo $hash;
echo "<br/>";
echo "E-mail $email hash:<br/>";
echo $email_hash;
echo "<br/>";
if (phpbb_check_hash($password, $hash))
{
   echo(' => $password matches $hash');
};

Где:

  1. $password пароль.

  2. $email мыло(будет создан хеш для почты(мне хватило поправлять хеш пароля).

  3. $phpbb_root_path путь к папке форума.

Примеры работ

Информация