Установка phpmyadmin на linux centos

Содержание:

Linked-tables infrastructure (Инфраструктура связанных таблиц)

Для использования многих опций (закладок, комментариев, SQL-истории, PDF-схем, преобразования содержимого полей, и т.д.) необходимо создать набор специальных таблиц. Эти таблицы могут находиться как в Вашей базе данных, так и в центральной базе при многопользовательской системе (в этом случае данная БД может быть доступна только для пользователя controluser, соответственно, другие пользователи не имеют прав на неё).
Зайдите в директорию scripts/, здесь вы найдете файл create_tables.sql

(Если используете Windows сервер, обратите особое внимание на ).
Если у Вас установлена версия MySQL сервера 4.1.2 или более позднее, используйте вместо вышеуказанного файла create_tables_mysql_4_1_2+.sql, для новой инсталляции.
Если у вас уже есть готовая инфраструктура и вы обновляете MySQL до версии 4.1.2 или выше, используйте upgrade_tables_mysql_4_1_2+.sql.
Вы можете использовать phpMyAdmin для создания баз данных и таблиц, для этого необходимо обладать администраторскими привилегиями на создание баз данных и таблиц, в связи с чем скрипту может понадобиться небольшая настройка (указание названия базы данных).
После импорта create_tables.sql, Вы должны определить названия таблиц в файле config.inc.php, с помощью директив, описанных в разделе «Конфигурирование». Кроме этого необходимо обладать правами controluser на данные таблицы (см

ниже, раздел «Использование режима аутентификации»).

Столбец с восстановлением MySQL

После операции с базой данных MySQL с помощью PHPMyAdmin, например, сложных поисковых запросов, которые не принесли никакого результата и не разбились, может случиться так, что база данных больше не доступна.

На этом этапе при попытке открыть таблицу содержимое не отображается. Ошибка позади этого, скорее всего, таблица MySQL помечена как разбитая и должна быть восстановлена.

Хорошей новостью является то, что она скорее всего может быть решена в клиенте PHPMyAdmin довольно быстро и без потери данных. Быстро в зависимости от размера базы данных.

Первый шаг — проверить журналы MySQL, файл mysql_error.log — в XAMPP, журнал ошибок MySQL доступен через панель управления, в MySQL> Журналы> mysql_error.log

Таблица MySQL помечена как разбитая и должна быть восстановлена

Ошибка может выглядеть следующим образом: показывается, что таблица отмечена как сбой:

MySQL отмечен как разбитый и должен быть восстановлен

Решение отличается в зависимости от используемого механизма хранения базы данных, InnoDB или MyISAM. См. Ниже решение для обоих из них, которое отличается.

Выполнение таблицы исправления PHPMyAdmin для MyISAM, скорее всего, будет работать с использованием параметра PHPMyAdmin repair crashed table в графическом интерфейсе пользователя.

Способ восстановления таблицы InnoDB в MySQL будет заключаться в том, чтобы снова экспортировать, удалить и импортировать базу данных.

Однако, оба могут быть достигнуты с помощью PHPMyAdmin, и он решит, что таблица отмечена как разбитая и должна быть устранена.

Шаг 2 — Настройка аутентификации и прав пользователя

При установке phpMyAdmin на ваш сервер автоматически создал пользователь базы данных с именем , который отвечает за определенные базовые процессы программы. Вместо того, чтобы выполнять вход с помощью этого пользователя и пароля администратора, которые вы задали при установке, рекомендуется войти с использование вашего root пользователя MySQL или пользователя, предназначенного для управления базами данных через интерфейс phpMyAdmin.

Настройка доступа по паролю для учетной записи root в MySQL

В системах Ubuntu при запуске MySQL 5.7 (и более поздние версии) для root пользователя MySQL по умолчанию устанавливается аутентификация с помощью плагина , а не пароля. Это позволяет обеспечить большую безопасность и удобство во многих случаях, однако это также может осложнить ситуацию, когда вам нужно предоставить внешней программе, например, phpMyAdmin, доступ к пользователю.

Чтобы войти в phpMyAdmin с root пользователем MySQL, вам нужно переключить метод аутентификации с на , если вы еще не сделали этого. Для этого откройте командную строку MySQL через терминал:

Затем проверьте, какой метод аутентификации используют ваши аккаунты пользователей MySQL с помощью следующей команды:

