Ошибка Phpmyadmin в файле конфигурации установила неверные права на запись для всех

Обновлено: 04.07.2024

Если вы столкнулись с сообщением об ошибке WordPress или белым экраном, не паникуйте. Вероятно, кто-то сталкивался с таким же сообщением раньше, и его можно легко решить.

На этой странице перечислены наиболее распространенные ошибки WordPress, с которыми сталкиваются пользователи WordPress, и представлена ​​отправная точка для их исправления. В службе поддержки WordPress вы также найдете ссылки на более подробные страницы или форумы, где вам поможет волонтер.

Белый экран смерти

Как ошибки PHP, так и ошибки базы данных могут проявляться в виде белого экрана, пустого экрана без информации, широко известного в сообществе WordPress как белый экран смерти WordPress (WSOD).

Прежде чем прибегать к отчаянным мерам, есть ряд причин белого экрана смерти WordPress:

  • Подключаемый модуль вызывает проблемы совместимости. Если вы можете получить доступ к экранам администрирования, попробуйте деактивировать все ваши плагины, а затем повторно активировать их один за другим. Если вы не можете получить доступ к своим экранам, войдите на свой веб-сайт через FTP. Найдите папку wp-content/plugins и переименуйте папку плагинов plugins_old. Это деактивирует все ваши плагины. Дополнительную информацию о деактивации подключаемых модулей вручную см. в разделе часто задаваемых вопросов по устранению неполадок.
  • Возможно, проблема связана с вашей темой. Это особенно вероятно, если вы столкнулись с белым экраном смерти после того, как только что активировали новую тему или создали новый сайт в сети WordPress. Войдите на экраны администрирования WordPress и активируйте тему WordPress по умолчанию (например, Twenty Twenty-One). Если вы используете WordPress 5.8 и ниже, переключитесь на тему Twenty Twenty-One, так как для темы Twenty Twenty-Two требуется версия 5.9 и выше. Если вы не можете получить доступ к экранам администрирования, зайдите на свой веб-сайт через FTP и перейдите в папку /wp-content/themes/. Переименуйте папку для активной темы.

Функция WP_DEBUG часто предоставляет дополнительную информацию.

Внутренняя ошибка сервера

< бр />

Сообщение о внутренней ошибке сервера

Причин внутренней ошибки сервера может быть несколько. Вот что вы можете сделать, чтобы решить эту проблему:

  • Скорее всего, проблема связана с поврежденным файлом .htaccess. Войдите в корень вашего сайта с помощью FTP и переименуйте файл .htaccess в .htaccess_old. Попробуйте загрузить свой сайт, чтобы узнать, решило ли это вашу проблему. Если это работает, обязательно перейдите в «Настройки»> «Постоянные ссылки» и сбросьте свои постоянные ссылки. Это создаст для вас новый файл .htaccess.
  • Попробуйте деактивировать все свои подключаемые модули, чтобы убедиться, что проблема связана с подключаемым модулем. Если вы не можете получить доступ к экранам администрирования WordPress, деактивируйте свои плагины через FTP, следуя этим инструкциям.
  • Переключите тему на тему WordPress по умолчанию (например, Twenty Twenty-One), чтобы устранить любые проблемы, связанные с темой. Если вы используете WordPress версии 5.8 и ниже, переключитесь на тему Twenty Twenty-One, так как для темы Twenty Twenty-Two требуется версия 5.9 и выше.
  • Увеличьте лимит памяти PHP
  • Попробуйте повторно загрузить папки wp-admin и wp-includes из новой установки WordPress.

Ошибка при установлении соединения с базой данных

Если вы получаете страницу с сообщением «Ошибка установления соединения с базой данных», это означает, что возникла проблема с соединением с вашей базой данных, и этому может быть ряд причин. Ниже приведены возможные причины и решения.

Неправильная информация wp-config.php

«Ошибка при установлении соединения с базой данных» обычно возникает из-за ошибки в вашем файле wp-config.php. Получите доступ к вашему сайту в вашем FTP-клиенте. Откройте wp-config.php и убедитесь, что верно следующее:

  • Имя базы данных
  • Имя пользователя базы данных
  • Пароль к базе данных
  • Хост базы данных

Если вы уверены, что ваша конфигурация верна, попробуйте сбросить пароль MySQL вручную.

Проблемы с вашим веб-хостингом

Следующий шаг — связаться с вашим веб-хостингом. Причиной проблемы могут быть следующие проблемы с хостингом:

  • Ваша база данных выполнила свою квоту и была закрыта.
  • Сервер не работает.

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

Скомпрометированный веб-сайт

Если вы проверили wp-config.php на наличие ошибок и подтвердили наличие проблем с хостингом у своего хоста, возможно, ваш сайт был взломан.

Просканируйте свой сайт с помощью Sucuri SiteCheck, чтобы убедиться, что он не был взломан. Если это так, вы должны проверить Мой сайт был взломан.

Не удалось выполнить автоматическое обновление

Возможны ситуации, когда функция автоматического обновления WordPress не работает. Симптомы включают:

  • Пустой белый экран и никакой информации.
  • Предупреждение о сбое обновления.
  • Сообщение об ошибке PHP.

Функция автоматического обновления WordPress может не работать из-за сбоя в соединении с основными файлами WordPress, проблемы с подключением к Интернету во время обновления или неверных прав доступа к файлам

Чтобы обновить сайт WordPress вручную, см. статью Обновление вручную.

Время ожидания подключения истекло

