С проблемой забытого пароля сталкивался едва ли не каждый современный интернет-пользователь: попытки вспомнить его зачастую терпят фиаско спустя некоторое время. В данном руководстве мы расскажем, что нужно делать, когда забыл пароль администратора от сайта, функционирующего на CMS Joomla.

Способы восстановления пароля в Joomla

Восстановить пароль пользователя сайта на Joomla легко, если есть доступ в админку сайта с правами администратора (Super User'a): для этого достаточно войти в настройки соответствующего пользователя и просто поменять существующий пароль. Проблема возникает, если пароль забыт/утерян, и попасть в панель администрирования не представляется возможным.

Для таких случаев в Joomla существует 4 действенных способа восстановления пароля:

  • через базу данных (нужен доступ к БД),
  • через файл configuration.php (если знаете данные для входа под другим пользователем),
  • через Email (не поможет для суперадминистратора),
  • с помощью специального скрипта (только для Joomla 3).

Теперь по порядку о каждом из способов.

Восстановление пароля в базе данных

Данные пользователей в базе данных Joomla хранит пароли в зашифрованном виде.

Чтобы поменять пароль администратора в БД, необходимо подключиться к серверу MySQL через PHPMyAdmin или любой другой инструмент для администрирования баз данных. Для этого необходимо знать имя пользователя и пароль для БД, указанные при установке Joomla (эти данные хранятся в файле configuration.php, размещённом в корневом каталоге).

Порядок восстановления пароля данным способом следующий:

  1. войдите в базу данных сайта;
  2. найдите таблицу PREFIX_users;
  3. в таблице найдите необходимого пользователя (по значению в колонке name, username или email);
  4. удалите значение ячейки в колонке password для данной строки;
  5. вставьте в эту ячейку следующий набор символов: d2064d358136996bd22421584a7cb33e:trd7TvKHx6dMeoMmBVxYmg0vuXEA4199;
  6. сохраните изменения;
  7. теперь войдите в админку, указав логин и пароль secret;
  8. войдите в менеджер пользователей и замените пароль для обеспечения безопасности.

Создание нового администратора в базе данных

Если изменение пароля не сработает или вы не уверены, какой пользователь является суперадминистратором, вы можете использовать этот метод для создания нового пользователя:

  1. Перейдите в phpMyAdmin и выберите базу данных нужного сайта.
  2. Перейдите по ссылке SQL. Откроется страница, на которой можно ввести и выполнить SQL-запрос.
  3. Очистите текстовое поле для запроса, если в нём есть какой-либо текст, после чего скопируйте и вставьте туда следующий код, после чего замените prefix_ на префикс вашей базы данных:
    INSERT INTO `prefix_users`
       (`name`, `username`, `password`, `params`, `registerDate`, `lastvisitDate`, `lastResetTime`)
    VALUES ('Administrator2', 'admin2',
        'd2064d358136996bd22421584a7cb33e:trd7TvKHx6dMeoMmBVxYmg0vuXEA4199', '', NOW(), NOW(), NOW());
    INSERT INTO `prefix_user_usergroup_map` (`user_id`,`group_id`)
    VALUES (LAST_INSERT_ID(),'8');
  4. Нажмите Вперёд для создания нового пользователя с правами суперадминистратора с именем пользователя admin2 и паролем secret.
  5. Войдите в систему, измените пароль и добавьте действующий адрес электронной почты в учетную запись.

В приведённых выше примерах предлагается пароль со значением secret. Также вы можете использовать другие значения:

СловоХэш MD5
admin 433903e0a9d6a712e00251e44d29bf87:UJ0b9J5fufL3FKfCc0TLsYJBh2PFULvT
secret d2064d358136996bd22421584a7cb33e:trd7TvKHx6dMeoMmBVxYmg0vuXEA4199
OU812 5e3128b27a2c1f8eb53689f511c4ca9e:J584KAEv9d8VKwRGhb8ve7GdKoG7isMm

Как восстановить пароль через configuration.php?

Данный способ уместен, если у вас:

  1. нет доступа к базе данных сайта (если есть, то лучше использовать соответствующий способ восстановления пароля);
  2. есть доступ к конфигурационному файлу, который размещается в корневой папке сайта;
  3. есть данные для входа под другим пользователем, который относится к группе Author или выше.

Если эти условия являются верными, то действовать нужно по следующей схеме:

  1. Подключитесь к своему сайту по FTP, найдите файл configuration.php и проверьте права доступа к файлу. Если права имеют значение 444 или какое-либо другое, то измените их значение на 644, чтобы избежать проблем при обновлении файла позже.
  2. Скачайте файл конфигурации.
  3. Откройте его в любом текстовом редакторе (например, notepad или notepad++) и добавьте в него строку public $root_user='myname'; в конце списка переменных (перед символом }). В данной строке вместо myname должно быть имя пользователя группы Author или выше, для которого вы знаете пароль.
  4. Сохраните файл configuration.php и загрузите его обратно на сервер. Теперь под данными указанного пользователя можно войти в админку с правами суперадминистратора.
  5. Войдите в систему и измените пароль администратора, для которого у вас нет пароля, или создайте нового. Если вы создаете нового пользователя, то можете заблокировать или удалить старого.