В этом примере вы можете видеть, что root пользователь действительно использует метод аутентификации с помощью плагина . Чтобы настроить для учетной записи root аутентификацию с помощью пароля, выполните следующую команду . Обязательно измените значение на надежный пароль по вашему выбору:

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

Проверьте методы аутентификации, применяемые для каждого из ваших пользователей, чтобы подтвердить, что root пользователь больше не использует для аутентификации плагин :

В этом выводе вы можете увидеть, что пользователь root будет использовать аутентификацию по паролю. Теперь вы можете выполнить вход в интерфейс phpMyAdmin с помощью root пользователя с паролем, который вы задали ранее.

Настройка доступа по паролю для выделенного пользователя MySQL

Некоторые могут посчитать, что для их рабочего процесса лучше подходит подключение к phpMyAdmin с помощью специально выделенного пользователя. Чтобы сделать это, снова откройте командную строку MySQL:

Примечание. Если вы активировали аутентификацию по паролю, как указано в предыдущем разделе, вам потребуются другие команды для доступа к командной строке MySQL. Следующая команда будет запускать ваш клиент MySQL с обычными правами пользователя, и вы получите права администратора внутри базы данных только с помощью аутентификации:

Создайте нового пользователя и придумайте для него надежный пароль:

Затем предоставьте вашему новому пользователю соответствующие права. Например, вы можете предоставить пользователю права доступа ко всем таблицам в базе данных, а также можете добавлять, изменять и удалять права пользователя с помощью этой команды:

После этого закройте командную строку MySQL:

Теперь вы можете получить доступ к веб-интерфейсу, набрав доменное имя или открытый IP-адрес вашего сервера и добавив

Выполните вход в интерфейс с помощью root пользователя или с новым именем пользователя и паролем, которые вы только что задали.

При входе вы увидите пользовательский интерфейс, который будет выглядеть следующим образом:

Теперь, когда вы можете подключаться и взаимодействовать с phpMyAdmin, осталось только установить более жесткие правила безопасности системы, чтобы защитить ее от атак.

Prerequisites

In order to complete this guide, you will need:

  • A server running Ubuntu 20.04. This server should have a non-root user with administrative privileges and a firewall configured with . To set this up, follow our initial server setup guide for Ubuntu 20.04.
  • A LEMP stack (Linux, Nginx, MySQL, and PHP) installed on your Ubuntu 20.04 server. To install and configure these components, follow our guide on How To Install Linux, Nginx, MySQL, PHP (LEMP stack) on Ubuntu 20.04.

Additionally, because phpMyAdmin handles authentication using MySQL credentials, we strongly recommend that you install an SSL/TLS certificate to enable encrypted traffic between server and client. If you do not have an existing domain configured with a valid certificate, follow this guide on securing Nginx with Let’s Encrypt on Ubuntu 20.04 to set this up.

Warning: If you don’t have an SSL/TLS certificate installed on the server and you still want to proceed, please consider enforcing access via SSH Tunnels as explained in of this guide.

Once you have these prerequisites in place, you can begin following Step 1 of this guide.

Ubuntu

Инсталляция phpMyAdmin в Ubuntu:

aptitude install phpmyadmin

Безопасность phpMyAdmin:

  • Для увеличения безопасности доступа к phpmyadmin можно разрешить доступ с определенных IP, отредактировав файл /etc/apache2/conf-enabled/phpmyadmin.conf

    Alias /phpmyadmin /usr/share/phpmyadmin
    
    <Directory /usr/share/phpmyadmin>
            Deny from all
            Allow from 127.0.0.0/255.0.0.0 ::1/128
            Allow from xxx.xxx.xxx.xx
    ...
    
  • Можно разрешить доступ к phpmyadmin только при помощи .
  • Можно удалить phpmyadmin.conf в conf-enabled и подгружать его только для определенного виртуального хоста, при помощи директивы IncludeOptional или Include в зависимости от версии Apache

    <VirtualHost _default_:443>
     
         Include etcphpmyadminapache.conf
    #    IncludeOptional conf-available/phpmyadmin.conf
    </VirtualHost>

Вход в 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.

Prerequisites

Before you get started with this guide, you need to have some basic steps completed.

First, we’ll assume that your server has a non-root user with privileges, as well as a firewall configured with , as described in the initial server setup guide for Ubuntu 18.04.

