Phpmyadmin на локальном сервере
Содержание:
- Вход в phpMyAdmin на локальном сервере
- Обновление старой версии
- Apache
- phpMyAdmin 4.9.6 and 5.0.3 are released
- Установка phpMyAdmin
- Этап 2. Установка phpMyAdmin
- Смена стандартного местоположения PhpMyAdmin
- Управление пользователями и привилегиями
- phpMyAdmin 4.9.4 and 5.0.1 are released
- Шаг 3 — Обеспечение безопасности phpMyAdmin
- Step 1 — Installing phpMyAdmin
- About
- Features
- Latest News
- 5 последних уроков рубрики «PHP»
- Перед установкой
- Возможности phpMyAdmin
- PhpMyAdmin – история
- Инструменты импорта/экспорта, выполнение SQL-запросов
- phpMyAdmin 4.9.5 and 5.0.2 are released
- Donations
Вход в phpMyAdmin на локальном сервере
На готовых сборках локальных серверов типа XAMPP, Денвер, OpenSrevers пользователь БД задан в настройках и, как правило, это, пользователь с пустым паролем. Если сборка WAMP делается самостоятельно, то пользователь БД задается специально и совпадает с пользователем MySQL, также заданного вами.
Форма авторизации в phpmyAdmin
Для входа в панель phpMyAdmin на локальном сервере запускаем программу phpMyAdmin из адресной строки. Запуск phpMyAdmin осуществляется следующим образом.
Если Вы собирали сервер самостоятельно, и правильно выставили все настройки для запуска phpMyAdmin в адресную строку, пишем:
localhost/phpmyadmin или httр:// www.test.ru/pma,
На сборке Денвер:
httр:// localhost/Tools/phpMyAdmin,
На сборке Open Server:
httр:// localhost/openserver/phpmyadmin/index.php или «Дополнительно>>>PhpMyAdmin», на флаге Open Server в трее Windows.
На сборке XAMPP, в панели управления ищем кнопку MySQL.
Обновление старой версии
Просто скопируйте конфигурационный файл ./config.inc.php от предыдущей версии в директорию куда был распакован phpMyAdmin. Конфигурационные файлы из очень старых версий (2.3.0 or older) могут потребовать некоторых настроек, т.к. некоторые опции были изменены или удалены.
Не рекомендуется использовать (копировать) файл libraries/config.default.php вместо config.inc.php, т.к. файл config.default.php является специфичным для каждой версии.
Если Вы обновили свой MySQL-сервер с версии старше, чем 4.1.2 до версии 4.1.2 или новее,и используете инфраструктуру связанных таблиц, тогда необходимо запустить SQL-скрипт, который находится в scripts/upgrade_tables_mysql_4_1_2+.sql.
Apache
Для поддержки файла .htaccess, который используется многими сайтами, необходимо установить и настроить веб-сервер Apache.
Устанавливаем apache и модуль для php:
apt-get install apache2 libapache2-mod-php
Заходим в настройки портов:
vi /etc/apache2/ports.conf
И редактируем следующее:
Listen 8080
#<IfModule ssl_module>
# Listen 443
#</IfModule>
#<IfModule mod_gnutls.c>
# Listen 443
#</IfModule>
* мы настроили прослушивание на порту 8080, так как на 80 уже работает NGINX. Также мы закомментировали прослушивание по 443, так как и он будет слушаться NGINX.
Теперь открываем настройку следующего модуля:
vi /etc/apache2/mods-available/dir.conf
И добавляем впереди индексных файлов index.php:
<IfModule dir_module>
DirectoryIndex index.php index.html …
</IfModule>
* если не указан конкретный скрипт, сначала веб-сервер пытается найти и запустить index.php, затем index.html и так далее.
Открываем основной конфигурационный файл для apache:
vi /etc/apache2/apache2.conf
Рядом с опциями Directory дописываем:
<Directory /var/www/*/www>
AllowOverride All
Options Indexes ExecCGI FollowSymLinks
Require all granted
</Directory>
* где Directory указывает на путь, для которого мы хотим задать настройки; AllowOverride — позволит переопределить все настройки с помощью файла .htaccess; Options задает некоторые настройки: Indexes разрешает списки каталогов, ExecCGI разрешает запуск cgi скриптов, Require all granted — предоставляет всем доступ к сайтам в данном каталоге.
Ниже допишем:
<IfModule setenvif_module>
SetEnvIf X-Forwarded-Proto https HTTPS=on
</IfModule>
* этой настройкой мы при получении заголовка X-Forwarded-Proto со значением https задаем переменную $_SERVER равную on. Данная настройки критична для функционирования некоторых CMS.
Запрещаем mpm_event:
a2dismod mpm_event
* по умолчанию, apache2 может быть установлен с модулем мультипроцессовой обработки mpm_event. Данный модуль не поддерживает php 7 и выше.
Разрешаем модуль мультипроцессовой обработки mpm_prefork:
a2enmod mpm_prefork
Разрешаем модуль php:
a2enmod php7.4
* в данном примере установлен php версии 7.4.
Разрешаем модуль setenvif:
a2enmod setenvif
Разрешаем модуль rewrite:
a2enmod rewrite
В процессе включения модулей, если мы видим «Module … already enabled», значит модуль уже включен.
Разрешаем автозапуск Apache и перезапускаем службу:
systemctl enable apache2
systemctl restart apache2
Открываем браузер и вводим в адресную строку http://<IP-адрес сервера>:8080. Мы должны увидеть привычную страницу:
* в разделе Server API мы должны увидеть Apache.
NGINX + Apache
Ранее мы настроили связку nginx + php-fpm. Теперь настроим nginx + apache. Открываем конфигурационный файл nginx для сайта по умолчанию:
vi /etc/nginx/sites-enabled/default
Находим наш настроенный location для php-fpm:
…
location ~ \.php$ {
set $root_path /var/www/html;
fastcgi_pass unix:/run/php/php7.4-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $root_path$fastcgi_script_name;
include fastcgi_params;
fastcgi_param DOCUMENT_ROOT $root_path;
}
…
и меняем на:
…
location ~ \.php$ {
proxy_pass http://127.0.0.1:8080;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
…
Проверяем и перезапускаем nginx:
nginx -t
systemctl restart nginx
Пробуем открыть в браузере http://<IP-адрес сервера> — должна открыться та же страница, что при проверке Apache (с добавлением 8080):
Apache Real IP
Запросы на apache приходят от NGINX, и они воспринимаются первым как от IP-адреса 127.0.0.1. На практике, это может привести к проблемам, так как некоторым сайтам необходимы реальные адреса посетителей. Для решения проблемы будем использовать модуль remoteip.
Создаем конфигурационный файл со следующим содержимым:
vi /etc/apache2/mods-available/remoteip.conf
<IfModule remoteip_module>
RemoteIPHeader X-Forwarded-For
RemoteIPTrustedProxy 127.0.0.1/8
</IfModule>
Активируем модуль:
a2enmod remoteip
Перезапускаем apache:
systemctl restart apache2
Для проверки настройки открываем браузер и вводим в адресную строку http://<IP-адрес сервера>, где откроется наша страница phpinfo. В разделе Apache Environment мы должны увидеть внешний адрес компьютера, с которого обращаемся к серверу в опции REMOTE_ADDR.
phpMyAdmin 4.9.6 and 5.0.3 are released
2020-10-10
Hello,
The phpMyAdmin team announces the release of both phpMyAdmin versions 4.9.6 and 5.0.3.
Both versions contain several important security fixes:
- PMASA-2020-5 XSS vulnerability with transformation feature
- PMASA-2020-6 SQL injection vulnerability with the search feature
In addition, 5.0.3 contains many bugfixes. Some of the highlights include:
- Fix an error message about htmlspecialchars() when attempting to export XML
- Support double tapping to edit on mobile
- Fix the error message «Use of undefined constant MYSQLI_TYPE_JSON» when using mysqlnd
- Fix fatal JS error on index creation after using Enter key to submit the form
- Fix «axis-order» to swap latitude and longitude on MySQL 8.1 or newer
- Fix an error when overwriting an existing query bookmark
- Fix some warnings that appear with PHP 8
- Fix alter user privileges query when editing an account with MySQL 8.0.11 and newer
- Fix issues regarding TIMESTAMP columns with default CURRENT_TIMESTAMP in MySQL 8.0.13 and newer
- Fix a message that «Warning: error_reporting() has been disabled for security reasons» on php 7.x
There are many other bugs fixes, please see the ChangeLog file included with this release for full details.
Known shortcomings:
Due to changes in the MySQL authentication method, PHP versions prior to 7.4 are unable to authenticate to a MySQL 8.0 or newer server (our tests show the problem actually began with MySQL 8.0.11). This relates to a PHP bug https://bugs.php.net/bug.php?id=76243. There is a workaround, that is to set your user account to use the current-style password hash method, . This unfortunate lack of coordination has caused the incompatibility to affect all PHP applications, not just phpMyAdmin. For more details, you can see our bug tracker item at https://github.com/phpmyadmin/phpmyadmin/issues/14220. We suggest upgrading your PHP installation to take advantage of the upgraded authentication methods.
Установка phpMyAdmin
Установка может быть выполнена из репозитория (для CentOS 7) или путем загрузки портала с сайта разработчика (CentOS 8 или CentOS 7). Рассмотрим оба варианта.
а) Установка из репозитория
Данный вариант доступен только для CentOS 7.
Устанавливаем расширенный репозиторий EPEL:
yum install epel-release
Устанавливаем phpMyAdmin:
yum install phpmyadmin
* если мы увидим ошибку «пакета с названием phpmyadmin не найдено», проверяем еще раз наличие установленного репозитория epel.
б) Установка вручную
Данный способ универсальный — он подходит для CentOS 8 и CentOS 7.
Устанавливаем пакеты, необходимые для скачивания и распаковки архива:
yum install wget unzip
Переходим на сайт разработчика phpMyAdmin и копируем ссылку на нужную нам версию, например, последнюю:
Воспользовавшись скопированной ссылкой, скачиваем архив с установочными файлами:
wget https://files.phpmyadmin.net/phpMyAdmin/4.9.1/phpMyAdmin-4.9.1-all-languages.zip
* на момент написания инструкции, последняя стабильная версия была 4.9.1.
Распаковываем скачанный архив:
unzip phpMyAdmin-*-all-languages.zip
Создаем каталог для phpmyadmin, например:
mkdir /usr/share/phpMyAdmin
… и переносим в него содержимое распакованного архива:
mv phpMyAdmin-*-all-languages/* /usr/share/phpMyAdmin/
Задаем владельца для каталога:
chown -R apache:apache /usr/share/phpMyAdmin
* как правило, сервис, которых обрабатываем php-запросы работает от пользователя apache.
Этап 2. Установка phpMyAdmin
-
1.
Обновите операционную систему до актуального состояния с помощью команды:
-
2.
Установите расширения PHP, которые нужны для работы phpMyAdmin:
-
3.
Включите расширение PHP mbstring. Для этого выполните команду:
-
4.
Установите phpMyAdmin:
-
5.
Во всплывающем окне «Конфигурация phpMyAdmin» выберите apache2 и нажмите Ok:
-
6.
Чтобы создать базу данных по умолчанию и начать конфигурацию, выберите Yes:
-
7.
Задайте root-пароль и нажмите Ok:
-
8.
Повторите пароль и нажмите Ok:
Если возникла ошибка
Если при активации расширения возникла ошибка, это значит, что расширение не установлено. Установить расширение можно командой:
Где:
-
4.
Перезагрузите Apache командой:
-
5.
Перейдите по адресу 123.123.123.123/phpmyadmin
Вместо 123.123.123.123 укажите IP-адрес вашего сервера.
Откроется страница авторизации в phpMyAdmin. Авторизуйтесь в панели, используя логин root и пароль, который вы указали при установке MySQL.
phpMyAdmin установка
Готово, установка phpMyAdmin завершена.
Смена стандартного местоположения PhpMyAdmin
Обычно программа находится по адресу «/phpmyadmin», «/pma», «/admin», «/mysql». Если оставить PhpMyAdmin в стандартном расположении, то злоумышленники могут использовать программы, взламывающие пароль методом брутфорса (перебора).
Чтобы обеспечить должную безопасность, нужно указать уникальный путь, защитив базу данных от проникновения.
Для этого нужно открыть, созданный в предыдущих действиях, конфигурационный файл «phpmyadmin.conf» и найти строку «location /phpmyadmin {»:
sudo nano /etc/nginx/sites-available/phpmyadmin.conf
При изменении слова «phpmyadmin» на нестандартное, меняется веб-адрес, а следовательно боты не смогут найти программу. К примеру, обозначим адресом PhpMyAdmin слово «ubuntu»:
Теперь нужно сохранить изменения в файле и перезагрузить сервер Nginx следующей командой:
sudo systemctl restart nginx
При попытке открыть в веб-браузере старый адрес, появится ошибка 404 (не найдено):
https://server_domain_or_IP/phpmyadmin
Теперь открыть страницу возможно только по новому адресу:
https://server_domain_or_IP/ubuntu
Установка ограничения root доступа
Учётная запись root даёт не только особые привилегия пользователям, но и является уязвимостью, играющей на руку злоумышленнику. С изменением адреса PhpMyAdmin была устранена уязвимость в безопасности для автоматизированных программ, но всегда стоит минимизировать риски и защититься от других видов атак на сервер.
Для обеспечения защиты PhpMyAdmin придётся ввести ограничение root прав программе. Для этого нужно создать файл конфигурации по адресу:
/etc/phpmyadmin/conf.d/ с названием pma_secure.php: sudo nano /etc/phpmyadmin/conf.d/pma_secure.php
В созданный файл необходимо вставить следующий код:
/etc/phpmyadmin/conf.d/pma_secure.php <?php # PhpMyAdmin Settings # This should be set to a random string of at least 32 chars $cfg = '3!#32@3sa(+=_4?),5XP_:U%%8\34sdfSdg43yH#{o'; $i=0; $i++; $cfg = 'cookie'; $cfg = false; $cfg = false; ?>
В данном примере важны следующие параметры:
- АllowNoPassword – вход без пароля (false – отключен);
- AllowRoot – вход с учётной записи root пользователя (false – отключен).
Как только файл будет сохранен, изменения вступят в силу. При попытке выполнить вход из учётной записи суперпользователя, появится ошибка — «Access Denied» (Доступ запрещен).
Управление пользователями и привилегиями
Управлять пользователями и группами в phpMyAdmin позволяет соответствующая вкладка «Учетные записи пользователей». Эта вкладка доступна, когда не выбрана никакая БД. Здесь выводится список всех зарегистрированных пользователей, их ключевые атрибуты. А также действия, позволяющие перейти на страницу редактирования привилегий. Удаление пользователей производится в соответствующем разделе (внизу страницы) и для этого удаляемые учётные записи должны быть предварительно отмечены.
Рис. 6: Управление пользователями и группами
Страница редактирования привилегий включает в себя соответствующие опции и настройки как глобально, так и для отдельных БД. Здесь же можно изменять информацию об учётной записи и задавать пароли к ним.
Рис. 7: Редактирование привилегий пользователей
phpMyAdmin 4.9.4 and 5.0.1 are released
2020-01-08
The phpMyAdmin team announces the release of versions 4.9.4 and 5.0.1.
As a reminder, version 4.x is in the LTS phase, where only security fixes and critical bug fixes are made. Users are suggested to migrate to version 5.
These releases address two issues, a problem with two-factor authentication that was introduced with the last releases, and a fix for an SQL injection vulnerability that was reported by CSW Research Labs . This vulnerability is assigned PMASA-2020-1 and requires that the attacker have logged in through a valid MySQL account.
Known issue: the reported current release version may display incorrectly on the main page (for instance, «Version information: 5.0.1, latest stable version: 4.9.4»). This is expected to be fixed in the next routine bug fix release.
Downloads are available at phpmyadmin.net.
Шаг 3 — Обеспечение безопасности phpMyAdmin
Из-за своей вездесущности phpMyAdmin часто становится мишенью для атак, поэтому вам нужно дополнительно позаботиться о предотвращении несанкционированного доступа. Один из способов — это размещение шлюза перед всем приложением с помощью встроенного в Apache функционала авторизации и аутентификации через .
Чтобы сделать это, вы должны сначала активировать перезапись файла , изменив файл конфигурации Apache вашей установки phpMyAdmin.
Воспользуйтесь предпочитаемым текстовым редактором для редактирования файла , который находится в каталоге конфигурации Apache. Мы будем использовать :
Добавьте директиву в раздел файла конфигурации , например:
/etc/apache2/conf-available/phpmyadmin.conf
После добавления этой строки сохраните и закройте файл. Если вы использовали для редактирования файла, нажмите , , а затем .
Перезапустите Apache, чтобы изменения вступили в силу.
Теперь, когда вы активировали использование файлов для вашего приложения, вам нужно создать этот файл для реализации этого уровня защиты.
Чтобы этот файл мог использоваться, он должен находиться в каталоге приложения. Вы можете создать необходимый файл и открыть его в текстовом редакторе с привилегиями root с помощью следующей команды:
В этом файле введите следующую информацию:
/usr/share/phpmyadmin/.htaccess
Вот что означает каждая из этих строк:
- : эта строка указывает тип аутентификации, используемый вами. Данный тип подразумевает использование аутентификации по паролю с помощью файла пароля.
- : данная строка устанавливает сообщение для диалогового окна аутентификации. Вы должны указывать только общую информацию, чтобы неавторизованные пользователи не получили никакой информации о том, что вы защищаете.
- : указывает местоположение файла пароля, который будет использоваться для аутентификации. Он должен находиться вне обслуживаемых каталогов. Скоро мы создадим этот файл.
- : указывает, что только выполнившие аутентификацию пользователи должны иметь доступ к этому ресурсу. Благодаря этому параметру неавторизованные пользователи не смогут выполнить вход.
После завершения редактирования сохраните и закройте файл.
Вы использовали следующее местонахождение для вашего файла пароля . Теперь вы можете создать этот файл и передать его для первоначального пользователя с помощью утилиты :
Вам будет предложено выбрать и подтвердить пароль для пользователя, которого вы создаете. В результате будет создан файл с хэшированным паролем, который вы добавили.
Если вы хотите ввести дополнительного пользователя, вам нужно сделать это без флага , например:
Теперь, когда вы можете получить доступ к подкаталогу phpMyAdmin, вам будет предложено указать дополнительное имя учетной записи и пароль, которые вы только что задали:
После выполнения аутентификации в Apache вы перейдете на стандартную страницу аутентификации phpMyAdmin для ввода ваших учетных данных MySQL. Добавив дополнительный набор учетных данных, не используемый MySQL, вы обеспечиваете для вашей базы данных дополнительный слой защиты. Это желательно, поскольку в прошлом phpMyAdmin часто становился объектом использующих уязвимости атак.
Step 1 — Installing phpMyAdmin
You can use APT to install phpMyAdmin from the default Ubuntu repositories.
As your non-root sudo user, update your server’s package index:
Following that you can install the package. Along with this package, the official documentation also recommends that you install a few PHP extensions onto your server to enable certain functionalities and improve performance.
If you followed the prerequisite LAMP stack tutorial, several of these modules will have been installed along with the package. However, it’s recommended that you also install these packages:
- : A module for managing non-ASCII strings and convert strings to different encodings
- : This extension supports uploading files to phpMyAdmin
- : Enables support for the GD Graphics Library
- : Provides PHP with support for JSON serialization
- : Allows PHP to interact with different kinds of servers using different protocols
Run the following command to install these packages onto your system. Please note, though, that the installation process requires you to make some choices to configure phpMyAdmin correctly. We’ll walk through these options shortly:
Here are the options you should choose when prompted in order to configure your installation correctly:
-
For the server selection, choose
Warning: When the prompt appears, “apache2” is highlighted, but not selected. If you do not hit to select Apache, the installer will not move the necessary files during installation. Hit , , and then to select Apache.
- Select when asked whether to use to set up the database
- You will then be asked to choose and confirm a MySQL application password for phpMyAdmin
Note: Assuming you installed MySQL by following , you may have decided to enable the Validate Password plugin. As of this writing, enabling this component will trigger an error when you attempt to set a password for the phpmyadmin user:
To resolve this, select the abort option to stop the installation process. Then, open up your MySQL prompt:
Or, if you enabled password authentication for the root MySQL user, run this command and then enter your password when prompted:
From the prompt, run the following command to disable the Validate Password component. Note that this won’t actually uninstall it, but just stop the component from being loaded on your MySQL server:
Following that, you can close the MySQL client:
Then try installing the package again and it will work as expected:
Once phpMyAdmin is installed, you can open the MySQL prompt once again with or and then run the following command to re-enable the Validate Password component:
The installation process adds the phpMyAdmin Apache configuration file into the directory, where it is read automatically. To finish configuring Apache and PHP to work with phpMyAdmin, the only remaining task in this section of the tutorial is to is explicitly enable the PHP extension, which you can do by typing:
Afterwards, restart Apache for your changes to be recognized:
phpMyAdmin is now installed and configured to work with Apache. However, before you can log in and begin interacting with your MySQL databases, you will need to ensure that your MySQL users have the privileges required for interacting with the program.
About
phpMyAdmin is a free software tool written in PHP,
intended to handle the administration of MySQL
over the Web. phpMyAdmin supports a wide range of operations on MySQL and
MariaDB. Frequently used operations (managing databases, tables,
columns, relations, indexes, users, permissions, etc) can be performed via the
user interface, while you still have the ability to directly execute any SQL statement.
phpMyAdmin comes with a wide range of documentation and users are welcome to
update our wiki pages to share ideas and
howtos for various operations. The phpMyAdmin team will try to help you if
you face any problem; you can use a variety of support channels to get
help.
phpMyAdmin is also very deeply documented in a book written by one of the developers
– Mastering phpMyAdmin for
Effective MySQL Management, which is available in English and .
To ease usage to a wide range of people, phpMyAdmin is being translated into 72 languages and supports both LTR
and RTL languages.
phpMyAdmin is a mature project with a stable and flexible code
base; you can find out more about the project and its history and the awards it earned. When the project turned 15, we published a celebration page.
The phpMyAdmin project is a member of Software Freedom Conservancy. SFC is a not-for-profit organization that helps promote, improve, develop, and defend Free, Libre, and Open Source Software (FLOSS) projects.
Features
- Intuitive web interface
- Support for most MySQL features:
- browse and drop databases, tables, views, fields and indexes
- create, copy, drop, rename and alter databases, tables, fields and
indexes - maintenance server, databases and tables, with proposals on server
configuration - execute, edit and bookmark any
SQL-statement, even
batch-queries - manage MySQL user accounts and privileges
- manage stored procedures and triggers
- Import data from
CSV and
SQL - Export data to various formats:
CSV,
SQL,
XML,
PDF,
ISO/IEC 26300 —
OpenDocument Text and Spreadsheet,
Word,
LATEX
and others - Administering multiple servers
- Creating graphics of your database layout in various formats
- Creating complex queries using Query-by-example (QBE)
- Searching globally in a database or a subset of it
- Transforming stored data into any format using a set of predefined
functions, like displaying BLOB-data as image or download-link - And much more…
Latest News
- 2021-06-19: Infrastructure security improvements
- 2021-06-04: phpMyAdmin 5.1.1 is released
- 2021-02-24: phpMyAdmin 5.1.0 is released
- 2020-10-15: phpMyAdmin 4.9.7 and 5.0.4 are released
- 2020-10-10: phpMyAdmin 4.9.6 and 5.0.3 are released
5 последних уроков рубрики «PHP»
Когда речь идёт о безопасности веб-сайта, то фраза «фильтруйте всё, экранируйте всё» всегда будет актуальна. Сегодня поговорим о фильтрации данных.
Обеспечение безопасности веб-сайта — это не только защита от SQL инъекций, но и протекция от межсайтового скриптинга (XSS), межсайтовой подделки запросов (CSRF) и от других видов атак
В частности, вам нужно очень осторожно подходить к формированию HTML, CSS и JavaScript кода.
Expressive 2 поддерживает возможность подключения других ZF компонент по специальной схеме. Не всем нравится данное решение
В этой статье мы расскажем как улучшили процесс подключение нескольких модулей.
Предположим, что вам необходимо отправить какую-то информацию в Google Analytics из серверного скрипта. Как это сделать. Ответ в этой заметке.
Подборка PHP песочниц
Подборка из нескольких видов PHP песочниц. На некоторых вы в режиме online сможете потестить свой код, но есть так же решения, которые можно внедрить на свой сайт.
Перед установкой
Перед тем, как мы начнём, убедитесь, что у вас есть всё необходимое.
Прежде всего, мы будем исходить из того, что у вас есть не-рутовый (non-root) пользователь с привилегиями sudo. Настроить такую учётную запись пользователя можно следуя шагам 1-4 в статье о первичной настройке сервера на Ubuntu 16.04.
Мы также будем считать, что вы завершили настройку стека LAMP (Linux, Apache, MySQL и PHP) на вашем сервере с Ubuntu 16.04. Если вы ещё не сделали этого, вы можете ознакомиться с этим процессом в статье об установке стека LAMP на Ubuntu 16.04.
И, наконец, необходимо иметь в виду некоторые вопросы безопасности при использовании phpMyAdmin, поскольку он:
- Напрямую взаимодействует с MySQL.
- Выполняет аутентификацию использую логин и пароль MySQL.
- Выполняет и возвращает результаты произвольных запросов SQL.
По этим причинам, а также потому, что phpMyAdmin является одним из наиболее распространённых и атакуемых PHP приложений, вам не стоит запускать phpMyAdmin на удалённых машинах с простым соединением HTTP. Если у вас ещё нет домена с настроенным SSL/TLS сертификатом, рекомендуем ознакомиться со статьёй Делаем Apache безопаснее с помощью Let’ Encrypt на Ubuntu 16.04.
После выполнения описанных выше мероприятий, вы можете начать следовать шагам, указанным в этой статье.
Возможности phpMyAdmin
- интуитивно понятный веб-интерфейс
- поддержка большинства функций MySQL:
- — просмотр и удаление баз данных, таблиц, вьюшек, полей и индексов
- — создание, копирование, удаление, переименование и изменение баз данных, таблиц, полей и индексов
- — управление сервером, базами данных и таблицами, с советами по настройке сервера
- — выполнение, редакция и сохранение любого SQL-выражения, включая пакетные запросы
- — управление пользователями MySQL и их привилегиями
- — работа с хранимыми процедурами и триггерами
- поддержка импорта данных из CSV и SQL
- поддержка экспорта в различные форматы CSV, SQL, XML, PDF, ISO/IEC 26300 — OpenDocument текст и таблицы, Word, Excel, LATEX и другие
- администрирование нескольких серверов
- генерирование наглядных схем баз данных в виде PDF
- создание комплексных запросов с помощью функции Запрос по шаблону
- глобальный или частичный поиск в базе данных
- трансформация данных в любой формат, используя набор предназначенных функций вроде отображения BLOB-данных в виде картинки или ссылки для скачивания
- это не все, лишь часть возможностей phpMyAdmin которых, впрочем, достаточно чтобы объяснить его международную популярнсть.
PhpMyAdmin – история
Основателем проекта PHPMyAdmin является Тобиас Ратшиллер, программист из Германии, использовавший в качестве фундамента похожее программное обеспечение MySQL-Webadmin, созданное в 1997 году. Лавры идейного вдохновителя он передал в 2001 году своему коллеге – программисту Марку Делислу, создавшему со своей командой именно то, без преувеличения, чудо, которым предпочитают пользоваться почти все профессионально работающие во Всемирной сети.
Эта программа, оставаясь неизменно удобной и практически не изменяя своего интерфейса, постоянно модифицируется и улучшается вслед за появлением новых версий PHP и MySQL. На сегодняшний день актуальной версией этого веб-приложения является PHPMyAdmin 4.4.14, работающего совместно с MySQL 5 и PHP 5.2.
Инструменты импорта/экспорта, выполнение SQL-запросов
При использовании инструментов экспорта и импорта. Которые доступны в соответствующих вкладках панели задач phpMyAdmin. Необходимо учитывать, что эти функции можно выполнять как для отдельной БД (которая в данный момент выбрана), так и для всех БД по-умолчанию — когда ни одна БД не выбрана в списке в левой панели.
Рис. 8: Экспорт выбранной БД
Когда визуальных инструментов phpMyAdmin не хватает для выполнения каких-то специфичных или сложный действий с БД/таблицами. То есть возможность воспользоваться составлением запросов вручную на вкладке «SQL».
Рис. 9: Создание и выполнение SQL запросов
phpMyAdmin 4.9.5 and 5.0.2 are released
2020-03-21
Hello,
The phpMyAdmin team announces the release of both 4.9.5 and 5.0.2.
Both versions contain several security fixes:
- PMASA-2020-2 SQL injection vulnerability in the user accounts page,
particularly when changing a password - PMASA-2020-3 SQL injection vulnerability relating to the search feature
- PMASA-2020-4 SQL injection and XSS having to do with displaying results
- Removing of the «options» field for the external transformation.
Version 5.0.3 also contains many bug fixes:
- Fix for copying a user account
- Removed SET AUTOCOMMIT=0 from SQL export
- Fix for the display of table borders
- Fix for ENUM radio button user interface problems
- Improved the prompt for abandoning changes when no changes were made
in the SQL window - Fix for inserting a primary key with «insert as new row»
- Fix incorrect suggested latest available version to version 5
There are many other bugs fixes, please see the ChangeLog file included
with this release for full details.
Known shortcomings:
Due to changes in the MySQL authentication method, PHP versions prior to
7.4 are unable to authenticate to a MySQL 8.0 or newer server (our tests
show the problem actually began with MySQL 8.0.11). This relates to a
PHP bug https://bugs.php.net/bug.php?id=76243. There is a workaround,
that is to set your user account to use the current-style password hash
method, mysql_native_password. This unfortunate lack of coordination has
caused the incompatibility to affect all PHP applications, not just
phpMyAdmin. For more details, you can see our bug tracker item at
https://github.com/phpmyadmin/phpmyadmin/issues/14220. We suggest
upgrading your PHP installation to take advantage of the authentication
methods.
As a reminder, phpMyAdmin 4.9 is in the long-term support phase where it will only get important security fixes and critical bug fixes. Users are suggested to migrate to version 5.0.
Downloads are available now at https://phpmyadmin.net/downloads/
Donations
phpMyAdmin is a member project of Software
Freedom Conservancy. Conservancy is
a not-for-profit organization that provides financial and administrative
assistance to open source projects. Since Conservancy is a 501(c)(3) charity
incorporated in New York, donors can often deduct the donation on their USA
taxes.
As a free software project, phpMyAdmin has almost no revenues itself. On the
other side, we have some expenses. Currently most of the project’s funds are
used to hire contractors for development and bug fixes, and for travel costs to allow team members to meet at conferences.
For the general public, the suggested donation amount is 10 USD.
PayPal
We invite you to contribute money to our project using the above PayPal button.
PayPal is one of the most used online payments methods, it also accepts all
major credit cards.
Check or Wire
Software Freedom Conservancy, Inc.
137 Montague ST STE 380
BROOKLYN, NY 11201 USA
Conservancy can accept wire donations, but the instructions vary depending on
the country of origin. Please contact
accounting@sfconservancy.org
for instructions.
Stock donations
Conservancy also accepts stock donations on behalf of the phpMyAdmin project.
If you would like to donate stock, please contact
accounting@sfconservancy.org
for instructions on how to initiate the transfer.
Flattr
Alternatively you can appreciate our work using
Flattr. Flattr is a
microdonation system allowing users to easily appreciate others.