Реанимация форума 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');
};
Где:
$password пароль.
$email мыло(будет создан хеш для почты(мне хватило поправлять хеш пароля).
$phpbb_root_path путь к папке форума.