Восстановление пароля Joomla через Email

Обратите внимание!
Данный способ не подходит для восстановления пароля суперадминистратора.

Самый простой способ — сбросить существующий пароль администратора и сменить его с помощью электронной почты. Это можно сделать по ссылке в модуле авторизации. Если же модуль не опубликован, то ссылка всё равно существует, хоть и не явно: https://домен/index.php?option=com_users&view=login.

Алгоритм восстановления пароля таким способом следующий:

  1. Перейдите по ссылке Восстановить пароль в модуле авторизации. 
    Если модуля нет, то перейдите по упомянутой выше ссылке.
  2. Введите email, указанный при регистрации (установке CMS).
    На него придет письмо с кодом подтверждения.
  3. Введите ваш логин и код подтверждения из письма.
    После этого вы попадете на страницу ввода нового пароля.
  4. Введите ваш новый пароль.

Однако этот способ не поможет, если:

  1. нужно восстановить пароль суперадминистратора,
  2. за учетной записью админа закреплён неправильный Email,
  3. возникает ошибка при отправке письма и оно не приходит,
  4. вы не можете попасть в свой почтовый ящик.

В таком случае придется воспользоваться иным способом, о чем ниже.

Восстановление пароля с помощью скрипта

Обратите внимание!
Данный способ актуален только для Joomla версии 3.

Если у вас есть доступ к сайту через FTP, то можно восстановить пароль администратора с помощью PHP-скрипта A4 Admin S.O.S Password Recover, который:

  • работает не со всеми версиями Joomla, подробности в файле readme, который идёт с архивом скриптов;
  • находит первую учетную запись администратора, вне зависимости от ID пользователя, и сохраняет измененный пароль в базе данных;
  • проверяет, включён ли какой-либо из плагинов, разрешающих авторизацию в Joomla;
  • позволяет включать или отключать эти плагины;
  • позволяет поменять логин и пароль для существующего администратора или добавить нового.

Инструкция:

  1. скачайте архив скриптов;
  2. распакуйте его;
  3. выберите вложенный архив, соответствующий версии Joomla;
  4. разархивируйте его, на выходе будет один PHP-файл;
  5. поместите файл RatujAdmina_x.php в корневой каталог Joomla;
  6. перейдите по ссылке http://домен/RatujAdmina_3.php;
  7. скрипт определит, существует ли учетная запись администратора (Super User'а);
  8. в зависимости от результата можно:
    • изменить ID и пароль для существующего администратора,
    • создать новую учетную запись, если её не существует.
  9. по окончанию необходимо удалить скрипт с сервера в целях безопасности.

Видеоинструкция

В качестве заключения

Чтобы не допускать инцидентов с утратой любого пароля, рекомендуем использовать софт для хранения паролей (например, KeePass), который обеспечит вас необходимым функционалом для хранения логинов, паролей, ссылок и убережет от лишней головной боли.