Установка и использование PHPMyAdmin вместе с WordPress
Russian (Pусский) translation by Ilya Nikov (you can also view the original English article)



PHPMyAdmin - или PMA - это отличный бесплатный клиент для работы с базами данных с открытым исходным кодом, который может быть использован для более удобного взаимодействия с базами данных MySQL и WordPress. Я расскажу о том, как установить, обеспечить его безопасность и некоторые общие сценарии, с помощью которых он сможет помочь вам в администрировании WordPress. Вот онлайн демо-версия PMA для ознакомления.
Помимо предоставления визуального графического интерфейса для операций с базой данных, я также ценю возможность запускать операции SQL из командной строки через мой браузер без необходимости входа на сервер по SSH. Например, некоторые WiFi и мобильные соединения регулярно прерывают постоянные сеансы SSH, что затрудняет задачи по работе с базой данных.
Установка PHPMyAdmin
Начать работу с PMA в Linux довольно просто. Я расскажу, как это сделать в Ubuntu 14.x в Digital Ocean. Войдите на свой сервер с помощью SSH:
apt-get install phpmyadmin
Вы можете использовать настройки по умолчанию во время установки или настроить все по своему вкусу.
В типичной установке WordPress нет никаких прямых портов для MySQL, чтобы хакер мог получить доступ. Они могут попытаться проникнуть через SSH или попробовать атаки SQL-инъекций на WordPress, но они не могут напрямую атаковать базу данных. Как только вы установите PMA, любой может запустить сетевые атаки против него, чтобы получить контроль над своей базой данных, поэтому необходимо проявить осторожность.
При настройке PMA я рекомендую несколько предосторожностей.
1. Используйте очень надежные пароли для всех учетных записей MySQL, особенно для учетной записи root. например 25 символов для пароля root.
2. Используйте разные учетные записи MySQL и привилегии для каждого сайта WordPress, работающего на одном сервере. Таким образом, если один пароль WordPress скомпрометирован, скомпрометирована будет только одна база данных сайта.
3. Измените URL по умолчанию, используемый PMA. Таким образом люди не могут посетить http://yourblog.com/phpmyadmin. Хотя этот подход - и не очень эффективный метод, но он добавляет некоторую защиту.
Добавьте псевдоним в файл apache.conf:
1 |
nano /etc/phpmyadmin/apache.conf |
2 |
Alias /myobscuredpma /usr/share/phpmyadmin |
Перезагрузите apache:
service apache2 reload
Затем, чтобы получить доступ к PMA, откройте страницу http://yourblog.com/myobscuredpma.
Если вам нужно изменить свой пароль PHPMyAdmin, вы можете отредактировать config-db.php
:
nano /etc/phpmyadmin/config-db.php
4. Настройте веб-аутентификацию для сайта PMA. Для этого потребуется ввести дополнительный пароль для доступа к PMA в дополнение к вашему паролю базы данных, например:



Чтобы настроить пользовательские ограничения Apache, выполните следующие действия:
Установите htpasswd
как часть apache2-utils
:
1 |
apt-get install apache2-utils |
Создайте каталог для хранения ваших паролей:
1 |
mkdir /etc/htpasswd |
Добавить поддержку htaccess
для PMA:
1 |
nano /etc/phpmyadmin/apache.conf |
Добавьте ниже "AllowOverride All"
1 |
<Directory /usr/share/phpmyadmin> |
2 |
Options FollowSymLinks |
3 |
DirectoryIndex index.php |
4 |
AllowOverride All |
Настройте аутентификацию пользователя для PMA:
1 |
nano /usr/share/phpmyadmin/.htaccess |
1 |
AuthType Basic |
2 |
AuthName "Login Required for Access" |
3 |
AuthUserFile /etc/htpasswd/.htpasswd |
4 |
Require valid-user |
Введите свой пароль:
htpasswd -c /etc/htpasswd/.htpasswd username
И перезапустите Apache:
service apache2 restart
Перейдите на свой сайт PMA, и вам будет предложено ввести имя пользователя и пароль, как показано выше.
Использование PHPMyAdmin вместе с WordPress
Очень важно помнить, что PMA позволяет напрямую манипулировать базой данных WordPress; Это означает, что будет довольно легко взломать ваш сайт WordPress, если вы не знаете, что делаете. Особенно неразумно применять скрипты базы данных из Интернета, если вы не понимаете их полностью. Используйте PMA с большой осторожностью.
Вот несколько сценариев, которые могут быть полезны для вас в администрировании WordPress:
1. Создание новой базы данных для установки WordPress
Без PMA мне бы пришлось зайти на свой сервер по SSH. Войти в MySQL, а затем выполнить:
1 |
create database wordpress; |
2 |
grant all privileges on wordpress.* TO "your-mysql-username"@"localhost" identified by "your-mysql-password"; |
3 |
flush privileges; |
С помощью PMA вы можете выполнить любой запрос командной строки с помощью визуального интерфейса. Перейдите на вкладку SQL и вставьте приведенные выше инструкции базы данных MySQL. Затем нажмите «Перейти», чтобы создать базу данных.



