Установка PhpMyAdmin 5.X.X на сервер с Ubuntu 20.04 LTS в 2022 году
Будем считать, что у вас уже есть сервер с настроенным и работающим сайтом. Доменное имя у него пусть будет phpmyadmin.site.
Для начала вам нужно закачать в корневую или любую другую директорию сайта (на ваш выбор) архив phpmyadmin. Скачивать мы будем с официального сайта: https://www.phpmyadmin.net
Теперь у нас есть два варианта развития событий:
- Закачать напрямую через wget ssh консоль сервера;
- Скачать архив себе на компьютер, а затем уже закачать и распаковать или закачать распакованную версию на ваш сайт через sftp/ftp.
Во верхнем правом углу видим кнопку «Download 5.x.x», нажимаем её и скачиваем к себе на компьютер, а потом закачиваем к себе на сайт или же, дабы упростить это действие загружаем напрямую на свой сервер:
Переходим в корневую директорию своего сайта:
cd /home/phpmyadmin_site/www
Копируем адрес ссылки phpmyadmin c официального сайта (наводим курсор мышки на кнопку DOWNLOAD, ПКМ, копировать адрес ссылки)
Возвращаемся в консоль сервера и закачиваем:
wget https://files.phpmyadmin.net/phpMyAdmin/5.x.x/phpMyAdmin-5.x.x-all-languages.zip
Не забывайте, что у вас будет другая версия phpmyadmin и 5.x.x будет отличаться.
Распаковываем скачанный архив:
unzip phpMyAdmin-5.x.x-all-languages.zip
Удаляем архив:
rm phpMyAdmin-5.x.x-all-languages.zip
Если вам нужно поместить phpmyadmin не в корневую директорию, то можно просто переименовать папку командой:
mv ./phpMyAdmin-5.x.x-all-languages ./phpma
Можно же переместить файлы в корневую директорию вашего сайта через mc, например.
Теперь можно перейти по адресу phpmyadmin вашего сервера:
http(s)://phpmyadmin.site/phpma
И попробовать авторизоваться под пользователем с правами root и его паролем. Скорее всего вы получите ошибку вида:
mysqli_real_connect(): (HY000/1698):
Access denied for user 'root'@'localhost'
На серверах с Ubuntu, использующей MySQL 5.7/ MariaDB 10.3 (и более поздние версии), пользователь root в MySQL по умолчанию аутентифицируется с помощью плагина auth_socket
/unix_socket, а не по паролю. Это в целом более безопасно и удобно во многих случаях, но не в случае, когда вам необходимо организовать доступ к MySQL со стороны сторонней программы, например, phpMyAdmin.
Для того, чтобы авторизоваться под пользователем с правами root используйте последнюю чать данной статьи.
После чего вы вновь сможете зайти в phpmyadmin через браузер с логином «root» и его паролем. Скорее всего вы успешно авторизуетесь, но в панели phpMyAdmin вы увидете множество алертов, вроде следующих:
Хранилище конфигурации phpMyAdmin не полностью настроено, некоторые расширенные функции были отключены. Узнайте причину. Или перейдите на вкладку 'Операции' любой базы данных, чтобы настроить хранилище в ней.
При работе с многобайтными кодировками без установленного PHP расширения mbstring phpMyAdmin не в состоянии производить корректное разбиение строк, что может привести к непредсказуемым результатам.
В конфигурационном файле необходимо задать парольную фразу (blowfish_secret). $Cfg['TempDir'] (./tmp/) недоступен. Из-за этого phpMyAdmin не может кэшировать шаблоны и будет медленным.
Далее нам нужно настроить phpmyadmin
Копируем образец конфигурационного файла phpmyadmin:
cp ./phpma/config.sample.inc.php ./phpma/config.inc.php
Редактируем конфиг:
sudo nano ./phpma/config.inc.php
Первым делом нужно задать секретный blowfish ключ, который будет состоять из 32 символов:
$cfg['blowfish_secret'] = ''; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */
Вставляем что-то вроде этого:
$2a$58$iMaKE1DFydKAKNQPGR631uXjN75C0PT37x2xacokFCpZgcbm42G1q
В итоге у вас должно получиться:
$cfg['blowfish_secret'] = '$2a$58$iMaKE1DFydKAKNQPGR631uXjN75C0PT37x2xacokFCpZgcbm42G1q'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */
Избавляемся от ошибки связанной с отсутствием расширения php-mbstring
Для избавления от следующей ошибки:
При работе с многобайтными кодировками без установленного PHP расширения mbstring phpMyAdmin не в состоянии производить корректное разбиение строк, что может привести к непредсказуемым результатам.
Просто устанавливаем соответствующее расширение:
sudo apt install php-mbstring
После чего отправляем команду перечитать конфиги сервер Apache:
sudo service apache2 reload
Избавляемся от ошибки кэширования шаблонов phpmyadmin
Сама ошибка выглядит следующим образом:
$Cfg['TempDir'] (./tmp/) недоступен. Из-за этого phpMyAdmin не может кэшировать шаблоны и будет медленным. продолжение смотрим тут: https://blog.xenot.ru/install-phpmyadmin-ubuntu-18-04-lts.fuck