Ошибка ожидания подключения появляется, когда ваш веб-сайт пытается сделать больше, чем может выполнить ваш сервер. Это особенно распространено на виртуальном хостинге, где лимит памяти ограничен. Вот что вы можете попробовать:

  • Деактивируйте все подключаемые модули. Если деактивация всех плагинов WordPress на вашем сайте решает проблему, повторно активируйте их один за другим, чтобы увидеть, какой плагин вызывает проблему. Если вы не можете получить доступ к экранам администрирования, узнайте, как вручную деактивировать плагины.
  • Переключиться на тему WordPress по умолчанию. Если вы используете WordPress 5.8 и ниже, переключитесь на тему Twenty Twenty-One, так как для темы Twenty Twenty-Two требуется версия 5.9 и выше. Это должно исключить любые проблемы, связанные с темой.
  • Увеличьте лимит памяти в файле wp-config.php. Если вы пользуетесь виртуальным хостингом, возможно, вам придется попросить своего хостинг-провайдера увеличить для вас лимит памяти.
  • Увеличьте максимальное время выполнения в файле php.ini. Это не основной файл WordPress, поэтому, если вы не знаете, как его редактировать, обратитесь к своему хостинг-провайдеру и попросите его увеличить максимальное время выполнения. Ниже приведены инструкции по увеличению максимального времени выполнения.

Режим обслуживания после обновления

< бр />

При обновлении WordPress автоматически устанавливается файл .maintenance. После обновления вы можете получить сообщение «Кратковременно недоступен для планового обслуживания. Пожалуйста, зайдите через минуту». Файл обслуживания мог быть удален неправильно.

Чтобы удалить это сообщение, выполните следующие действия:

  1. Войдите на свой веб-сайт с помощью программы FTP
  2. Удалите файл .maintenance, который находится в корне вашего сайта.

Вы вносите изменения, и ничего не происходит

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

Если вы внесете изменения на веб-сайт, а браузер сочтет их незначительными, он просто загрузит данные из вашего кеша, и вы не увидите своих изменений. Чтобы решить эту проблему, просто очистите кеш браузера или закройте вкладку и снова откройте ссылку.

Хорошие постоянные ссылки 404 и изображения не работают

Если у вас возникают ошибки 404 с красивыми постоянными ссылками и белым экраном при загрузке изображений, возможно, mod_rewrite не включен в Apache по умолчанию. Mod_rewrite — это модуль расширения программного обеспечения веб-сервера Apache, который позволяет «переписывать» URL-адреса на лету. Это то, что вам нужно, чтобы красивые постоянные ссылки работали.

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

Сбросьте постоянные ссылки, выбрав «Настройки» > «Постоянные ссылки». Если это не сработает, возможно, вам придется отредактировать файл .htaccess вручную.

Если вы не знакомы с редактированием файла .htaccess, обратитесь к своему хостинг-провайдеру и попросите его включить правила mod_rewrite. Дополнительную информацию о красивых постоянных ссылках можно найти в Кодексе WordPress.

Ошибки пользовательского типа публикации 404

У вас могут возникнуть проблемы с ошибками 404 и пользовательскими типами сообщений. Попробуйте выполнить следующие действия:

  1. Убедитесь, что ни один из ваших настраиваемых типов записей и отдельных страниц не имеет одинаковых названий. Если это так, переименуйте отдельную страницу, включая ярлык.
  2. Войдите в свои экраны администрирования WordPress, перейдите в «Настройки» > «Постоянные ссылки». Выберите постоянные ссылки по умолчанию. Сохранять. Затем повторно выберите предпочитаемые постоянные ссылки. Это очистит правила перезаписи и должно решить вашу проблему.

Особые сообщения об ошибках

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

Ошибки PHP

Ниже приведены некоторые распространенные сообщения об ошибках PHP.

Фатальные ошибки и предупреждения

Невозможно изменить информацию заголовка — заголовки уже отправлены

Если вы получаете предупреждение о том, что WordPress не может изменить информацию заголовка, а заголовки уже отправлены, обычно это означает, что у вас есть пробелы или символы перед открывающими тегами или после закрывающих тегов. Узнайте, как исправить ошибку «Заголовки уже отправлены».

Если вы столкнулись с этой проблемой, когда только что установили WordPress, возможно, вы добавили синтаксическую ошибку в wp-config.php. Эти инструкции помогут вам исправить ошибку.

Вызов неопределенной функции

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

  • Ошибка при попытке автоматической установки или автоматического обновления подключаемого модуля. Попробуйте установить или обновить подключаемый модуль вручную.
  • Ошибка при попытке автоматической установки или автоматического обновления темы. Попробуйте установить или обновить тему вручную.
  • Возможно, вы используете несовместимый плагин WordPress или несовместимую тему. Это может произойти со старыми версиями WordPress и новым плагином WordPress, или если вы пытаетесь использовать плагин WordPress Multisite для установки на одном сайте. Обновите WordPress, чтобы решить эту проблему.
  • Возможно, вы пытаетесь вызвать несуществующую функцию. Проверьте functions.php на наличие орфографических ошибок.

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

Разрешенный объем памяти исчерпан

Ошибка Allowed Memory Size Exhausted означает, что в вашей установке WordPress недостаточно памяти для достижения желаемого. Вы можете попробовать выполнить следующие шаги:

  • Увеличьте лимит памяти в файле wp-config.php
  • Увеличьте лимит памяти, отредактировав файл php.ini. Этот файл не входит в состав WordPress, поэтому, если вы не знакомы с ним, обратитесь к своему веб-хостингу по поводу увеличения лимита памяти.
Превышено максимальное время выполнения

Вы можете получить сообщение, например, "Превышено максимальное время выполнения 30 секунд" или "Превышено максимальное время выполнения 60 секунд". Это означает, что для завершения процесса требуется больше времени, и время ожидания истекло. Есть несколько способов исправить эту ошибку.

Редактирование .htaccess

Не забудьте создать резервную копию файла .htaccess перед его редактированием.

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

Редактирование php.ini

Добавьте следующее в php.ini

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

Ошибки синтаксического анализа

Синтаксическая ошибка

Синтаксическая ошибка означает, что вы допустили ошибку при создании структуры PHP. Вы могли бы, например, быть;

  • Отсутствует ; в конце отдельной строки.
  • Использование фигурных кавычек.
  • Отсутствует фигурная скобка.

При появлении этой ошибки программа сообщит вам, в каком файле появляется ошибка (например, functions.php) и примерно в какой строке (это может быть не всегда точная строка, поэтому обязательно проверяйте непосредственно перед и сразу после) в код.