Я часто использую это при создании новых сайтов WordPress, непосредственно перед запуском веб-установщика WordPress.
Или вы можете использовать визуальный интерфейс для создания базы данных напрямую:



Вы также можете добавлять пользователей и определять привилегии таким образом. Перейдите на вкладку привилегий:



Нажмите «Добавить пользователя» и укажите привилегии для базы данных, которые вы хотите использовать:



Для вашей типичной учетной записи базы данных WordPress вам нужно установить флажки для данных и структуры.
2. Резервное копирование базы данных
Это очень хорошая идея сделать резервную копию базы данных перед выполнением любой из перечисленных ниже задач. Если что-то пойдет не так, вы сможете восстановить свой сайт WordPress из резервной копии.
Используя веб-интерфейс PMA, нажмите на свою базу данных WordPress, откройте вкладку «Экспорт» и выберите «Пользовательский».



Включите «Добавить таблицу удаления / Отображения / Процедуры / Функции / События»:



Когда вы нажмете «Выполнить», PMA загрузит резервную копию всей вашей базы данных. Если вы настроили тайм-аут PHP Apache неправильно, некоторые длинные загрузки файлов могут быть прерваны по тайм-ауту. Вы можете настроить это в PHP.ini
, как я описал это на моем сайте.
3. Поиск и замена
WordPress не имеет встроенных функций, помогающих в поиске и замене при изменении веб-сайтов или необходимости корректировать содержимое в нескольких постах.
С помощью PMA вы можете запустить собственный запрос для поиска и замены текста, который вы хотите изменить (опять же, будьте очень осторожны с SQL-командами на основе записи в вашей базе WordPress):
1 |
UPDATE wp_posts SET post_content = REPLACE (post_content, 'source text', 'replace with this text'); |
Альтернативой использованию PMA и MySQL является этот удобный плагин поиска и замены.
4. Миграция сайта
Часто, когда вы перемещаете сайт WordPress на новое доменное имя или URL-адрес, он не будет отражать изменения вашего домена на всем сайте; Даже после изменения доменов в настройках сайта. Вы можете исправить это в базе данных с помощью PMA:
Опять же, вы можете использовать окно SQL запросов, чтобы вручную обновить базу данных вашего сайта:
1 |
update wp_options set option_value = replace(option_value,'http://old_domain.com','http://new_domain.com'); |
2 |
update wp_postmeta set meta_value = replace(meta_value,'http://old_domain.com','http://new_domain.com'); |
3 |
update wp_posts set post_content = replace(post_content,'http://old_domain.com','http://new_domain.com'); |
4 |
update wp_posts set guid = replace(guid,'http://old_domain.com','http://new_domain.com'); |
5 |
update wp_posts set pinged = replace(pinged,'http://old_domain.com','http://new_domain.com'); |
6 |
update wp_comments set comment_content = replace(comment_content,'http://old_domain.com','http://new_domain.com'); |
Или вы можете использовать веб-интерфейс. Перейдите к имени базы данных, выберите все таблицы, запустите запрос и вручную измените параметры для каждой из них:



Нажмите «Изменить» и внесите изменения:



5. Сброс пароля администратора WordPress.
Бывают редкие случаи, когда нужно поменять пароли администратора WordPress. Если вы можете получить доступ к своей базе данных, вы можете использовать PMA для прямого обновления пароля (просмотрите и проверьте, какой цифровой идентификатор представляет текущий пользователь-администратор):
1 |
Update 'your_database'.'your_user' SET 'user_pass'=MD5('new-password') WHERE 'wp_users'.'ID'=1; |
Как только все будет сделано, вы сможете войти в WordPress Dashboard с новым паролем.
Надеюсь, этот урок оказался для вас полезным. Пожалуйста, оставляйте свои комментарии, исправления или дополнительные идеи ниже. Вы можете просмотреть мои другие уроки на Tuts + на моей авторской странице или найти меня в Twitter @reifman.
Ссылки по теме
- Использование PHPMyAdmin вместе с WordPress (презентация) Кеннет Харгис
- Учебник PHPMyAdmin (видео) Кирк Макси