We’re also going to assume that you’ve completed a LAMP (Linux, Apache, MySQL, and PHP) installation on your Ubuntu 18.04 server. If this is not completed yet, you can follow this guide on installing a LAMP stack on Ubuntu 18.04.

Finally, there are important security considerations when using software like phpMyAdmin, since it:

  • Communicates directly with your MySQL installation
  • Handles authentication using MySQL credentials
  • Executes and returns results for arbitrary SQL queries

For these reasons, and because it is a widely-deployed PHP application which is frequently targeted for attack, you should never run phpMyAdmin on remote systems over a plain HTTP connection. If you do not have an existing domain configured with an SSL/TLS certificate, you can follow this guide on securing Apache with Let’s Encrypt on Ubuntu 18.04. This will require you to register a domain name, create DNS records for your server, and .

Once you are finished with these steps, you’re ready to get started with this guide.

Установка NGINX

Устанавливаем NGINX:

apt-get install nginx

Внесем изменение в файл nginx.conf:

vi /etc/nginx/nginx.conf

http {
    …
    server_names_hash_bucket_size 64;
    ….
}

* в данном примере мы сняли комментарий со строчки server_names_hash_bucket_size 64;* на практике, может встретиться ошибка could not build server_names_hash, you should increase server_names_hash_bucket_size: 32. Она возникает при большом количестве виртуальных серверов или если один из них будет иметь длинное название. Данная строка в конфиге исправит ситуацию.

Перезапускаем nginx:

systemctl enable nginx

systemctl restart nginx

* в процессе запуска мы можем увидим ошибку — возможно, в системе работает другой веб-сервер и занимает 80 порт. Как правило, это apache. Чтобы его выключить (на данном этапе он нам не нужен) вводим команду systemctl stop apache2.

Проверим работу веб-сервера. Открываем браузер и вводим в адресной строке http://<IP-адрес сервера>. В итоге мы должны увидеть заголовок «Welcome to nginx!»:

Если стартовая страница не загружается, проверяем состояние сервиса:

systemctl status nginx

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.

Шаг 1 — Установка phpMyAdmin

Вы можете использовать APT для установки phpMyAdmin из репозиториев Ubuntu по умолчанию.

Обновите индекс пакетов вашего сервера от имени пользователя без прав root с привилегиями sudo:

После этого вы можете установить пакет . Помимо этого пакета, официальная документация также рекомендует установить несколько расширений PHP на ваш сервер для возможности использования определенной функциональности и улучшения производительности.

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

  • : модуль для работы с строками, не поддерживающими кодировку ASCII, и конвертации таких строк в другие кодировки
  • : это расширение поддерживает загрузку файлов в phpMyAdmin
  • : поддержка библиотеки GD Graphics
  • : поддержка сериализации JSON для PHP
  • : позволяет PHP взаимодействовать с разными типами серверов, используя разные протоколы

Запустите следующую команду для установки этих пакетов в систему

Обратите внимание, что процесс установки требует, чтобы вы ответили на ряд вопросов для корректной настройки phpMyAdmin. Мы кратко пробежимся по этим параметрам:

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

  • Для выбора сервера вы можете выбрать
    Предупреждение. При появлении запроса вариант «apache2» выделен, но не выбран. Если вы не нажмете для выбора Apache, установщик не будет перемещать необходимые файлы при установке. Нажмите , затем , а потом для выбора Apache.

  • Выберите при ответе на вопрос о том, необходимо ли использовать для настройки базы данных.
  • Затем вам будет предложено выбрать и подтвердить пароль приложения MySQL для phpMyAdmin

Примечание. Если вы установили MySQL, следуя указаниям , вы, возможно, активировали плагин Validate Password. На момент написания этого руководства активация этого компонента будет вызывать ошибку при попытке задать пароль пользователя phpmyadmin:

Для устранения этой проблемы выберите опцию abort для остановки процесса установки. Затем откройте командную строку MySQL:

Либо, если вы активировали аутентификацию по паролю для пользователя с правами root MySQL, запустите эту команду, а затем введите пароль при запросе:

Из командной строки запустите следующую команду для отключения компонента Validate Password

Обратите внимание, что в этом случае выполняется не удаление, а простая остановка загрузки компонента на ваш сервер MySQL:. После этого вы можете закрыть клиент MySQL:

После этого вы можете закрыть клиент MySQL:

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

После установки phpMyAdmin вы можете открыть командную строку MySQL еще раз с помощью или , а затем запустить следующую команду для повторной активации компонента Validate Password:

В процессе установки будет добавлен файл конфигурации phpMyAdmin в каталог , где он будет считываться автоматически. Для завершения настройки Apache и PHP для работы с phpMyAdmin выполните последнюю оставшуюся задачу этого раздела руководства и явно активируйте расширение PHP с помощью следующей команды:

Перезапустите Apache для вступления изменений в силу.

Теперь phpMyAdmin установлен и настроен для работы с Apache. Однако, прежде чем вы сможете войти и начать взаимодействие с базами данных MySQL, вам нужно убедиться, что у пользователей MySQL есть права, необходимые для взаимодействия с программой.

Установка PHP и PHP-FPM

Устанавливаем PHP и PHP-FPM:

apt-get install php php-fpm

Разрешаем автозапуск php-fpm и запускаем его:

systemctl enable php7.4-fpm

* обратите внимание, что мы запустили php-fpm версии 7.4. Но установлена может быть и другая версия — ее можно узнать по версии php командой php -v

Настройка связки NGINX + PHP

Открываем файл для настройки виртуального домена по умолчанию:

vi /etc/nginx/sites-enabled/default

В секции location или server редактируем параметр index на следующее значение:


index index.php index.html index.htm;

* в данном случае мы сказали серверу сначала искать индексный файл index.php, затем остальные по списку.

А внутри секции server добавим следующее:

        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;
        }

* где /var/www/html — корневой путь хранения скриптов; /run/php/php7.4-fpm.sock — путь до сокетного файла для взаимодействия с php-fpm

Обратите еще раз внимание, что если в нашей системе будет установлена другая версия php, необходимо внести соответствующую корректировку

Пример файла default:

server {
    listen 80 default_server;
    listen :80 default_server;
    root /var/www/html;
    index index.php index.html index.htm index.nginx-debian.html;
    server_name _;
    location / {
        index index.php index.html index.htm;
    }
    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;
    }
}

Проверяем правильность настроек nginx:

nginx -t

И перезагружаем его:

systemctl restart nginx

Открываем конфигурационный файл PHP-FPM:

vi /etc/php/7.4/fpm/pool.d/www.conf

Проверяем, что путь до сокетного файла такой же, как мы задали в настройках NGINX:

listen = /run/php/php7.4-fpm.sock

В противном случае меняем его и перезапускаем сервис:

systemctl restart php7.4-fpm

Теперь заходим в каталог хранения настроенного сайта:

cd /var/www/html

Создаем index.php со следующим содержимым:

vi index.php

<?php phpinfo(); ?>

Открываем браузере и переходим по адресу http://<IP-адрес сервера>. Мы должны увидеть сводную информацию по PHP и его настройкам:

* в данном примере используется php версии 7.4.

Предварительные требования

Прежде чем приступить к изучению данного руководства, вам нужно выполнить несколько базовых действий.

Во-первых, мы полагаем, что ваш сервер имеет пользователя user без root прав с привилегиями , а также брандмауэр с , как указано в руководстве по начальной настройке сервера для Ubuntu 18.04.

Мы также предполагаем, что вы выполнили установку LAMP (Linux, Apache, MySQL и PHP) на вашем сервере с Ubuntu 18.04. Если вы еще не сделали этого, вы можете воспользоваться данным руководством по установке стека LAMP на Ubuntu 18.04.

Наконец, существует ряд важных соображений безопасности при использовании таких программных средств, как phpMyAdmin, поскольку phpMyAdmin:

  • напрямую связывается с установленной у вас версией MySQL;
  • управляет аутентификацией, используя учетные данные MySQL;
  • исполняет и возвращает результаты для произвольных SQL запросов.

По этим причинам, и поскольку это широко применяемое PHP приложение, которое часто становится мишенью для атак, вы ни при каких условиях не должны запускать phpMyAdmin на удаленных системах, используя обычное HTTP-соединение. Если у вас нет существующего домена с настроенным SSL/TLS сертификатом, вы можете воспользоваться следующим руководством по обеспечению безопасности Apache с помощью Let’s Encrypt в Ubuntu 18.04. Для этого вам потребуется зарегистрировать доменное имя, создать DNS запись для вашего сервера и .

После завершения этих шагов вы будете готовы начать работу с данным руководством.

Установка 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.

Обновление старой версии

Просто скопируйте конфигурационный файл ./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.

Этап 3. Настройка безопасности phpMyAdmin

Как только основная настройка phpMyAdmin Ubuntu сделана, нужно подумать о безопасности. phpMyAdmin популярен не только среди обычных пользователей, но и среди злоумышленников

Важно обезопасить свой сайт и предотвратить неавторизованный доступ. Дополнительную защиту можно обеспечить с помощью авторизации пользователя на сервере, а затем в phpMyAdmin

  1. 1.

    Откройте конфигурационный файл веб-сервера Apache:

  2. 2.

    Добавьте следующую строку в файл:

    phpMyAdmin Ubuntu

  3. 3.

    Сохраните и закройте файл. Перезагрузите Apache командой:

  4. 4.

    Создайте файл для phpMyAdmin командой:

    Добавьте в файл следующие строки:

    Где:

    После ввода указанных строк сохраните и закройте файл.

    phpMyAdmin защитить

  5. 5.

    Создайте файл, путь к которому был указан в 4 шаге в значении AuthUserFile, и добавьте в него пользователя.

    Сначала установите утилиту :

    Создайте файл и первого пользователя командой:

    Где username — имя пользователя, с помощью которого будет происходить авторизация.

    Введите пароль для нового пользователя. После этого файл будет создан и в него будет добавлен хэш указанного вами пароля.

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

  6. 6.

    Теперь при попытке зайти по адресу «123.123.123.123/phpmyadmin» (где 123.123.123.123 — IP-адрес вашего сервера) будет появляться окно авторизации:

    phpMyAdmin Linux установка

Готово, настройка безопасности завершена.

Installation

The installation of phpMyAdmin is incredibly easy. Here’s what you need to do:

  1. Open a terminal window on your Ubuntu Server.
  2. Issue the command sudo apt-get install phpmyadmin php-mbstring php-gettext -y.
  3. When prompted, type your sudo password.
  4. Allow the installation to complete.

During the installation, you’ll be prompted to select the web server to be used (Figure A). Make sure to select apache2.

Figure A

Selecting the proper web server for phpMyAdmin.

You will also be prompted to okay the installation of a database. Make sure to select Yes for this option. Next, you’ll be asked to set a MySQL application password for phpmyadmin (so it can register with the database server). Type and verify a unique (and strong) password. Finally, you must enter the database admin user password.

Once the installation completes, you should now be able to point your browser to http://SERVER_IP/phpmyadmin (where SERVER_IP is the IP address of your hosting server) and log in.

SEE: Wireless networking policy (Tech Pro Research)

Here’s the first gotcha with MySQL on Ubuntu 18.04: You cannot, because of security issues, log in as the root user. In order to use phpMyAdmin on Ubuntu, you must log in with a different user. It’s a good thing that during the installation of phpMyAdmin you created a password for the phpmyadmin user. So log in with the user phpmyadmin and the password you created for that user.

Here’s where you run into the second gotcha. Upon logging in you will immediately discover the phpmyadmin user is very limited in what it can do. To make the phpMyAdmin GUI a viable solution, we must change that.

Использование phpMyAdmin для веб-разработки

1. Создание и удаление баз данных

На мой взгляд PMA особо полезен на стадиях разработки и тестирования, когда в любой момент смогу сбросить базу или сделать откат какой-то операции.

Без PMA мне бы пришлось заходить на мой сервер через SSH, подключаться к MySQL, а затем запускать запрос:

create database myapp;
 grant all privileges on myapp_database.* TO "your-mysql-username"@"localhost" identified by "your-mysql-password";
 flush privileges;

PMA позволяет нам запускать любой запрос через удобный визуальный интерфейс. Нажмите вкладку SQL и вставьте вышеуказанные SQL код. Затем кликните Go чтобы создать базу данных.

Так же для создания базы данных можите напрямую воспользоваться визуальный интерфейсом:

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

Кликните “Добавить пользователя” и назначьте желаемые привилегии для базы данных:

Для самого обычного аккаунта будет достаточно выделить боксы в разделах “данные” и “структура”.

Чтобы удалить базу данных откройте меню, выберите базу, нажмите “удалить”:

2. Резервное копирование базы данных

Перед какими-то важными операциями неплохо было бы осуществить резервное копирование базы. Если что-то пойдет не так вы всегда сможете восстановить базу из резервной копии.

Щелкните на базу данных, перейдите на вкладку “Экспорт” и выберите “Custom”.

Выберите пункт :

Когда нажмёте Go, PMA создаст резервную копию всей вашей базы данных и отдаст её на скачку. Если настройки тайм-аута в вашем Apache PHP не настроены должным образом, некоторые загрузки крупных файлов могут не завершиться или прерваться. Измените настройки в .

3. Тестирование запросов

PMA прекрасно подходит для тестирования SQL запросов. Во время разработки одного проекта, мне было необходимо изучить поведение и протестировать ряд сложных запросов геолокации, найти ближайшие к моему адресу соседства.

Выберите ваше базу данных, нажмите Query. Вставьте или отредактируйте сложные SQL запросы и протестируйте их напрямую через PMA:

После шлифовки запроса, его легче применить в рамках шаблона ActiveRecord. Как тут:

$criteria = new CDbCriteria;
$criteria->together=true;
$criteria->having= "distance < 100";
$criteria->order = "distance ASC";
$criteria->with = array('place_geometry'=>array('select'=>'place_id,center,'.new CDbExpression('(3959 * acos( cos( radians('.$lat.') ) * cos( radians( X(center) ) ) * cos( radians( Y(center) ) - radians('.$lon.') ) + sin( radians('.$lat.') ) * sin( radians( X(center) ) ) )) as distance')));
$dataProvider = new CActiveDataProvider(Place::model()->active()->includesMember($id),
                        array('criteria' => $criteria,
                        'pagination' => array(
                            'pageSize' => 10,
                        ),
                    ));

4. Быстрое изменение данных

Если вы разработчик, то у вас наверняка возникала ситуация что при работе с БД выскакивали ошибки из-за отсутствия или неправильного значения в какой-то из ячеек таблицы. Не так ли?

PMA предоставляет нам отличную возможность изменения значения ячеек непосредственно из отображения таблицы. Откройте базу данных и выберите таблицу. Дважды кликните на колонке чтобы ввести значение. После окончания изменений нажмите “Enter”:

5. Актуализация базы данных на основе миграций

Если вы используете фрэймворк (как Yii), то наверняка в вашем арсенале есть инструмент миграции. Миграции облегчает поэтапное изменение БД в процессе разработки. Однако при тестирование могут возникнуть проблемы.

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

В PMA, выберите базу данных, кликните не вкладку SQL и выполните запрос. Вот несколько примеров:

Надеемся, что данная статья была для вас полезной.

5 последних уроков рубрики «PHP»

Когда речь идёт о безопасности веб-сайта, то фраза «фильтруйте всё, экранируйте всё» всегда будет актуальна. Сегодня поговорим о фильтрации данных.

Обеспечение безопасности веб-сайта — это не только защита от SQL инъекций, но и протекция от межсайтового скриптинга (XSS), межсайтовой подделки запросов (CSRF) и от других видов атак

В частности, вам нужно очень осторожно подходить к формированию HTML, CSS и JavaScript кода.

Expressive 2 поддерживает возможность подключения других ZF компонент по специальной схеме. Не всем нравится данное решение

В этой статье мы расскажем как улучшили процесс подключение нескольких модулей.

Предположим, что вам необходимо отправить какую-то информацию в Google Analytics из серверного скрипта. Как это сделать. Ответ в этой заметке.

Подборка PHP песочниц
Подборка из нескольких видов PHP песочниц. На некоторых вы в режиме online сможете потестить свой код, но есть так же решения, которые можно внедрить на свой сайт.

Download

Many operating systems already include a phpMyAdmin package and will
automatically keep it updated, however these versions are sometimes
slightly outdated and therefore may be missing the latest features.
Additionally, the configuration process varies widely by package and
may not adhere to the official phpMyAdmin documentation. That being said,
it is usually the quickest and easiest way of keeping an updated installation. Please contact your OS
vendor for more information. Some additional information is also available in our documentation. If you just want to
try phpMyAdmin in a virtual machine, you might want to check the .

If you do not find a suitable package or wish to install your own phpMyAdmin,
you can download one of the following
kits. Please note that each version has requirements for the minimum PHP
and MySQL versions.

Since July 2015 all phpMyAdmin releases are cryptographically signed by the
releasing developer. You should verify that the signature matches the archive
you have downloaded. Verification instructions are placed in our
documentation in the chapter.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector