1
июнь
2020
9:39

Как обновить PhpMyAdmin

1 июнь 2020 9:39

===Инструмент разработчика phpmyadmin используется для создания и модификации баз данных MySQL. Через несколько лет использования данной программы, в связи с переходом на более новые MySQL 5.7.30 и PHP 7.2 потребовалось обновить phpmyadmin до самой последней версии...

Обновление версии phpMyAdmin

  1. Прежде всего, определил, где установлен phpmyadmin, для чего выполнил поиск в каталоге с конфигурацией веб-сервера Apache2:

    cd /etc/apache2
    grep -R "phpmyadmin"

Судя по Alias /phpmyadmin /usr/share/phpmyadmin и <Directory /usr/share/phpmyadmin>
программа установлена в папке /usr/share.

  1. Перешел в папку /usr/share и попытался найти документацию

    cd /usr/share/phpmyadmin
    cd doc
    cd html
    ls

  2. Теперь открыл файл в браузере Firefox

    file:///usr/share/phpmyadmin/doc/html/index.html

  3. В разделе "Upgrading from an older version" есть подробное описание обновления.

  4. В начале документа предупреждение говорит о том, что нельзя перезаписывать (затирать) старую версию новой. Нужно взять config.inc.php из старой версии и поверх распакованной новой. Старые файлы оставлять нельзя по соображениям безопасности.

Warning
Never extract the new version over an existing installation of phpMyAdmin, always first remove the old files keeping just the configuration.

This way you will not leave old no longer working code in the directory, which can have severe security implications or can cause various breakages.

Simply copy config.inc.php from your previous installation into the newly unpacked one.

  1. Перехожу непосредственно к замене версии:

    su -
    cd /usr/share/
    mv phpmyadmin phpmyadmin.old
    mkdir phpmyadmin
    cd phpmyadmin
    wget https://files.phpmyadmin.net/phpMyAdmin/5.0.2/phpMyAdmin-5.0.2-all-languages.zip

(путь к файлу ZIP подсмотрел на https://www.phpmyadmin.net/ по ссылке "Download")

unzip phpMyAdmin-5.0.2-all-languages.zip
ls

Решаю небольшую проблему: файлы попали в папку "phpMyAdmin-5.0.2-all-languages" вместо текущего каталога

cp -rp phpMyAdmin-5.0.2-all-languages/* .
rm phpMyAdmin-5.0.2-all-languages -R
  1. Запускаю в браузере http://localhost/phpmyadmin

  2. Появляется приглашение - ввожу имя пользователя root и пароль. Всё работает, версия актуальная!

phpMyAdmin Информация о версии: 5.0.2 (актуально)

Решение проблемы

В конце страницы два предупреждения

  • В конфигурационном файле необходимо задать парольную фразу (blowfish_secret).
  • $Cfg['TempDir'] (/usr/share/phpmyadmin/tmp/) недоступен. Из-за этого phpMyAdmin не может кешировать шаблоны и будет медленным

Решаем первую проблему.

  1. Проверяем, что файл существует и не пустой

    cat /usr/share/phpmyadmin/config.inc.php

cat: /usr/share/phpmyadmin/config.inc.php: Нет такого файла или каталога

  1. Нужно создать конфигурационный файл. За образец возьмем идущей в комплекте phpmyadmin файл "config.sample.inc.php".

Выполняю команду:

su -
cd /usr/share/phpmyadmin/
cp config.sample.inc.php config.inc.php

  1. В конфигурационном файле config.inc.php нужно исправить секретную фразу для cookie.
    Открываем на редактирование файл config.inc.php :

    nano /usr/share/phpmyadmin/config.inc.php

Исправляю секретный ключ - длина его должна быть 32 символов или больше

$cfg['blowfish_secret'] = 'SECRET-12345-09876_my_phrase_777'; / YOU MUST FILL IN THIS FOR COOKIE AUTH! /

Ctrl+O, Ctrl+X

Первая ошибка ушла. Избавляюсь от второго предупреждения.

  1. Создал временный каталог для шаблонов phpmyadmin

    cd /usr/share/phpmyadmin
    mkdir tmp
    chown www-data:www-data tmp

  2. Вновь открываю в браузере http://localhost/phpmyadmin

    • ввожу имя пользователя и пароль.

Обновление phpmyadmin проведено успешно. Ошибок или предупреждений больше нет.



Похожие публикации