Установка PhpMyAdmin в Ubuntu Linux

Этот туториал покажет вам все шаги, необходимые для установки PhpMyAdmin в Ubuntu Linux.

Этот учебник был протестирован на Ubuntu 18.04.

1. Установите MySQL на Ubuntu Linux

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

Используйте команду Ubuntu APT для установки сервера MySQL.

# apt-get update
# apt-get install mysql-server mysql-client

Используйте следующую команду для доступа к служебной консоли MySQL.

# mysql -u root -p

Убедитесь, что подключаемый модуль аутентификации используется корневым пользователем MySQL.

use mysql;
SELECT user,authentication_string,plugin,host FROM user;

Установите пароль для пользователя root MySQL.

Сконфигурируйте пользователя root MySQL для аутентификации с использованием пароля.

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'kamisama123';
FLUSH PRIVILEGES;

Пользователь root MySQL теперь настроен на использование аутентификации по паролю.

В нашем примере мы настроили пароль MySQL kamisama123.

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

# mysql -u root -p

2. Установите Apache в Ubuntu Linux

PhpMyAdmin требует веб-сервер с поддержкой PHP для представления своих веб-страниц.

Используйте команду Ubuntu APT для установки сервера Apache.

# apt-get update
# apt-get install apache2 php7.2 php7.2-mysql libapache2-mod-php7.2

Установите необходимые Apache модули PHP.

# apt-get install php7.2-json php7.2-gd php7.2-curl php7.2-mbstring
# apt-get install php7.2-zip libphp-jpgraph php-apcu php7.2-xml

Включить Apache mod_rewrite.

Отредактируйте файл apache2.conf.

# a2enmod rewrite
# vi /etc/apache2/apache2.conf

Добавьте следующие строки в конце apache2.conf

<Directory /var/www/html>
AllowOverride All
</Directory>

Найдите расположение файла конфигурации PHP в вашей системе.

Отредактируйте файл конфигурации php.ini.

# updatedb
# locate php.ini
# vi /etc/php/7.2/apache2/php.ini

Ваша версия PHP может отличаться от нашей.

Ваше местоположение файла конфигурации PHP может не совпадать с нашим.

Вот файл с нашей конфигурацией.

file_uploads = On
max_execution_time = 300
memory_limit = 256M
post_max_size = 32M
max_input_time = 60
max_input_vars = 4440

Перезапустите веб-сервер Apache вручную.

# service apache2 restart
# service apache2 status

Проверьте состояние службы Apache.

● apache2.service - The Apache HTTP Server
Loaded: loaded (/lib/systemd/system/apache2.service; enabled)
Drop-In: /lib/systemd/system/apache2.service.d
└─apache2-systemd.conf
Active: active (running) since Mon 2018-12-03 03:41:12 -02; 2 days ago

3. Установите PHPMyAdmin в Ubuntu Linux

После завершения настройки MySQL и Apache мы можем начать установку PhpMyAdmin.

Загрузите последнюю версию PhpMyAdmin и распакуйте пакет.

# cd /tmp
# wget https://files.phpmyadmin.net/phpMyAdmin/4.8.4/phpMyAdmin-4.8.4-all-languages.tar.gz
# tar -zxvf  phpMyAdmin-4.8.4-all-languages.tar.gz

Необязательный. Проверьте целостность файла PhpMyAdmin с помощью команды SHA256SUM.

# wget https://files.phpmyadmin.net/phpMyAdmin/4.8.4/phpMyAdmin-4.8.4-all-languages.tar.gz.sha256
# sha256sum -c phpMyAdmin-4.8.4-all-languages.tar.gz.sha256

phpMyAdmin-4.8.4-all-languages.tar.gz: OK

Необязательный. Проверьте целостность файла PhpMyAdmin с помощью команды GPG.

# wget https://files.phpmyadmin.net/phpMyAdmin/4.8.4/phpMyAdmin-4.8.4-all-languages.tar.gz.asc
# wget https://files.phpmyadmin.net/phpmyadmin.keyring
# gpg --import phpmyadmin.keyring
# gpg --keyserver hkp://pgp.mit.edu --recv-keys 3D06A59ECE730EB71B511C17CE752F178259BD92
# gpg --tofu-policy good CE752F178259BD92
# gpg --trust-model tofu --verify phpMyAdmin-4.8.4-all-languages.tar.gz.asc

gpg: assuming signed data in 'phpMyAdmin-4.8.4-all-languages.tar.gz'
gpg: Signature made Tue Dec 11 02:06:39 2018 UTC
gpg: using RSA key 3D06A59ECE730EB71B511C17CE752F178259BD92
gpg: Good signature from "Isaac Bennetch <bennetch@gmail.com>" [full] gpg: aka "Isaac Bennetch <isaac@bennetch.org>" [full] gpg: bennetch@gmail.com: Verified 1 signature in the past 32 seconds. Encrypted 0 messages.
gpg: isaac@bennetch.org: Verified 1 signature in the past 32 seconds. Encrypted 0 messages.

Переместите папку PhpMyAdmin в каталог корневого диска Apache.

Предоставьте пользователю www-data полный контроль над каталогом PhpMyAdmin и его файлами.

# mv phpMyAdmin-4.8.4-all-languages /var/www/html/phpmyadmin
# chown www-data.www-data /var/www/html/phpmyadmin/* -R

4. Получите доступ к PhpMyAdmin в Ubuntu Linux

Откройте браузер и введите IP-адрес вашего веб-сервера плюс / phpmyadmin.

В нашем примере в браузере был введен следующий URL:

• http://200.200.200.200/phpmyadmin

Откроется экран входа в PhpMyAdmin.

На экране входа в систему введите корневую учетную запись MySQL и пароль.

PhpMyAdmin Login

После успешного входа в систему будет отображена панель управления PhpMyAdmin.

PhpMyAdmin Dashboard

Поздравляем, PhpMyAdmin был установлен в вашей системе.

5. Безопасный доступ к PHPMyAdmin

Программное обеспечение PhpMyAdmin предлагает прямой веб-интерфейс для службы базы данных MySQL.

Давайте добавим слой аутентификации, чтобы защитить первоначальный доступ к PhpMyAdmin.

Создайте файл конфигурации Apache HTACCESS.

# vi /var/www/html/phpmyadmin/.htaccess

Вот файл с нашей конфигурацией.

AuthType Basic
AuthName "PhpMyAdmin Access Restricted"
AuthUserFile /etc/phpmyadmin.htpasswd
Require valid-user

Предоставьте пользователю www-data полный контроль над файлом Htaccess.

# chown www-data.www-data /var/www/html/phpmyadmin/.htaccess

Создайте файл аутентификации Apache с помощью команды htpasswd.

# htpasswd -c /etc/phpmyadmin.htpasswd admin

New password:
Re-type new password:
Adding password for user admin

В нашем примере мы создали пользователя с именем admin.

Чтобы создать дополнительных пользователей, используйте следующую команду.

# htpasswd /etc/phpmyadmin.htpasswd vegeto

New password:
Re-type new password:
Adding password for user vegeto

Перезапустите веб-сервер Apache вручную.

# service apache2 restart

Откройте браузер и введите IP-адрес вашего веб-сервера плюс / phpmyadmin.

В нашем примере в браузере был введен следующий URL:

• http://200.200.200.200/phpmyadmin

Сервер Apache представит форму аутентификации.

Apache Authentication login

После успешного входа в систему будет отображен экран входа в PhpMyAdmin.

PhpMyAdmin Login

После успешного входа в систему будет отображена панель управления PhpMyAdmin.

PhpMyAdmin Dashboard