Установка/Обновление phpMyAdmin в Linux

Дата написания: 22-03-2020
GNU/Linux MySql phpMyAdmin Программирование
0 Комментариев

Доброго времени суток, в этой статье мы рассмотрим процесс установки и обновления phpMyAdmin 4.9.* версии.

Для начала, нам нужно скачать архив с программой с официального сайта:

wget https://files.phpmyadmin.net/phpMyAdmin/4.9.5/phpMyAdmin-4.9.5-all-languages.tar.gz

Далее необходимо извлечь из него файлы:

tar xvf phpMyAdmin-4.9.5-all-languages.tar.gz и переместить их.

Если вы обновляете phpmyadmin, то нужно сначала каталог удалить! sudo rm -R /usr/share/phpmyadmin/

sudo mv phpMyAdmin-4.9.5-all-languages/ /usr/share/phpmyadmin

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

sudo mkdir -p /var/lib/phpmyadmin/tmp и даем доступ sudo chown -R www-data:www-data /var/lib/phpmyadmin

Делаем копию файла конфигурации, который будем править sudo cp /usr/share/phpmyadmin/config.sample.inc.php /usr/share/phpmyadmin/config.inc.php

Открываем его для редактирования sudo nano /usr/share/phpmyadmin/config.inc.php

Находим строку $cfg['blowfish_secret'] = 'И записываем сюда сумбурный ключ. Пример: 6728f22c9a576a9728aa3110b1d59802'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */ и добавляем/изменяем строку $cfg['TempDir'] = '/var/lib/phpmyadmin/tmp'; и сохраняем файл CTRL+X, Y, ENTER

Если вы обновляли phpmyadmin, то на этом всё!

Если устанавливали то, sudo mysql -r -p < /usr/share/phpmyadmin/sql/create_tables.sql создаем базу и конектимся к БД mysql -r -p

Выполняем GRANT SELECT, INSERT, UPDATE, DELETE ON phpmyadmin.* TO 'pma'@'localhost' IDENTIFIED BY 'password';

Редактируем файл: sudo nano /usr/share/phpmyadmin/config.inc.php, нам нужно снять комментарии на этих строках:

$cfg['Servers'][$i]['controluser'] = 'pma';

$cfg['Servers'][$i]['controlpass'] = 'password';

/* Storage database and tables */

$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';

$cfg['Servers'][$i]['userconfig'] = 'pma__userconfig';

$cfg['Servers'][$i]['recent'] = 'pma__recent';

$cfg['Servers'][$i]['favorite'] = 'pma__favorite';

$cfg['Servers'][$i]['users'] = 'pma__users';

$cfg['Servers'][$i]['usergroups'] = 'pma__usergroups';

$cfg['Servers'][$i]['navigationhiding'] = 'pma__navigationhiding';

$cfg['Servers'][$i]['savedsearches'] = 'pma__savedsearches';

$cfg['Servers'][$i]['central_columns'] = 'pma__central_columns';

$cfg['Servers'][$i]['designer_settings'] = 'pma__designer_settings';

$cfg['Servers'][$i]['export_templates'] = 'pma__export_templates';

Далее создаем файл sudo nano /etc/apache2/conf-available/phpmyadmin.conf с таким содержанием:

# phpMyAdmin default Apache configuration

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>

Включаем конфигурацию sudo a2enconf phpmyadmin.conf и перезагружаем сервер sudo systemctl reload apache2

Всё. Проверить можно нажав сюда

Документация у вас на компьютере, клацать


Поделиться с друзьями


Будьте первыми кто прокомментирует эту запись.

Чтоб комментировать, необходимо Вход