Неожиданно
  • Неожиданный знак «=»: вы забыли включить $ при ссылке на переменную.
  • Неожиданный ‘)’: вы забыли включить открывающую скобку (
  • Неожиданный ‘(‘: вы забыли поставить закрывающую скобку )
  • Непредвиденная ситуация T_STRING: вы забыли поставить кавычку или точку с запятой в конце предыдущей строки.
  • Неожиданный T_ELSE: у вас есть оператор else без открывающего оператора if

Использование неопределенной константы

Как и в случае с ошибками синтаксического анализа, "использование неопределенной константы" означает отсутствие символа. Это может быть одно из следующих:

  • Отсутствует символ $ при ссылке на переменную
  • Отсутствуют кавычки вокруг ключей массива.

Ошибки базы данных

В отношении вашей базы данных WordPress могут появиться следующие ошибки.

Ошибка 13. Не удается создать/записать в файл

Эта ошибка может возникать по ряду причин.

MySQL не может создать временный файл.

Переменная MySQL tmpdir установлена ​​в каталог, в который нельзя записать при использовании PHP для доступа к MySQL. Чтобы убедиться в этом, введите MySQL в командной строке и введите show variable. Вы получите длинный список, и один из них будет выглядеть так: tmpdir = /somedir/ (независимо от ваших настроек).

Чтобы решить эту проблему, измените переменную tmpdir так, чтобы она указывала на доступный для записи каталог.

Неправильные права доступа к файлу

Если все это не имеет смысла и у вас есть кто-то, кто будет администрировать вашу систему вместо вас, покажите ему вышеизложенное, и он сможет во всем разобраться.

Команда CREATE запрещена пользователю

Эта ошибка возникает, когда у пользователя, назначенного базе данных, нет достаточных разрешений для выполнения действий по созданию столбцов и таблиц в базе данных. Вам потребуется войти в CPanel или Plesk, чтобы предоставить пользователю базы данных соответствующие разрешения.

В качестве альтернативы вы можете создать нового пользователя для своей базы данных. Если вы создаете нового пользователя, вам необходимо убедиться, что он обновлен в wp-config.php.

Ошибка 28

Это может быть потому, что:

  • недостаточно места в /tmp (где бы ни находился tmpdir) или,
  • у вас слишком много файлов в /tmp (даже если там много свободного места) или,
  • Кэш на вашем сервере заполнен

Это ошибка MySQL и не имеет прямого отношения к WordPress; вы должны связаться с вашим хостом об этом. Некоторые пользователи сообщают, что запуск команды «восстановить таблицу» в phpMyAdmin решил проблему.

Ошибка 145

Это указывает на то, что таблица в вашей базе данных повреждена или испорчена. Если вам удобно пользоваться phpMyAdmin, вы можете воспользоваться этими инструкциями по восстановлению таблиц базы данных MySQL.

Всегда делайте резервную копию базы данных перед выполнением каких-либо действий с ней.

Если вы раньше не использовали phpMyAdmin или вам неудобно это делать, обратитесь к своему веб-хостингу и попросите его запустить ПРОВЕРКУ/ВОССТАНОВЛЕНИЕ в вашей базе данных.

Неизвестный столбец

Ошибка неизвестного столбца может быть вызвана отсутствием столбца в базе данных. Если вы только что обновили WordPress, попробуйте снова выполнить обновление вручную. Чтобы обновить сайт WordPress вручную, см. статью Обновление.

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

Я получаю эту ошибку, когда пытаюсь получить доступ к localhost/phpmyadmin:

Неверные права доступа к файлу конфигурации, доступ к записи для всех запрещен!

Я уже изменил каждый файл с 777 на 555. Что мне делать дальше? У меня Ubuntu 11.04.


22 ответа 22

Попробуйте, это сработает



Эта команда устранила проблему с моей Ubuntu 14.04.



У меня Mac OSX с XAMPP, и это решение сработало со мной, но с этой командой: sudo chmod 755 /Applications/XAMPP/xamppfiles/phpmyadmin

Это происходит из-за неправильного разрешения доступа к каталогу phpMyAdmin и файлу config.inc.php

В ОС *nix установите права доступа к каталогу и файлу следующим образом

Если, как и я, вы запускаете виртуальную машину Linux, которая монтирует папку Windows, в которой находятся исходники phpMyAdmin, отредактируйте config.inc.php и добавьте эту строку

У меня работает в Ubuntu 20.04.1. Но файл config.inc.php находится по адресу /opt/lampstack-8.0.0-1/apps/phpmyadmin/htdocs.

Это сработало для меня: $ pkexec chmod 755 -R /etc/phpmyadmin


Вы не должны делать их 777 (что может написать каждый). Вместо этого попробуйте 644, что означает, что пользователь может читать и записывать, а группа и другие могут только читать.


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

На всякий случай, если у кого-то есть такая же проблема, но изменение прав доступа к файлу не решает проблему, добавьте эту строку в свой файл config.inc.php

И все готово.

В моем случае я использую Windows 10 WSL с установленным phpmyadmin на диске D:. Невозможно (на данный момент) изменить права доступа к файлам на локальном диске через WSL, если только ваш установочный каталог не находится внутри самой файловой системы WSL. Есть обновления по этой проблеме, но все еще на инсайдерской сборке.

Для пользователей Mac OS:

Найдите файл с именем config.inc.php, обычно расположенный в /Applications/XAMPP/xamppfiles/phpmyadmin/config.inc.php

(это путь к файлу на моем Mac)

Затем щелкните правой кнопкой мыши -> Нажмите «Получить информацию», в нижней части окна вы найдете разрешения-> нажмите значок «Замок» (нижний правый угол)

Введите пароль системного администратора -> -> там, где написано «все», измените это разрешение на ТОЛЬКО ДЛЯ ЧТЕНИЯ -> снова щелкните значок блокировки и попробуйте открыть


Я только что сам решил эту проблему, и эта пара вопрос/ответ не была особенно полезна для меня, поэтому я добавлю то, что решило ее для меня в моем конкретном случае.

Начнем с того, что я только начал использовать репозиторий, поэтому я " chmod 777 -R " переписал весь каталог /opt/lampp, чтобы убедиться, что разрешения не являются проблемой для отправки репозитория. Затем я получил две ошибки, но я думаю, что видел только одну из них, а следующая появилась после исправления первой. Я предполагаю, что одна ошибка затмила другую.

phpMyAdmin не применяет никаких специальных методов безопасности к серверу базы данных MySQL. Системный администратор по-прежнему должен правильно предоставлять разрешения для баз данных MySQL. Для этого можно использовать страницу Пользователи в phpMyAdmin.

Пользователи

Mac должны учитывать, что если вы используете версию до Mac OS X, StuffIt распаковывает форматы Mac. Таким образом, вам придется пересохранить, как в BBEdit, в стиле Unix ВСЕ скрипты phpMyAdmin, прежде чем загружать их на ваш сервер, поскольку PHP, похоже, не любит символ конца строки в стиле Mac\r ").

Дистрибутивы Linux¶

phpMyAdmin включен в большинство дистрибутивов Linux. По возможности рекомендуется использовать пакеты дистрибутива — обычно они обеспечивают интеграцию с вашим дистрибутивом, и вы автоматически будете получать обновления безопасности из вашего дистрибутива.

Debian¶

Репозитории пакетов Debian включают пакет phpMyAdmin, но имейте в виду, что файл конфигурации хранится в /etc/phpmyadmin и может в некоторых отношениях отличаться от официальной документации phpMyAdmin.

OpenSUSE¶

OpenSUSE уже поставляется с пакетом phpMyAdmin, просто установите пакеты из службы сборки openSUSE.

Убунту¶

Ubuntu поставляет пакет phpMyAdmin, однако, если вы хотите использовать последнюю версию, вы можете использовать пакеты из PPA для Михала Чихаржа.

Gentoo¶

Gentoo поставляет пакет phpMyAdmin как в стандартной конфигурации, так и в конфигурации webapp-config. Для установки используйте emerge dev-db/phpmyadmin.

Мандрива¶

Mandriva поставляет пакет phpMyAdmin в свою ветку contrib и может быть установлен через обычный Центр управления.

Федора¶

Fedora поставляет пакет phpMyAdmin, но имейте в виду, что файл конфигурации хранится в /etc/phpMyAdmin/ и может в некоторых отношениях отличаться от официальной документации phpMyAdmin.

Red Hat Enterprise Linux¶

Сама Red Hat Enterprise Linux и, следовательно, ее производные, такие как CentOS, не поставляют phpMyAdmin, но это делает управляемый Fedora репозиторий Extra Packages for Enterprise Linux (EPEL), если он включен. Но имейте в виду, что файл конфигурации хранится в /etc/phpMyAdmin/ и может в чем-то отличаться от официальной документации phpMyAdmin.

Установка в Windows¶

Самый простой способ получить phpMyAdmin в Windows — использовать сторонние продукты, которые включают phpMyAdmin вместе с базой данных и веб-сервером, например XAMPP.

Больше таких вариантов можно найти в Википедии.

Быстрая установка¶

Создание файла вручную¶

Чтобы создать файл вручную, просто используйте текстовый редактор для создания файла config.inc.php (вы можете скопировать config.sample.inc.php, чтобы получить минимальный файл конфигурации) в основном (верхнего уровня) каталоге phpMyAdmin (тот, который содержит index.php ). phpMyAdmin сначала загружает libraries/config.default.php, а затем заменяет эти значения значениями из config.inc.php. Если значение по умолчанию подходит для определенного параметра, нет необходимости включать его в config.inc.php . Вам, вероятно, понадобится всего несколько директив, чтобы начать работу; простая конфигурация может выглядеть так:

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

Полное объяснение возможных значений конфигурации см. в разделе Конфигурация этого документа.

Использование сценария установки¶

Вместо ручного редактирования config.inc.php вы можете использовать функцию настройки phpMyAdmin. Сначала вы должны вручную создать папку config в каталоге phpMyAdmin. Это мера безопасности. В системе Linux/Unix вы можете использовать следующие команды:

Чтобы отредактировать существующую конфигурацию, сначала скопируйте ее:

Debian и Ubuntu упростили эту настройку, и все, что вам нужно сделать, это выполнить /usr/sbin/pma-configure.

На других платформах просто создайте папку и убедитесь, что ваш веб-сервер имеет доступ к ней для чтения и записи. 1.26 Я только что установил phpMyAdmin в корневой каталог документов IIS, но при попытке запустить phpMyAdmin я получаю сообщение об ошибке «Не указан входной файл». могу помочь с этим.

Затем откройте браузер и перейдите в папку, где вы установили phpMyAdmin, с суффиксом /setup.Если у вас есть существующая конфигурация, используйте кнопку Загрузить, чтобы перенести ее содержимое на панель настройки. Обратите внимание, что изменения не сохраняются на диск, пока вы явно не выберете «Сохранить» в области Конфигурация на экране. Обычно скрипт сохраняет новый файл config.inc.php в каталог config/, но если веб-сервер не имеет соответствующих разрешений, вы можете увидеть ошибку «Не удается загрузить или сохранить конфигурацию». Убедитесь, что каталог config/ существует и имеет соответствующие разрешения, или используйте ссылку Загрузить, чтобы сохранить файл конфигурации локально и загрузить его (через FTP или каким-либо подобным способом) на нужное место.

Debian и Ubuntu упростили эту настройку, и все, что вам нужно сделать, это выполнить /usr/sbin/pma-secure.

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

Хранилище конфигурации phpMyAdmin¶

Для полного набора дополнительных функций (закладки, комментарии, SQL-история, механизм отслеживания, PDF-генерация, преобразование содержимого столбца и т. д.) необходимо создать набор специальных таблиц. Эти таблицы могут быть расположены в вашей собственной базе данных или в центральной базе данных для многопользовательской установки (в этом случае доступ к этой базе данных будет иметь управляющий пользователь, поэтому ни один другой пользователь не должен иметь прав на нее).

Нулевая конфигурация¶

Во многих случаях эта структура базы данных может быть создана и настроена автоматически. Это называется режимом «Нулевой конфигурации» и может быть особенно полезным в ситуациях с общим хостингом. Режим «Zeroconf» включен по умолчанию, для отключения установите для $cfg['ZeroConf'] значение false.

Следующие три сценария охватываются режимом нулевой конфигурации:

  • При входе в базу данных, в которой нет таблиц хранилища конфигурации, phpMyAdmin предлагает создать их на вкладке «Операции».
  • При входе в базу данных, в которой таблицы уже существуют, программа автоматически обнаруживает это и начинает их использовать. Это самая распространенная ситуация; после того, как таблицы изначально созданы автоматически, они постоянно используются, не мешая пользователю; это также наиболее полезно на виртуальном хостинге, где пользователь не может редактировать config.inc.php и обычно имеет доступ только к одной базе данных.
  • При наличии доступа к нескольким базам данных, если пользователь сначала входит в базу данных, содержащую таблицы хранилища конфигурации, а затем переключается на другую базу данных, phpMyAdmin продолжает использовать таблицы из первой базы данных; пользователю не предлагается создать дополнительные таблицы в новой базе данных.

Ручная настройка¶

Пожалуйста, посмотрите в свой каталог ./sql/, где вы должны найти файл с именем create_tables.sql. (Если вы используете сервер Windows, обратите особое внимание на 1.23. Я запускаю MySQL на машине с Win32. Каждый раз, когда я создаю новую таблицу, имена таблиц и столбцов изменяются на строчные!).

Если у вас уже была эта инфраструктура и:

  • обновлен до MySQL 4.1.2 или новее, используйте sql/upgrade_tables_mysql_4_1_2+.sql .
  • обновлен до phpMyAdmin 4.3.0 или новее с 2.5.0 или новее ( sql/upgrade_column_info_4_3_0+.sql .

а затем создайте новые таблицы, импортировав sql/create_tables.sql .

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

После импорта файла sql/create_tables.sql вы должны указать имена таблиц в файле config.inc.php. Используемые для этого директивы можно найти в разделе Конфигурация.

Вам также потребуется управляющий пользователь ( $cfg['Servers'][$i]['controluser'] и $cfg['Servers'][$i] ['controlpass'] settings) с соответствующими правами на эти таблицы. Например, вы можете создать его, используя следующую инструкцию:

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

Никогда не извлекайте новую версию поверх существующей установки phpMyAdmin; у нас были доказательства проблем, вызванных этим.

Просто скопируйте config.inc.php из предыдущей установки в только что распакованную. Файлы конфигурации из старых версий могут потребовать некоторой настройки, так как некоторые параметры были изменены или удалены. Для совместимости с PHP 5.3 и более поздними версиями удалите оператор set_magic_quotes_runtime(0);, который вы можете найти в конце файла конфигурации.

Не следует копировать libraries/config.default.php поверх config.inc.php, поскольку файл конфигурации по умолчанию зависит от версии.

Если вы обновили сервер MySQL с версии, предшествующей 4.1.2, до версии 5.x или новее, а если вы используете хранилище конфигурации phpMyAdmin, вам следует запустить скрипт SQL из sql/upgrade_tables_mysql_4_1_2+.sql .

Если вы обновили phpMyAdmin до 4.3.0 или новее с 2.5.0 или новее ( sql/upgrade_column_info_4_3_0+.sql .

Использование режимов аутентификации¶

Затем каждому из настоящих пользователей должен быть предоставлен набор привилегий в наборе определенных баз данных. Обычно вы не должны давать глобальные привилегии обычному пользователю, если вы не понимаете влияние этих привилегий (например, вы создаете суперпользователя). Например, чтобы предоставить пользователю real_user все привилегии в базе данных user_base:

Режим аутентификации с помощью файлов cookie¶

Режим аутентификации при входе¶

  • Этот режим является удобным способом использования учетных данных из другого приложения для аутентификации в phpMyAdmin для реализации решения единого входа.
  • Другое приложение должно хранить информацию для входа в данные сеанса (см. $cfg['Servers'][$i]['SignonSession']), или вам нужно реализовать сценарий для возврата учетных данных. (см. $cfg['Servers'][$i]['SignonScript']).
  • Если учетные данные недоступны, пользователь перенаправляется на $cfg['Servers'][$i]['SignonURL'], где вы должны выполнить процесс входа в систему.

Самый простой пример сохранения учетных данных в сеансе доступен как examples/signon.php :

В качестве альтернативы вы также можете использовать этот способ для интеграции с OpenID, как показано в examples/openid.php :

" ; Show_page ( $contents ); выход ; > /* Перенаправление к провайдеру OpenID */ if ( isset ( $_POST [ 'start' ])) < try < $authRequest = $o ->prepare (); > поймать ( OpenID_Exception $e ) < $contents = "

Пользователь не разрешен!

Если вы собираетесь передавать учетные данные каким-либо другим способом, вам необходимо реализовать оболочку в PHP, чтобы получить эти данные и установить их в $cfg['Servers'][$i]['SignonScript'] . В examples/signon-script.php есть очень минимальный пример:

Режим аутентификации конфигурации¶

Режим аутентификации Swekey¶

Swekey — это недорогой USB-ключ для аутентификации, который можно использовать в веб-приложениях. Когда аутентификация Swekey активирована, phpMyAdmin требует, чтобы Swekey пользователя был подключен перед входом на страницу входа (в настоящее время поддерживается только для режима аутентификации cookie). По умолчанию аутентификация Swekey отключена. Чтобы включить его, добавьте следующую строку в config.inc.php :

Самодокументированный пример файла находится в файле examples/swekey.sample.conf :

Защита установки phpMyAdmin¶

Ошибки прав доступа обычно связаны с установками Linux и macOS. В таких системах для файлов и каталогов доступны три привилегии: чтение (r), запись (w) и выполнение (x). Пользователь системы может выполнять различные операции в зависимости от своих привилегий и групп, к которым принадлежит этот пользователь. Дополнительные сведения о разрешениях см. в этом руководстве. Проблема с правами доступа возникает, когда приложение (или системный пользователь) выполняет несанкционированную операцию в файловой системе.

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

Облачные образы и виртуальные машины:

  • Наличие системного пользователя для доступа по SSH/SFTP: bitnami
  • Назначьте системного пользователя и группу для каждого демонизированного процесса. Эти пользователи будут иметь крайне ограниченные привилегии. Причина наличия нескольких пользователей системы состоит в том, чтобы свести к минимуму влияние, если безопасность процесса будет скомпрометирована. Ниже приведены наиболее распространенные процессы:
    • Apache: демон
    • MySQL: mysql
    • PostgreSQL: postgresql
    • Кот: кот

    Весь стек доступен для записи только пользователю root. По умолчанию пользователям без полномочий root разрешены только права на чтение. В виде исключения каждый демонизированный процесс может записывать только в определенные папки данных и временные папки. Например: mysql может записывать в /opt/bitnami/mysql/data и /opt/bitnami/mysql/tmp.

    • Если системный пользователь bitnami хочет отредактировать файл, он должен получить права суперпользователя. Чтобы улучшить взаимодействие с пользователем, пользователь bitnami может владеть (с правами на запись) определенными папками (например, папкой htdocs WordPress).

    Установщики с установкой root: то же, что и в предыдущем случае, но без пользователя bitnami. Все операции должны выполняться пользователем root.

    Установщики с установкой без полномочий root и установщики Windows: пользователь, запускающий программу установки, полностью владеет стеком и всеми его демонизированными процессами.

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

    Как обнаружить

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

    Эти ошибки обычно включают путь, который процессу не удалось прочитать или записать.

    Распространенные проблемы

    Самые распространенные проблемы с разрешениями, с которыми сталкиваются пользователи Bitnami, перечислены ниже:

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

    Пользователь модифицирует или изменяет разрешения: добровольно или невольно пользователь изменяет разрешения стека по умолчанию. Из-за этого приложение перестает работать. Подгруппа таких случаев связана с проблемами обновления вручную.

    Операция, выполненная не тем системным пользователем: в основном это относится к стекам с утилитами командной строки (например, Magento или ERPNext). Если пользователь выполняет операцию командной строки, может возникнуть ошибка, поскольку операция была выполнена не тем системным пользователем. В зависимости от привилегий этого системного пользователя стек может стать непригодным для использования.

    Несовместимость плагинов. Некоторые плагины требуют определенных разрешений для определенных файлов конфигурации (например, wp-config.php в WordPress). Эти разрешения могут быть несовместимы с теми, которые Bitnami устанавливает по умолчанию.

    Контрольный список для устранения неполадок

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

    Используете ли вы правильную программу для редактирования разрешений?

    FTP-клиенты, такие как Filezilla, нельзя использовать для изменения разрешений в вашем стеке. Вместо этого вы должны использовать SSH-клиент. Чтобы узнать больше о подключении через SSH, см. это руководство.

    Вы не можете загрузить файл через SFTP?

    Если вы видите подобную ошибку при загрузке файла:

    Временно измените права доступа к папке или файлу назначения, загрузите файлы, а затем восстановите исходное состояние файла или папки. Для этого выполните следующие действия:

    Войдите в консоль сервера. Узнайте, как подключиться к серверу через SSH.

    Выполните команду в целевой папке, в которую вы хотите загрузить файл (замените TARGETFOLDER на правильный путь):

    Если вы хотите загрузить файл, замените заполнитель TARGETFOLDER полным путем к файлу. Ниже приведен пример:

    Вы увидите такой вывод:

    Примите к сведению эту информацию. В этом случае файл или папка имеют следующие разрешения:

    • Разрешения: 0775
    • Владелец: демон
    • Группа: демон

    Измените владельца папки или файла на bitnami (не забудьте заменить заполнитель TARGETFOLDER на правильный путь):

    Теперь вы сможете загружать файлы в папку или заменять файл. Когда вы закончите, восстановите исходные разрешения. В приведенном выше случае команды следующие:

    Вы не можете редактировать файл через SSH?

    Если вы получаете подобную ошибку при попытке отредактировать файл в сеансе SSH:

    Вы должны редактировать файл с правами суперпользователя. Выполните команду в файле, который вы хотите отредактировать (замените TARGETFILE на правильный путь). В этом примере мы будем использовать nano в качестве редактора:

    Сохраненный файл должен поддерживать исходные привилегии.

    Правильно ли установлены разрешения в вашем стеке?

    Если ваше приложение дает сбой или выдает следующую ошибку:

    Возможно, разрешения в стеке неверны. Обычно такие ситуации возникают из-за ручного изменения разрешений приложения.

    Проверьте историю команд для операций по изменению разрешений:

    Проверьте вывод. Примеры такого рода операций следующие:

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

    Посмотрите на исходную конфигурацию приложения (вы можете запустить новый свежий облачный экземпляр приложения). Проверьте доступные для записи папки и проверьте правильность разрешений. Ниже приведен пример доступных для записи папок Magento:

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

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

    Если ваш стек использует MySQL, проверьте и сбросьте права доступа к каталогу данных MySQL:

    Если ваш стек использует MariaDB, проверьте и сбросьте права доступа к каталогу данных MariaDB:

    Если в вашем стеке используется Apache, сбросьте права доступа к каталогу Apache:

    Проверьте, теперь приложение работает без проблем.

    Вы получаете сообщение об ошибке при загрузке файла, обновлении или установке расширения с помощью интерфейса приложения?

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

    Если с вашими разрешениями все в порядке, создайте заявку в службе поддержки Bitnami, следуя инструкциям по созданию заявки.

    Вы не можете выполнить команду через SSH в стеке?

    Если вы пытаетесь выполнить команду внутри своего стека и получаете такую ​​ошибку:

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

    Загрузите среду приложения, выполнив следующую команду. Замените APPNAME на имя вашего приложения:

    Хотя многим пользователям нужны функциональные возможности системы управления базами данных, такой как MariaDB, им может быть неудобно взаимодействовать с системой только из командной строки MariaDB.

    phpMyAdmin был создан для того, чтобы пользователи могли взаимодействовать с MariaDB через веб-интерфейс. В этом руководстве мы обсудим, как установить и защитить phpMyAdmin, чтобы вы могли безопасно использовать его для управления своими базами данных в системе Debian 10.

    Предпосылки

    Прежде чем приступить к работе с этим руководством, вам потребуется следующее:

    • Доступ к серверу Debian 10. На этом сервере должен быть пользователь без полномочий root с привилегиями sudo и брандмауэр, настроенный с помощью ufw. Чтобы настроить это, следуйте нашему Руководству по начальной настройке сервера для Debian 10.
    • Стек LAMP (Linux, Apache, MariaDB и PHP), установленный на вашем сервере Debian 10. Следуйте нашему руководству по установке стека LAMP в Debian 10, чтобы настроить его.

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

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

    • Общается напрямую с вашей установкой MariaDB
    • Обрабатывает аутентификацию с использованием учетных данных MariaDB.
    • Выполняет произвольные запросы SQL и возвращает результаты.

    Если у вас нет существующего домена, настроенного с сертификатом SSL/TLS, вы можете настроить его, следуя этому руководству по защите Apache с помощью Let’s Encrypt в Debian 10. Для этого вам потребуется зарегистрировать доменное имя, создать записи DNS для вашего сервера и настроить виртуальный хост Apache.

    Выполнив эти шаги, вы готовы приступить к работе с этим руководством.

    Шаг 1 — Установка phpMyAdmin и рекомендуемых пакетов

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

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

    • php-mbstring : расширение PHP, используемое для управления строками, отличными от ASCII, и преобразования строк в другие кодировки.
    • php-zip : модуль PHP, который поддерживает загрузку файлов .zip в phpMyAdmin
    • php-gd : еще один модуль PHP, обеспечивающий поддержку графической библиотеки GD.

    Во-первых, обновите индекс пакетов вашего сервера, если вы не делали этого в последнее время:

    Затем используйте apt, чтобы извлечь файлы и установить их в своей системе:

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

    Для этого перейдите на страницу загрузок phpMyAdmin, прокрутите вниз до таблицы со ссылками для скачивания последней стабильной версии и скопируйте ссылку для скачивания, оканчивающуюся на tar.gz . Эта ссылка указывает на архивный файл, известный как tarball, который при распаковке создаст ряд файлов в вашей системе. На момент написания этой статьи последней версией была версия 4.9.7.

    Примечание. На этой странице загрузок вы заметите, что есть ссылки для скачивания, помеченные как все языки и английский .Ссылки на все языки позволяют загрузить версию phpMyAdmin, которая позволит вам выбрать один из 72 доступных языков, а ссылки на английском языке позволят вам использовать phpMyAdmin только на английском языке.

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

    Замените ссылку в следующей команде wget только что скопированной ссылкой для скачивания, затем нажмите ENTER . Это запустит команду и загрузит архив на ваш сервер:

    Затем распакуйте архив:

    Это создаст ряд новых файлов и каталогов на вашем сервере в родительском каталоге с именем phpMyAdmin-4.9.7-all-languages ​​.

    Затем выполните следующую команду. Это переместит каталог phpMyAdmin-4.9.7-all-languages ​​и все его подкаталоги в каталог /usr/share/, место, где phpMyAdmin по умолчанию ожидает найти свои файлы конфигурации. Он также переименует существующий каталог просто в phpmyadmin :

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

    Шаг 2 — Настройка phpMyAdmin вручную

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

    Для начала создайте новый каталог, в котором phpMyAdmin будет хранить свои временные файлы:

    Установите www-data — профиль пользователя Linux, который веб-серверы, такие как Apache, используют по умолчанию для нормальной работы в системах Ubuntu и Debian — в качестве владельца этого каталога:

    Извлеченные ранее файлы содержат пример файла конфигурации, который можно использовать в качестве базового файла конфигурации. Сделайте копию этого файла, сохранив его в каталоге /usr/share/phpmyadmin, и переименуйте его в config.inc.php :

    Откройте этот файл в предпочитаемом вами текстовом редакторе. Здесь мы будем использовать nano :

    Исторически сложилось так, что вместо этого phpMyAdmin использовал для этой цели шифр Blowfish, и это до сих пор отражено в его файле конфигурации. Прокрутите вниз до строки, начинающейся с $cfg['blowfish_secret'] . Это будет выглядеть так:

    Между одинарными кавычками введите строку из 32 случайных символов. Это не парольная фраза, которую вам нужно запомнить, она просто будет использоваться внутри алгоритма AES:

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

    По умолчанию pwgen создает легко произносимые, но менее безопасные пароли. Однако, включив флаг -s, как в следующей команде, вы можете создать совершенно случайный, сложный для запоминания пароль. Обратите внимание на два последних аргумента этой команды: 32 , определяющий длину строки пароля, которую будет генерировать pwgen; и 1, который сообщает pwgen, сколько строк он должен сгенерировать:

    Далее прокрутите вниз до комментария, читающего /* Пользователь использовал для управления хранилищем */ . Этот раздел включает в себя некоторые директивы, определяющие пользователя базы данных MariaDB с именем pma, который выполняет определенные административные задачи в phpMyAdmin. Согласно официальной документации, эта специальная учетная запись пользователя не требуется в тех случаях, когда только один пользователь имеет доступ к phpMyAdmin, но рекомендуется в многопользовательских сценариях.

    Раскомментируйте директивы controluser и controlpass, удалив предшествующие косые черты. Затем обновите директиву controlpass, чтобы она указывала на безопасный пароль по вашему выбору. Если вы этого не сделаете, пароль по умолчанию останется прежним, и неизвестные пользователи смогут легко получить доступ к вашей базе данных через интерфейс phpMyAdmin.

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

    Под этим разделом вы найдете еще один раздел, которому предшествует комментарий /* База данных и таблицы хранилища */ . Этот раздел включает ряд директив, определяющих хранилище конфигурации phpMyAdmin, базу данных и несколько таблиц, используемых администратором базы данных pma. Эти таблицы позволяют использовать ряд функций phpMyAdmin, включая закладки, комментарии, создание PDF-файлов и многое другое.

    Раскомментируйте каждую строку в этом разделе, удалив косую черту в начале каждой строки, чтобы она выглядела так:

    Эти таблицы еще не существуют, но мы скоро их создадим.

    Наконец, прокрутите файл вниз и добавьте следующую строку. Это настроит phpMyAdmin на использование каталога /var/lib/phpmyadmin/tmp, который вы создали ранее, в качестве временного каталога. phpMyAdmin будет использовать этот временный каталог в качестве кеша шаблонов, что позволит ускорить загрузку страниц:

    Сохраните и закройте файл после добавления этой строки.Если вы использовали nano , вы можете сделать это, нажав CTRL + X , Y , а затем ENTER .

    Далее вам нужно создать базу данных и таблицы хранилища phpMyAdmin. Когда вы установили phpMyAdmin на предыдущем шаге, он содержал файл с именем create_tables.sql. Этот файл SQL содержит все команды, необходимые для создания базы данных хранилища конфигурации и таблиц, необходимых для правильной работы phpMyAdmin.

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

    После этого вам необходимо создать пользователя-администратора pma. Откройте приглашение MariaDB:

    В командной строке выполните следующую команду, чтобы создать пользователя pma и предоставить ему соответствующие разрешения. Обязательно измените пароль, чтобы он совпадал с паролем, который вы определили в файле config.inc.php:

    Если вы еще не создали его, вам также следует создать обычного пользователя MariaDB для управления базами данных через phpMyAdmin, поскольку рекомендуется входить в систему, используя другую учетную запись, а не пользователя pma. С помощью этой команды вы можете создать пользователя, который имеет привилегии ко всем таблицам в базе данных, а также возможность добавлять, изменять и удалять пользовательские привилегии. Какие бы привилегии вы ни назначали этому пользователю, обязательно дайте ему надежный пароль:

    После этого выйдите из оболочки MariaDB:

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

    Шаг 3 — Настройка Apache для обслуживания phpMyAdmin

    При установке phpMyAdmin из репозиториев по умолчанию процесс установки автоматически создает файл конфигурации Apache и помещает его в каталог /etc/apache2/conf-enabled/. Однако, поскольку мы установили phpMyAdmin из исходного кода, нам нужно будет создать и включить этот файл вручную.

    Создайте файл с именем phpmyadmin.conf в каталоге /etc/apache2/conf-available/:

    Затем добавьте в файл следующее содержимое

    Это файл конфигурации Apache phpMyAdmin по умолчанию, который можно найти в установках Ubuntu, хотя его также будет достаточно для установки Debian.

    Сохраните и закройте файл, затем включите его, набрав:

    Затем перезагрузите службу apache2, чтобы изменения конфигурации вступили в силу:

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

    Вы увидите следующий экран входа:

    экран входа в phpMyAdmin

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

    пользовательский интерфейс phpMyAdmin

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

    Шаг 4 — Защита экземпляра phpMyAdmin

    Из-за своего повсеместного распространения phpMyAdmin является популярной мишенью для злоумышленников, и вам следует проявлять особую осторожность, чтобы предотвратить несанкционированный доступ. Один из самых простых способов сделать это — разместить шлюз перед всем приложением, используя встроенные в Apache функции аутентификации и авторизации .htaccess.

    Для этого необходимо сначала разрешить использование переопределений файла .htaccess, отредактировав файл конфигурации Apache.

    Отредактируйте связанный файл, помещенный в каталог конфигурации Apache:

    Добавьте директиву AllowOverride All в раздел файла конфигурации, например:

    Добавив эту строку, сохраните и закройте файл.

    Чтобы применить внесенные изменения, перезапустите Apache:

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

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

    В этом файле введите следующее содержимое:

    Вот что означает каждая из этих строк:

    • AuthType Basic: в этой строке указывается тип аутентификации, который вы реализуете. Этот тип реализует аутентификацию по паролю с использованием файла паролей.
    • AuthName: устанавливает сообщение для диалогового окна аутентификации. Вы должны оставить его общим, чтобы неавторизованные пользователи не могли получить информацию о том, что защищается.
    • AuthUserFile: задает расположение файла паролей, который будет использоваться для аутентификации.Это должно быть за пределами каталогов, которые обслуживаются. Вскоре мы создадим этот файл.
    • Require valid-user : указывает, что доступ к этому ресурсу должен быть предоставлен только пользователям, прошедшим проверку подлинности. Это то, что на самом деле предотвращает вход неавторизованных пользователей.

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

    Расположение, которое вы выбрали для файла паролей, было /usr/share/phpmyadmin/.htpasswd . Теперь вы можете создать этот файл и передать его начальному пользователю с помощью утилиты htpasswd:

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

    Если вы хотите ввести дополнительного пользователя, вам нужно сделать это без флага -c, например:

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

    пароль apache phpMyAdmin

    После входа в систему аутентификации Apache вы попадете на обычную страницу аутентификации phpMyAdmin, чтобы ввести свои учетные данные MariaDB. Эта настройка добавляет дополнительный уровень безопасности, что желательно, поскольку в прошлом phpMyAdmin страдал от уязвимостей.

    Заключение

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

    Хотите узнать больше? Присоединяйтесь к сообществу DigitalOcean!

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

    Читайте также: