7. Устанавливаем PhpMyAdmin¶
Для создания, просмотра и редактирования баз данных MySQL установим программу PhpMyAdmin.
Процесс установки¶
- Запустите в терминале (PuTTY) команду:
sudo apt-get install phpmyadmin -y
Соглашайтесь со всем по ходу установки.
Повысим безопасность PhpMyAdmin¶
Если злоумышленник узнает адрес PhpMyAdmin, то он может взломать сервер. Поэтому мы сделаем уникальный URL для PhpMyAdmin. Это не даёт 100% гарантии, однако это самый простой способ снизить риск. Больше информации о защите вы найдёте в Яндекс.
По умолчанию, phpmyadmin доступен по адресу:
Мы изменим путь после домена.
-
Найдите на сервере с помощью FileZilla файл:
/etc/phpmyadmin/apache.conf
Откройте данный файл для правки (редактирования) или скопируйте на компьютер для редактирования. Замените /phpmyadmin на уникальное слово, в строке:
Alias /phpmyadmin /usr/share/phpmyadmin
Alias /php1234 /usr/share/phpmyadmin
Перезагрузите Apache Выполните в PuTTY команду:
sudo service apache2 restart
Проверяем работу PhpMyAdmin¶
Откройте PhpMyAdmin по новому пути
Отлично! Можно сказать, что ваш сервер готов! Осталось установить CS-Cart.
Содержание
- Установка и переезд
- Установка в браузере
- Установка на хостинг
- Настройка сервера VPS
- Настройка веб-сервера Apache + PHP + MySQL
- 1. Сервер, инструменты и программное обеспечение
- 2. Подключаемся к серверу
- 3. Устанавливаем веб-сервер — Apache
- 4. Подключим домен к директории на сервере
- 5. Устанавливаем PHP
- 6. Устанавливаем MySQL
- 7. Устанавливаем PhpMyAdmin
- 8. Устанавливаем CS-Cart на VPS
- Администрирование
- Разработка
- Дизайн
- Обновление CS-Cart
- Часто задаваемые вопросы
- История изменений
Сейчас
- 7. Устанавливаем PhpMyAdmin
- Процесс установки
- Повысим безопасность PhpMyAdmin
- Проверяем работу PhpMyAdmin
Как установить и настроить phpMyAdmin на Windows Server
С помощью phpMyAdmin можно создавать, настраивать, редактировать, удалять базы данных и объекты баз данных на сервере под управлением MySQL.
Для работы веб-приложения phpMyAdmin, на сервере уже должны быть установлены и настроены веб-сервер IIS, работающий в связке с PHP и сервер баз данных MySQL.
Если указанные приложения не установлены, можно воспользоваться инструкциями: Как установить и настроить PHP на Windows Server, Как установить и настроить веб-сервер IIS на Windows Server, Как установить и настроить MySQL на Windows Server.Для выполнения всех дальнейших действий, предполагается, что программы IIS, PHP, MySQL уже установлены и работают.
Приступим к установке.
1. В папке C:\inetpub\wwwroot создайте папку phpmyadmin

2. Перейдите на страницу Download phpMyAdmin и скачайте мультиязычный пакет *.all-languages.zip

3. Разархивируйте скачанный архив в ранее созданную папку C:\inetpub\wwwroot\phpmyadmin

4. Установка завершена. Откройте страницу http://localhost/phpmyadmin/ , должна отобразиться стандартная форма входа в панель phpmyadmin

4.1 Примечание к установке.
На этом этапе при открытии страницы http://localhost/phpmyadmin/ , возможны такие ошибки:
4.1.1 Ошибка 1. Не найден обработчик. При этом страница с ошибкой выглядит так:

Решение: создать обработчик php файлов для веб-сервера. На скриншотах ниже указано как это можно сделать.


4.1.2 Ошибка 2. Не найдено PHP расширение (модуль). Например, mysqli (как на скриншоте)

Решение: включить необходимое расширение в файле php.ini и перезапустить веб-сервер IIS. Файл php.ini находится в папке, куда ранее был установлен PHP (в нашем примере это папка C:\php\). Для включения необходимого расширения, необходимо найти его по названию в файле php.ini и раскомментировать (убрать вначале строки символ ; ) строку с именем расширения.

После сохранения файла php.ini необходимо перезапустить веб-сервер

