Как установить phpMyAdmin с Apache на Ubuntu 18.04 / Debian 9

Как установить phpMyAdmin с Apache на Ubuntu 18.04 / Debian 9

 

В нашем сегодняшнем руководстве мы обсудим, как установить phpMyAdmin с Apache в Ubuntu 18.04 / Debian 9. Пакет phpMyAdmin, доступный в репозитории Ubuntu 18.04 и Debian 9, устарел. Если вам нужно установить последнюю версию phpMyAdmin в Ubuntu 18.04 / Debian 9, вам необходимо скачать пакет с официальной страницы релизов phpMyAdmin .

Для ребят из Fedora используйте наше предыдущее руководство: Как установить и настроить phpMyAdmin в Fedora

Что такое phpMyAdmin?

phpMyAdmin — это бесплатный инструмент с открытым исходным кодом, написанный на PHP, который используется для администрирования сервера баз данных MySQL и MariaDB из веб-интерфейса. Большинство разработчиков предпочитают использовать phpMyAdmin для взаимодействия с сервером базы данных из-за его простоты использования, а также расширенного редактора SQL, который позволяет легко создавать и тестировать сложные запросы SQL.

Шаг 1: Установите PHP

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

Если вы решили использовать версию PHP, доступную в ваших репозиториях ОС, установите ее, выполнив команды ниже в своем терминале.

sudo apt-get install -y php php-tcpdf php-cgi php-mysqli php-pear php-mbstring php-gettext libapache2-mod-php php-common php-phpseclib php-mysql

Шаг 2: Установите сервер базы данных MariaDB

Следующим шагом является установка сервера базы данных MariaDB. У нас уже есть исчерпывающие руководства по этому вопросу.

Как установить MariaDB 10.x в Debian 9 / Debian 8

Установите MariaDB 10.x на Ubuntu 18.04

Шаг 3: Установите веб-сервер Apache

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

Установите Apache в Ubuntu / Debian, выполнив следующие команды:

sudo apt-get -y install apache2

Шаг 4: Загрузите phpMyAdmin в Ubuntu 18.04 / Debian 9

Вы можете проверить выпуск phpMyAdmin на странице загрузок . Спасибо William Desportes за подсказку о том, как вытащить последнюю версию phpMyAdmin.

Загрузите последнюю версию phpMyAdmin с помощью команды wget.

DATA="$(wget https://www.phpmyadmin.net/home_page/version.txt -q -O-)"
URL="$(echo $DATA | cut -d ' ' -f 3)"
VERSION="$(echo $DATA | cut -d ' ' -f 1)"
wget https://files.phpmyadmin.net/phpMyAdmin/${VERSION}/phpMyAdmin-${VERSION}-all-languages.tar.gz

Для пакета только на английском языке используйте:

wget https://files.phpmyadmin.net/phpMyAdmin/${VERSION}/phpMyAdmin-${VERSION}-english.tar.gz

Извлечь скачанный архив:

tar xvf phpMyAdmin-${VERSION}-all-languages.tar.gz

Переместить полученную папку в /usr/share/phpmyadmin.

sudo mv phpMyAdmin-*/ /usr/share/phpmyadmin

Создайте каталог для временных файлов phpMyAdmin.

sudo mkdir -p /var/lib/phpmyadmin/tmp
sudo chown -R www-data:www-data /var/lib/phpmyadmin

Создайте каталог для файлов конфигурации phpMyAdmin, таких как файл htpass..

sudo mkdir /etc/phpmyadmin/

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

sudo cp /usr/share/phpmyadmin/config.sample.inc.php  /usr/share/phpmyadmin/config.inc.php

Отредактируйте файл /usr/share/phpmyadmin/config.inc.phpи установите секретную фразу-пароль:

$cfg['blowfish_secret'] = 'H2OxcGXxflSd8JwrwVlh6KW6s2rER63i'; 

Настроить временный каталог:

$cfg['TempDir'] = '/var/lib/phpmyadmin/tmp';

Шаг 5: Настройте веб-сервер Apache

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

sudo vim /etc/apache2/conf-enabled/phpmyadmin.conf

И вставьте ниже содержимое в файл:

Alias /phpmyadmin /usr/share/phpmyadmin

<Directory /usr/share/phpmyadmin>
    Options SymLinksIfOwnerMatch
    DirectoryIndex index.php

    <IfModule mod_php5.c>
        <IfModule mod_mime.c>
            AddType application/x-httpd-php .php
        </IfModule>
        <FilesMatch ".+\.php$">
            SetHandler application/x-httpd-php
        </FilesMatch>

        php_value include_path .
        php_admin_value upload_tmp_dir /var/lib/phpmyadmin/tmp
        php_admin_value open_basedir /usr/share/phpmyadmin/:/etc/phpmyadmin/:/var/lib/phpmyadmin/:/usr/share/php/php-gettext/:/usr/share/php/php-php-gettext/:/usr/share/javascript/:/usr/share/php/tcpdf/:/usr/share/doc/phpmyadmin/:/usr/share/php/phpseclib/
        php_admin_value mbstring.func_overload 0
    </IfModule>
    <IfModule mod_php.c>
        <IfModule mod_mime.c>
            AddType application/x-httpd-php .php
        </IfModule>
        <FilesMatch ".+\.php$">
            SetHandler application/x-httpd-php
        </FilesMatch>

        php_value include_path .
        php_admin_value upload_tmp_dir /var/lib/phpmyadmin/tmp
        php_admin_value open_basedir /usr/share/phpmyadmin/:/etc/phpmyadmin/:/var/lib/phpmyadmin/:/usr/share/php/php-gettext/:/usr/share/php/php-php-gettext/:/usr/share/javascript/:/usr/share/php/tcpdf/:/usr/share/doc/phpmyadmin/:/usr/share/php/phpseclib/
        php_admin_value mbstring.func_overload 0
    </IfModule>

</Directory>

# Authorize for setup
<Directory /usr/share/phpmyadmin/setup>
    <IfModule mod_authz_core.c>
        <IfModule mod_authn_file.c>
            AuthType Basic
            AuthName "phpMyAdmin Setup"
            AuthUserFile /etc/phpmyadmin/htpasswd.setup
        </IfModule>
        Require valid-user
    </IfModule>
</Directory>

# Disallow web access to directories that don't need it
<Directory /usr/share/phpmyadmin/templates>
    Require all denied
</Directory>
<Directory /usr/share/phpmyadmin/libraries>
    Require all denied
</Directory>
<Directory /usr/share/phpmyadmin/setup/lib>
    Require all denied
</Directory>

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

Require ip 127.0.0.1 192.168.18.0/24

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

sudo systemctl restart apache2

 

Шаг 6: Посетите веб-интерфейс phpMyAdmin

Откройте URL, чтобы войти в панель управления phpMyAdmin, указав свои учетные данные базы данных — имя пользователя и пароль

http://[ServerIP|Hostname]/phpmyadmin

Author: forgero