Автор: smart
Со времени выхода Joomla 1.0 прошло больше 7 лет, но вопрос восстановления доступа к учетной записи суперадминистратора по-прежнему актуален. Что делать если забыл пароль заданный при первоначальной установке? Отличаются ли известные решения этой задачи в Joomla 1.0, от решений для Joomla 2.5?
Для начала сразу отмитим - со времен Joomla 1.0 изменений было много, и часть из них напрямую касается нашей проблемы. Во-первых если в Joomla 1.0 по умолчанию у первого суперадминистратора на сайте был идентификатор 62, то в Joomla 2.5 используется значение 42. Во-вторых поменялась ссылка на страницу восстановления пароля пользователя. В-третьих, по умолчанию, в Joomla 2.5 используется случайный префикс таблиц в базе данных, а в-четвертых немного изменился формат хранения паролей в базе данных (однако старый формат по-прежнему поддерживается). Итак, вернемся к способам решения задачи восстановления пароля суперадминистратора в Joomla 2.5:
Восстановление с помощью функции напоминания пароля
Если вы помните e-mail суперадминистратора, и можно зайти на сайт и воспользоваться функцией напоминания забытого пароля. Для этого нужно набрать в адресной строке браузера (вместо site.ru укажите адрес вашего сайта):
http://site.ru/index.php?option=com_users&view=reset
После этого ввести e-mail учетной записи суперадминистратора, и нажать кнопку «Отправить пароль». Новый пароль будет выслан на адрес учетной записи суперадминистратора.
Сброс пароля суперадминистратора с помощью SQL-запроса
Если же по некоторым причинам нет возможности восстановления пароля посредством функции напоминания забытого пароля, можно сбросить пароль администратора посредством SQL-запроса. Рекомендуем использовать phpMyAdmin.
Но прежде чем сбрасывать пароль мы должны узнать какой префикс таблиц в базе данных используется на нашем сайте. Ответ на этот вопрос можно получить посмотреть (например, через FTP) содержимое файла configuration.php находящийся в корне вашего сайта. Префикс таблиц в базе данных содержится в строке:
Code: Select all
public $dbprefix = 'jos_';
Либо можно просто открыть в phpMyAdmin список таблиц базы данных сайта и посмотреть, с каких символов начинаются названия таблиц в базе данных (нас интересует все, что идет до первого символа подчеркивания).
Префикс таблиц мы знаем, логин пользователя - тоже, приступаем к сбросу пароля:
- Подключаемся к базе данных сайта с помощью phpMyAdmin
- Выбираем в списке слева базу данных сайта и смотрим какой префикс у таблиц в базе данных
- В центральном окне phpMyAdmin нажимаем кнопку SQL
- Вставляем в окно текст SQL-запроса:
Code: Select all
UPDATE `jos_users`
SET `password` = MD5('new_password')
WHERE `username` = 'admin'
- Корректируем SQL-запрос: заменяем jos_ на используемый, на вашем сайте, префикс таблицы, вместо new_password вписываем желаемый пароль, а вместо admin логин пользователя, которому мы меняем пароль.
- Выполняем SQL-запрос, нажав кнопку ОК (Go).