5. В корневой папке phpmyadmin необходимо найти файл config.sample.inc.php и переименовать его в config.inc.php. Далее откройте config.inc.php в блокноте или другом тектовом редакторе (рекомендуем Notepad++) и раскомментируйте (уберите вначале строки символы //) такие строки:
$cfg[‘Servers’][$i][‘pmadb’] = ‘phpmyadmin’;
$cfg[‘Servers’][$i][‘bookmarktable’] = ‘pma__bookmark’;
$cfg[‘Servers’][$i][‘relation’] = ‘pma__relation’;
$cfg[‘Servers’][$i][‘table_info’] = ‘pma__table_info’;
$cfg[‘Servers’][$i][‘table_coords’] = ‘pma__table_coords’;
$cfg[‘Servers’][$i][‘pdf_pages’] = ‘pma__pdf_pages’;
$cfg[‘Servers’][$i][‘column_info’] = ‘pma__column_info’;
$cfg[‘Servers’][$i][‘history’] = ‘pma__history’;
$cfg[‘Servers’][$i][‘table_uiprefs’] = ‘pma__table_uiprefs’;
$cfg[‘Servers’][$i][‘tracking’] = ‘pma__tracking’;Дополнительно замените слово localhost на 127.0.0.1

Сохраните файл config.inc.php.
6. В браузере переходим на страницу http://127.0.0.1/phpmyadmin и логинимся с учетными данными пользователя root, пароль которого был создан при установке на сервер MySQL.


7. Для хранения служебной информации, phpmyadmin использует собственную базу данных, которую мы сейчас создадим. Также создадим пользовател с полными правами на данную базу данных.
Для создания базы данных, воспользуемся готовым дампом, предоставленным разработчиками в файле create_tables.sql. Данный файл находится в подпапке sql. Для импорта данного дампа, находясь на главной странице phpmyadmin перейдите на вкладку Импорт

выберите файл create_tables.sql

нажмите кнопку Import (в самом низу формы) и дождитесь завершения импорта базы данных.
Теперь в списке должна появиться база данных phpmyadmin

Теперь создадим учетную запись MySQL и предоставим права доступа на только что созданную базу данных. Для этого перейдите в базу данных phpmyadmin и нажмите Привелегии / Privileges — Добавить пользователя / Add user account

Заполните поля формы, как указано на скриншоте

В файле config.inc.php необходимо раскомментировать строки и прописать данные доступа ранее созданного пользователя pma
pmapass — пароль пользователя pma

В данной статье мы научились устанавливать phpmyadmin на Windows Server.
Похожие статьи
Хостинг для WordPress
Первый месяц бесплатно!
Как установить и настроить phpMyAdmin в Ubuntu 20.04
Рассказываем, как настроить сервер phpMyAdmin на операционной системе Ubuntu 20.04 на облачном сервере, как работать с пользователями и осуществлять начальные настройки безопасности.
Введение
Данная инструкция рассказывает о процессе установки инструмента phpMyAdmin в операционной системе Ubuntu 20.04. Установку выполняем в облачной инфраструктуре Selectel. Нам потребуется настроенный сервер LAMP. О том, как его развернуть, написали в статье.
PhpMyAdmin — бесплатный инструмент, созданный на языке php, для администрирования MySQL с использованием браузера.
В комплекте — огромный пул возможных операций с MySQL и MariaDB. На данный момент актуальная стабильная версия — phpMyAdmin 5.1.1.
Установка phpMyAdmin
Первый шаг — установка модуля расширения php-mbstring. Mbstring предоставляет функции для работы с многобайтными строками, которые облегчают обработку многобайтовых кодировок в php.
sudo apt install php-mbstring -yВывод успешной установки:
vlan48@apachi:~$ sudo apt install php-mbstring -y [sudo] password for vlan48: Reading package lists. Done Building dependency tree Reading state information. Done The following additional packages will be installed: libonig5 php7.4-mbstring The following NEW packages will be installed: libonig5 php-mbstring php7.4-mbstring 0 upgraded, 3 newly installed, 0 to remove and 27 not upgraded. Need to get 541 kB of archives. After this operation, 1709 kB of additional disk space will be used. Get:1 http://mirror.selectel.ru/ubuntu focal/universe amd64 libonig5 amd64 6.9.4-1 [142 kB] Get:2 http://mirror.selectel.ru/ubuntu focal-updates/universe amd64 php7.4-mbstring amd64 7.4.3-4ubuntu2.6 [397 kB] Get:3 http://mirror.selectel.ru/ubuntu focal/universe amd64 php-mbstring all 2:7.4+75 [2012 B] Fetched 541 kB in 0s (12.1 MB/s) Selecting previously unselected package libonig5:amd64. (Reading database . 45001 files and directories currently installed.) Preparing to unpack . /libonig5_6.9.4-1_amd64.deb . Unpacking libonig5:amd64 (6.9.4-1) . Selecting previously unselected package php7.4-mbstring. Preparing to unpack . /php7.4-mbstring_7.4.3-4ubuntu2.6_amd64.deb . Unpacking php7.4-mbstring (7.4.3-4ubuntu2.6) . Selecting previously unselected package php-mbstring. Preparing to unpack . /php-mbstring_2%3a7.4+75_all.deb . Unpacking php-mbstring (2:7.4+75) . Setting up libonig5:amd64 (6.9.4-1) . Setting up php7.4-mbstring (7.4.3-4ubuntu2.6) . Creating config file /etc/php/7.4/mods-available/mbstring.ini with new version Setting up php-mbstring (2:7.4+75) . Processing triggers for libc-bin (2.31-0ubuntu9.2) . Processing triggers for libapache2-mod-php7.4 (7.4.3-4ubuntu2.6) . Processing triggers for php7.4-cli (7.4.3-4ubuntu2.6) .Следующим этапом станет инсталляция phpMyAdmin в систему. Выполняется это командой:
sudo apt install phpmyadmin -yОбратить внимание на Validate Password
Во время инсталляции LAMP мог быть активирован плагин Validate Password. Это чревато ошибкой при создании пароля для пользователя phpmyadmin. Для деактивации плагина необходимо выполнить следующие шаги:
Открыть консоль управления MySQL:
sudo mysqlЕсли активна аутентификация по паролю суперпользователя root, команда будет выглядеть так:
mysql -u root -pТеперь отправляем следующую команду:
UNINSTALL COMPONENT "file://component_validate_password";Это действие произведет отключение плагина Validate Password.
Покинем консоль MySQL, команда:
exitМожно продолжить установку phpMyAdmin. Эти действия следует производить только в случае возникновения ошибки, во всех остальных случаях в этом нет необходимости.
Продолжим установку. После отправки команды в терминал появится окно установщика, в котором потребуется ответить на ряд вопросов. Навигация в установщике осуществляется посредством использования клавиш Up down, выбор пунктов кнопка «Пробел», переход ниже — Tab. Ввод выбранного ответа — Enter.
На первый вопрос про используемый web-сервер, необходимо ответить — apache2.
Следующий вопрос про инсталляцию и настройку служебной базы данных для самой программы phpMyAdmin, отвечаем положительно.
Следующим пунктом будет установлен пароль ранее созданной базы данных для пользователя phpmyadmin:
Подтвердим созданный ранее пароль:
Вывод успешной работы программы:
vlan48@apachi:~$ sudo apt -y install phpmyadmin [sudo] password for vlan48: Reading package lists. Done Building dependency tree Reading state information. Done Suggested packages: www-browser php-recode php-gd2 php-pragmarx-google2fa php-bacon-qr-code php-samyoul-u2f-php-server Recommended packages: php-curl php-gd php-bz2 php-zip php-tcpdf The following NEW packages will be installed: phpmyadmin 0 upgraded, 1 newly installed, 0 to remove and 28 not upgraded. Need to get 4426 kB of archives. After this operation, 27.2 MB of additional disk space will be used. Get:1 http://mirror.selectel.ru/ubuntu focal/universe amd64 phpmyadmin all 4:4.9.5+dfsg1-2 [4426 kB] Fetched 4426 kB in 0s (34.8 MB/s) Preconfiguring packages . Determining localhost credentials from /etc/mysql/debian.cnf: succeeded. Selecting previously unselected package phpmyadmin. (Reading database . 46341 files and directories currently installed.) Preparing to unpack . /phpmyadmin_4%3a4.9.5+dfsg1-2_all.deb . Unpacking phpmyadmin (4:4.9.5+dfsg1-2) . Setting up phpmyadmin (4:4.9.5+dfsg1-2) . Determining localhost credentials from /etc/mysql/debian.cnf: succeeded. dbconfig-common: writing config to /etc/dbconfig-common/phpmyadmin.conf Creating config file /etc/dbconfig-common/phpmyadmin.conf with new version Creating config file /etc/phpmyadmin/config-db.php with new version checking privileges on database phpmyadmin for phpmyadmin@localhost: user creation needed. granting access to database phpmyadmin for phpmyadmin@localhost: success. verifying access for phpmyadmin@localhost: success. creating database phpmyadmin: success. verifying database phpmyadmin exists: success. populating database via sql. done. dbconfig-common: flushing administrative password apache2_invoke: Enable configuration phpmyadminУстановка завершена. Прежде чем пойти далее, необходимо произвести проверку работоспособности на данном этапе, чтобы в случае возникновения проблем, их можно было решить с наименьшими трудозатратами.
Проверим. В любом браузере открываем phpMyAdmin по IP-адресу сервера:
ip_address/phpmyadminТеперь можно войти в систему с использованием учетной записи, созданной во время установки. Проверяем:
Для учетной записи root по умолчанию применяется доступ с использованием плагина auth_socket. Изменим это на аутентификацию с использованием пароля. В данном случае необходимо изменить тип аутентификации на аутентификацию с использованием пароля.
Откроем консоль MySQL:
sudo mysqlПроизведем проверку таблицы пользователей, чтобы увидеть метод аутентификации для каждого пользователя:
SELECT user,plugin,host FROM mysql.user;+-------------------------+----------------------------------+------------+ | user | plugin | host | +-------------------------+----------------------------------+------------+ | debian-sys-maint | caching_sha2_password | localhost | | mysql.infoschema | caching_sha2_password | localhost | | mysql.session | caching_sha2_password | localhost | | mysql.sys | caching_sha2_password | localhost | | phpmyadmin | caching_sha2_password | localhost | | root | auth_socket | localhost | +------------------------+----------------------------------+--------------+ 7 rows in set (0.00 sec)Исходя из данных таблицы следует, что аутентификация пользователя root происходит с использованием плагина auth_socket.
Для изменения отправим следующую команду:
ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'password';Password добавляем свой.
Вывод работы команды:
Query OK, 0 rows affected (0.03 sec)В случае возникновения ошибки Plugin caching_sha2_password in not loaded следует обратиться к разделу «Возможные ошибки» в конце статьи.
SELECT user,plugin,host FROM mysql.user;+-----------------------+-----------------------------------+-----------+ | user | plugin | host | +------------------------+----------------------------------+-----------+ | debian-sys-maint | caching_sha2_password | localhost | | mysql.infoschema | caching_sha2_password | localhost | | mysql.session | caching_sha2_password | localhost | | mysql.sys | caching_sha2_password | localhost | | phpmyadmin | caching_sha2_password | localhost | | root | caching_sha2_password | localhost | +------------------------+---------------------------------+-------------+ 7 rows in set (0.00 sec)Теперь у пользователя root тип аутентификации — caching_sha2_password.
Работа с пользователями
Основная задача в работе с пользователями phpMyAdmin — создание и настройка прав. В качестве примера создадим пользователя с максимальными привилегиями.
Необходимо вернуться в терминал под пользователем с административными правами и отправить команду:sudo mysqlТак мы запустим работу с базой данных от имени администратора. Потребуется ввод пароля.
Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 14 Server version: 8.0.27-0ubuntu0.20.04.1 (Ubuntu) Copyright (c) 2000, 2021, Oracle and/or its affiliates. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql>Теперь необходимо добавить пользователя, а также его пароль. Выполнить это можно командой:
CREATE USER 'user'@'localhost' IDENTIFIED BY 'password';где user — новый пользователь, а password — пароль для этого пользователя.
В рабочем варианте отправленная команда выглядит так:
CREATE USER 'selectel'@'localhost' IDENTIFIED BY 's*****qq';Query OK, 0 rows affected (0.02 sec)Добавим необходимые привилегии для созданного пользователя. В данном случае это будут все привилегии для всех баз данных на сервере:
GRANT ALL PRIVILEGES ON *.* TO 'user'@'localhost';Если пользователю необходимо разрешить создавать пользователей и назначать им привилегии, необходимо добавить опции:
GRANT ALL PRIVILEGES ON *.* TO 'user'@'localhost' WITH GRANT OPTION;В данном примере в этом нет необходимости, поэтому будут только назначены полные привилегии для всех баз данных:
GRANT ALL PRIVILEGES ON *.* TO 'selectel'@'localhost';Query OK, 0 rows affected (0.00 sec)Остается только применить изменения в настройках привилегий для этого служит команда:
FLUSH PRIVILEGES;Query OK, 0 rows affected (0.01 sec)В некоторых случаях может потребоваться удаление ранее созданного пользователя.
Это выполняется с использованием команды:
DROP USER 'user'@'localhost';Проверяем что пользователь существует:
SELECT user FROM mysql.user;Отправленная команда осуществляет вывод списка текущих пользователей.
+--------------------------+ | user | +--------------------------+ | debian-sys-maint | | mysql.infoschema | | mysql.session | | mysql.sys | | phpmyadmin | | root | | selectel | +---------------------------+ 7 rows in set (0.01 sec)Убедившись что пользователь ‘selectel’ активен, можно произвести удаление:
DROP USER 'selectel'@'localhost';Query OK, 0 rows affected (0.01 sec)Производим повторную проверку, убеждаясь в его отсутствии в списке.
+--------------------------+ | user | +--------------------------+ | debian-sys-maint | | mysql.infoschema | | mysql.session | | mysql.sys | | phpmyadmin | | root | +---------------------------+ 7 rows in set (0.00 sec)На этом настройка пользователей завершена. Для выхода из mysql необходимо отправить команду exit.
Обеспечение безопасности phpMyAdmin
Если к серверу есть хоть какой-то доступ из интернета или ненадежной сети, необходимо обеспечить безопасность, добавив авторизацию.
Требуется создать файл .htaccess, который является конфигурационным файлом web-сервера Apache. Он дает возможность управлять web-сервером и настройками web-приложения с помощью директив, без изменения основного файла конфигурации web-сервера. В данной инструкции будет использован текстовый редактор nano.
Создаем файл .htaccess в директории /usr/share/phpmyadmin/ и вносим в него следующие директивы:
AuthType Basic Authname "Restricted Content" AuthUserFile /etc/phpmyadmin/.htpasswd Require valid-usersudo nano /usr/share/phpmyadmin/.htaccessAuthType Basic — авторизация по паролю;
Authname «Restricted Content» — сообщение для окна авторизации;
AuthUserFile /etc/phpmyadmin/.htpasswd — путь к файлу пароля, который будет использован для авторизации;
Require valid-user — директива указывает, что только авторизованные пользователи получат доступ к ресурсу.
Теперь необходимо установить пароль учетной записи.
sudo htpasswd -c /etc/phpmyadmin/.htpasswd userгде user — учетная запись.
sudo htpasswd -c /etc/phpmyadmin/.htpasswd selectelи дважды вводим пароль.
Adding password for user selectelДалее необходимо включить использование файлов .htaccess для директории /usr/share. Для этого откроем для редактирования файл apache2.conf и внесем изменения директивы для директории.
AllowOverride All Require all granted По умолчанию файл выглядит так:
Options FollowSymLinks AllowOverride None Require all denied AllowOverride None Require all granted Options Indexes FollowSymLinks AllowOverride None Require all granted # # Options Indexes FollowSymLinks # AllowOverride None # Require all granted # Вносим изменения в необходимую директиву:
AllowOverride All Require all granted # This is the main Apache server configuration file. It contains the # configuration directives that give the server its instructions. # See http://httpd.apache.org/docs/2.4/ for detailed information about # the directives and /usr/share/doc/apache2/README.Debian about Debian specific # hints. # # # Summary of how the Apache 2 configuration works in Debian: # The Apache 2 web server configuration in Debian is quite different to # upstream's suggested way to configure the web server. This is because Debian's # default Apache2 installation attempts to make adding and removing modules, # virtual hosts, and extra configuration directives as flexible as possible, in # order to make automating the changes and administering the server as easy as # possible. # It is split into several files forming the configuration hierarchy outlined # below, all located in the /etc/apache2/ directory: # # /etc/apache2/ # |-- apache2.conf # | `-- ports.conf # |-- mods-enabled # | |-- *.load # | `-- *.conf # |-- conf-enabled # | `-- *.conf # `-- sites-enabled # `-- *.conf # # # * apache2.conf is the main configuration file (this file). It puts the pieces # together by including all remaining configuration files when starting up the # web server. # # * ports.conf is always included from the main configuration file. It is # supposed to determine listening ports for incoming connections which can be # customized anytime. # # * Configuration files in the mods-enabled/, conf-enabled/ and sites-enabled/ # directories contain particular configuration snippets which manage modules, # global configuration fragments, or virtual host configurations, # respectively. # # They are activated by symlinking available configuration files from their # respective *-available/ counterparts. These should be managed by using our # helpers a2enmod/a2dismod, a2ensite/a2dissite and a2enconf/a2disconf. See # their respective man pages for detailed information. # # * The binary is called apache2. Due to the use of environment variables, in # the default configuration, apache2 needs to be started/stopped with # /etc/init.d/apache2 or apache2ctl. Calling /usr/bin/apache2 directly will not # work with the default configuration. # Global configuration # # # ServerRoot: The top of the directory tree under which the server's # configuration, error, and log files are kept. # # NOTE! If you intend to place this on an NFS (or otherwise network) # mounted filesystem then please read the Mutex documentation (available # at ); # you will save yourself a lot of trouble. # # Do NOT add a slash at the end of the directory path. # #ServerRoot "/etc/apache2" # # The accept serialization lock file MUST BE STORED ON A LOCAL DISK. # #Mutex file:$ default # # The directory where shm and other runtime files will be stored. # DefaultRuntimeDir $ # # PidFile: The file in which the server should record its process # identification number when it starts. # This needs to be set in /etc/apache2/envvars # PidFile $ # # Timeout: The number of seconds before receives and sends time out. # Timeout 300 # # KeepAlive: Whether or not to allow persistent connections (more than # one request per connection). Set to "Off" to deactivate. # KeepAlive On # # MaxKeepAliveRequests: The maximum number of requests to allow # during a persistent connection. Set to 0 to allow an unlimited amount. # We recommend you leave this number high, for maximum performance. # MaxKeepAliveRequests 100 # # KeepAliveTimeout: Number of seconds to wait for the next request from the # same client on the same connection. # KeepAliveTimeout 5 # These need to be set in /etc/apache2/envvars User $ Group $ # # HostnameLookups: Log the names of clients or just their IP addresses # e.g., www.apache.org (on) or 204.62.129.132 (off). # The default is off because it'd be overall better for the net if people # had to knowingly turn this feature on, since enabling it means that # each client request will result in AT LEAST one lookup request to the # nameserver. # HostnameLookups Off # ErrorLog: The location of the error log file. # If you do not specify an ErrorLog directive within a # container, error messages relating to that virtual host will be # logged here. If you *do* define an error logfile for a # container, that host's errors will be logged there and not here. # ErrorLog $/error.log # # LogLevel: Control the severity of messages logged to the error_log. # Available values: trace8, . trace1, debug, info, notice, warn, # error, crit, alert, emerg. # It is also possible to configure the log level for particular modules, e.g. # "LogLevel info ssl:warn" # LogLevel warn # Include module configuration: IncludeOptional mods-enabled/*.load IncludeOptional mods-enabled/*.conf # Include list of ports to listen on Include ports.conf # Sets the default security model of the Apache2 HTTPD server. It does # not allow access to the root filesystem outside of /usr/share and /var/www. # The former is used by web applications packaged in Debian, # the latter may be used for local directories served by the web server. If # your system is serving content from a sub-directory in /srv you must allow # access here, or in any related virtual host.Options FollowSymLinks AllowOverride None Require all denied AllowOverride All Require all granted Options Indexes FollowSymLinks AllowOverride None Require all granted # # Options Indexes FollowSymLinks # AllowOverride None # Require all granted # # AccessFileName: The name of the file to look for in each directory # for additional configuration directives. See also the AllowOverride # directive. # AccessFileName .htaccess # # The following lines prevent .htaccess and .htpasswd files from being # viewed by Web clients. # Require all denied # # The following directives define some format nicknames for use with # a CustomLog directive. # # These deviate from the Common Log Format definitions in that they use %O # (the actual bytes sent including headers) instead of %b (the size of the # requested file), because the latter makes it impossible to detect partial # requests. # # Note that the use of %i instead of %h is not recommended. # Use mod_remoteip instead. # LogFormat "%v:%p %h %l %u %t \"%r\" %>s %O \"%i\" \"%i\"" vhost_combined LogFormat "%h %l %u %t \"%r\" %>s %O \"%i\" \"%i\"" combined LogFormat "%h %l %u %t \"%r\" %>s %O" common LogFormat "%i -> %U" referer LogFormat "%i" agent # Include of directories ignores editors' and dpkg's backup files, # see README.Debian for details. # Include generic snippets of statements IncludeOptional conf-enabled/*.conf # Include the virtual host configurations: IncludeOptional sites-enabled/*.confСохраняем, перечитаем конфигурацию Apache2, отправкой команды:
sudo systemctl reload apache2Если сервер пока не в активной работе можно перезапустить демона командой:
sudo systemctl restart apache2При попытке попасть в phpMyAdmin теперь потребуется дополнительная авторизация.
После ввода верных учетных данных авторизация проходит успешно.
Удаление phpMyAdmin
Удаление происходит с использованием этих команд:
sudo apt remove phpmyadmin -yОтвечаем на все вопросы положительно.
Reading package lists. Done Building dependency tree Reading state information. Done The following packages were automatically installed and are no longer required: dbconfig-common dbconfig-mysql libjs-jquery libjs-openlayers libjs-sphinxdoc libjs-underscore libxslt1.1 php php-google-recaptcha php-phpmyadmin-motranslator php-phpmyadmin-shapefile php-phpmyadmin-sql-parser php-phpseclib php-psr-cache php-psr-container php-psr-log php-symfony-cache php-symfony-cache-contracts php-symfony-expression-language php-symfony-service-contracts php-symfony-var-exporter php-twig php-twig-extensions php-xml php7.4 php7.4-xml Use 'sudo apt autoremove' to remove them. The following packages will be REMOVED: phpmyadmin 0 upgraded, 0 newly installed, 1 to remove and 41 not upgraded. After this operation, 27.2 MB disk space will be freed. (Reading database . 54693 files and directories currently installed.) Removing phpmyadmin (4:4.9.5+dfsg1-2) . Determining localhost credentials from /etc/mysql/debian.cnf: succeeded. dbconfig-common: dumping mysql database phpmyadmin to /var/tmp/phpmyadmin.phpmyadmin.2021-11-16-07.04.mysql.rTp4t6. dbconfig-common: dropping mysql database phpmyadmin. dropping database phpmyadmin: success. verifying database phpmyadmin was dropped: success. dbconfig-common: revoking privileges for user phpmyadmin on phpmyadmin. revoking access to database phpmyadmin from phpmyadmin@localhost: success. Conf phpmyadmin disabled. apache2_invoke postrm:Disable configuration phpmyadminДля очистки неиспользуемых зависимостей применяем:
sudo apt-get autoremoveReading package lists. Done Building dependency tree Reading state information. Done The following packages will be REMOVED: dbconfig-common dbconfig-mysql libjs-jquery libjs-openlayers libjs-sphinxdoc libjs-underscore libxslt1.1 php php-google-recaptcha php-phpmyadmin-motranslator php-phpmyadmin-shapefile php-phpmyadmin-sql-parser php-phpseclib php-psr-cache php-psr-container php-psr-log php-symfony-cache php-symfony-cache-contracts php-symfony-expression-language php-symfony-service-contracts php-symfony-var-exporter php-twig php-twig-extensions php-xml php7.4 php7.4-xml 0 upgraded, 0 newly installed, 26 to remove and 41 not upgraded. After this operation, 20.5 MB disk space will be freed. Do you want to continue? [Y/n] y (Reading database . 52976 files and directories currently installed.) Removing dbconfig-mysql (2.0.13) . Removing dbconfig-common (2.0.13) . Removing libjs-sphinxdoc (1.8.5-7ubuntu3) . Removing libjs-jquery (3.3.1~dfsg-3) . Removing libjs-openlayers (2.13.1+ds2-7) . Removing libjs-underscore (1.9.1~dfsg-1ubuntu0.20.04.1) . Removing php-xml (2:7.4+75) . Removing php7.4-xml (7.4.3-4ubuntu2.7) . Removing libxslt1.1:amd64 (1.1.34-4) . Removing php (2:7.4+75) . Removing php-google-recaptcha (1.2.3-1) . Removing php-phpmyadmin-motranslator (5.0.0-1) . Removing php-phpmyadmin-shapefile (2.1-3) . Removing php-phpmyadmin-sql-parser (4.6.1-2) . Removing php-phpseclib (2.0.23-2) . Removing php-symfony-expression-language (4.3.8+dfsg-1ubuntu1) . Removing php-symfony-cache (4.3.8+dfsg-1ubuntu1) . Removing php-symfony-cache-contracts (1.1.8-1) . Removing php-psr-cache (1.0.1-2) . Removing php-symfony-service-contracts (1.1.8-1) . Removing php-psr-container (1.0.0-2) . Removing php-psr-log (1.1.2-1) . Removing php-symfony-var-exporter (4.3.8+dfsg-1ubuntu1) . Removing php-twig-extensions (1.5.4-1) . Removing php-twig (2.12.5-1) . Removing php7.4 (7.4.3-4ubuntu2.7) . Processing triggers for libc-bin (2.31-0ubuntu9.2) . Processing triggers for man-db (2.9.1-1) . Processing triggers for libapache2-mod-php7.4 (7.4.3-4ubuntu2.7) .Перезапускаем демон apache2:
sudo service apache2 restartPhpMyAdmin удален с сервера.
Возможные ошибки
В процессе изменения типа аутентификации учетной записи root:
ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'password';Возможно возникновение ошибки:
Plugin caching_sha2_password in not loadedЭто вызвано тем, что в свежих версиях mysql тип аутентификации по умолчанию:
caching_sha2_passwordЭто не позволит произвести удаленное подключение к mysql и вызовет ошибку плагина:
caching_sha2_passwordВозможным вариантом решения является установка типа аутентификации:
mysql_native_passwordКоманда выглядит так:
ALTER USER 'username'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';Теперь возможен доступ пользователя к mysql с localhost.
Для подключения с нескольких хостов необходимо изменить команду:
ALTER USER 'username'@'%' IDENTIFIED WITH mysql_native_password BY 'password';Для применения изменений необходимо использовать:
FLUSH PRIVILEGES;Заключение
В этом мануале мы рассказали о настройке сервера phpMyAdmin на операционной системе Ubuntu 20.04 на облачном сервере от Selectel. Мы разобрали основные моменты, которых достаточно для того, чтобы быстро и качественно установить данный инструмент на сервер, а также рассмотрели настройки безопасности.
Зарегистрируйтесь в панели управления
И уже через пару минут сможете арендовать сервер, развернуть базы данных или обеспечить быструю доставку контента.
Читайте также:
Инструкция
Как создать 100 серверов в облаке за минуту? Работа с OpenStack клиентом
Инструкция
Как создать веб-приложение на базе Telegram Mini Apps
Инструкция
Что делает команда chmod и как ее использовать в Linux
Установка и настройка phpMyAdmin: пошаговая инструкция

phpMyAdmin — это программа c открытым кодом, созданная на языке PHP, которая позволяет взаимодействовать с СУБД MySQL через веб-интерфейс. С его помощью можно легко управлять базами данных, создавать таблицы, выполнять запросы и многое другое. В этой статье мы рассмотрим процесс установки и настройки phpMyAdmin на сервере с операционной системой Ubuntu 22.04.
Установка phpMyAdmin
Перед тем как приступить к установке, убедитесь, что на вашем сервере есть ПО, необходимое для корректной работы phpMyAdmin: HTTP-сервер Apache, СУБД MySQL и язык программирования PHP. Далее запустите обновление списка пакетов, для этого необходимо использовать утилиту apt в терминале:
sudo apt updateДалее необходимо проверить наличие модуля mbstring для корректной работы с многобайтовыми строчками. Проверить можно также утилитой apt:
sudo apt install php-mbstringЕсли модуль не установлен, утилита предложит установить его. Для начала инсталляции запустите программу установки и следуйте инструкциям:
sudo apt install phpmyadminШаг 1. Необходимо выбрать установленный веб-сервер. Например, у нас в системе установлен apache2, выбираем его. Обязательно подтвердите выбор пробелом, чтобы появилась звездочка, и нажмите Enter.
Шаг 2. Подтвердите добавление специальной базы для phpMyAdmin и нажмите Enter.
Шаг 3. Вручную задайте пароль. В противном случае он будет сгенерирован автоматически. 
Шаг 4. Выберите способ соединения между phpMyAdmin и MySQL. Программа установки по умолчанию рекомендует соединение через Unix-сокет, но вы можете выбрать любой вариант в зависимости от конкретных условий и требований вашего проекта. - Сетевой протокол TCP/IP обеспечивает безопасное и надёжное подключение, защищая конфиденциальные данные и обнаруживая/исправляя ошибки в передаче данных. Однако этот способ более медленный и требует настройки.
- Подключение через Unix-сокет обеспечивает более быструю передачу данных и не требует специальной настройки, но не позволяет настроить зашифрованное подключение и не умеет находить и устранять ошибки.

Шаг 5. Далее выберите подходящий плагин для аутентификации.

Шаг 6. Программа установки попросит вас указать имя базы phpMyAdmin.

Шаг 7. Далее необходимо указать имя пользователя MySQL для phpmyadmin.

Количество шагов установки может отличаться в зависимости от ваших настроек.
Наконец, активируйте модуль mbstring и перезапустите Apache:
sudo phpenmod mbstring sudo systemctl restart apache2Теперь вы можете перейти в вашем браузере по адресу и проверить работу phpMyAdmin:
ip вашего сервера/phpmyadmin/
Должна открыться страница с формой входа.
Изменение типа аутентификации root и добавление учётной записи
Войти в панель phpMyAdmin через root сразу не получится. Это связано с тем, что для безопасности рекомендуется использовать другого пользователя с ограниченными привилегиями.
Однако, если вам все же необходимо войти в phpMyAdmin под пользователем root, вы можете изменить тип аутентификации на caching_sha2_password с помощью следующих шагов:
sudo mysqlС помощью следующей команды мы изменим тип аутентификации, указав ваш пароль:
ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'your pass',Для защиты данных необходимо создать еще одну учётную запись для взаимодействия с БД из панели управления phpMyAdmin. сделаем это в оболочке MySQL:
sudo mysqlЧтобы добавить учётную запись, в оболочке MySQL вставьте команду:
CREATE USER 'name'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'your pass';Привилегии могут быть предоставлены на все таблицы разных БД путём ввода следующей команды в оболочке MySQL. Также можно добавить, изменить или удалить привилегии учётных записей, исполнив команду в оболочке MySQL:
GRANT ALL PRIVILEGES ON *. * WITH GRANT OPTION to 'name'@'your pass';Перейдите в phpMyAdmin и введите данные новой учётной записи. Теперь вы можете управлять правами доступа к учётной записи в панели управления.

Основные настройки безопасности
Поскольку phpMyAdmin является бесплатным и устанавливается на многих серверах с MySQL, особенно важно защитить свой сервер из локальной сети и Интернета.
Ненужных пользователей следует отключить в оболочке MySQL:
DROP USER ‘name’@’localhost’;Apache позволяет включить дополнительную защиту панели phpMyAdmin. Это возможно благодаря файлу .htaccess. Через него можно проверку при заходе на сайт панели управления.
Сначала внесите изменение в файл конфигурации phpmyadmin.conf , добавив строку AllowOverride All в секцию «Directory /usr/share/phpmyadmin» :
sudo vi /etc/apache2/conf-available/phpmyadmin.confsudo systemctl restart apache2Создайте файл с помощью команды:
sudo vi /usr/share/phpmyadmin/.htaccessВнесите в .htaccess следующие строки:
- AuthType Basic
- AuthName «Restricted Files»
- AuthUserFile /etc/phpmyadmin/.htpasswd
- Require valid-user
Для добавления пользователей требуется создать еще один файл .htpasswd, хранящий данные учётных записей:
sudo htpasswd -c /etc/phpmyadmin/.htpasswd you_loginгде you_login – логин учётной записи.
Кроме того, добавить новую учётную запись, выполните её без -c :
sudo htpasswd /etc/phpmyadmin/. htpasswd you_loginДля доступа к панели управления, введите данные от учётной записи из файла .htpasswd.

Если данные введены правильно, вы перейдете к входу в панель управления phpmyadmin.
Обновление
Обновить phpmyadmin возможно двумя способами:
Первый способ — с помощью репозиториев Ubuntu:
apt-get update; apt-get upgrade -y phpmyadmin;Второй способ — скачать обновление с официального сайта.
Зайдите на сайт разработчика и выберите нужную версию из архива tar.gz. Следует изучить системные требования для выбранной версии.
Перейдите в папку /usr/local/share/ :
cd /usr/local/share/Загрузите архив, используя команду:
wget ttps://files.phpmyadmin.net/phpMyAdmin/4.6.1/phpMyAdmin-4.6.1-all-languages.tar.gzРаспакуйте загруженный архив:
tar -xvfz phpMyAdmin-4.6.1-all-languages.tar.gzДайте название phpmyadmin.back в папке со старой версией phpMyAdmin:
# mv phpmyadmin.Измените название извлеченной папки на phpmyadmin:
# mv phpMyAdmin-4.6.1-all-languages phpmyadminТеперь осталось добавить в конфигурацию секретную фразу.
Инструкция по удалению phpMyAdmin
Процедура удаления phpMyAdmin проще, чем его установка: достаточно набрать команду и дважды нажать Enter.


Эта команда приведет к удалению phpmyadmin и сопутствующих файлов:
sudo apt purge phpmyadminТеперь осталось только перезапустить Apache:
sudo systemctl restart apache2С этого момента phpmyadmin полностью удалена.
Возможные проблемы
Проблема, связанная с плагином Validate Password в MySQL

Чтобы устранить эту ошибку, зайдите в оболочку MySQL:
sudo mysqlИ отключите модуль:
UNINSTALL COMPONENT "file://component_validate_password";Теперь можно запустить инсталляцию phpMyAdmin. В случае успешной установки компонент можно активировать:
sudo mysqlИ активировать модуль:
INSTALL COMPONENT "file://component_validate_password";Ошибка, связанная с изменением типа аутентификации для root
Изменение типа аутентификации для учётной записи root также может привести к ошибке:
Plugin caching_sha2_password is not installed.
Эта ошибка может быть вызвана из-за другого типа аутентификации в более новой версии MySQL. Чтобы её устранить, измените метод аутентификации с помощью команды:
ALTER USER 'name'@'localhost' IDENTIFIED WITH mysql_native_password BY 'your pass';Fatal error: Class ‘ArrayObject’ not found in.
Для решения этой проблемы необходимо включить два PHP-расширения: spl.so и simplexml.so. Также требуется указать секретное выражение (blowfish_secret) в конфигурационном файле.
Для этого допишите в конфигурационном файле config.inc.php строку:
cfg['blowfish_secret']='your_blowfish_phrase';В Ubuntu этот файл обычно находится в каталоге /usr/share/phpmyadmin .
Мы описали шаги по установке и настройке phpMyAdmin, а также обсудили некоторые важные меры безопасности и посмотрели на решение распространённых ошибок. Теперь вы можете настроить phpmyadmin по своему усмотрению и легко можете управлять базами данных MySQL.
- Настройка веб-сервера Apache + PHP + MySQL