Все варианты установки phpmyadmin
Содержание:
- Security
- 5 последних уроков рубрики «PHP»
- Шаг 2 — Настройка аутентификации и прав пользователя
- Правила устройства БД в PhpMyAdmin на локальном сервере
- Установка phpMyAdmin в Ubuntu 20.04
- Настройка PHP 7
- Настройка phpMyAdmin в Ubuntu
- Step One — Install phpMyAdmin
- Пару слов о безопасности
- Шаг 1 — Установка phpMyAdmin
- Веб-сервер на Windows
- 2: Защита phpMyAdmin
- Установка phpMyAdmin
Security
Unfortunately older versions of phpMyAdmin have had serious security vulnerabilities including allowing remote users to eventually exploit root on the underlying virtual private server. One can prevent a majority of these attacks through a simple process: locking down the entire directory with Apache’s native user/password restrictions which will prevent these remote users from even attempting to exploit older versions of phpMyAdmin.
Set Up the .htaccess File
To set this up start off by allowing the .htaccess file to work within the phpmyadmin directory. You can accomplish this in the phpmyadmin configuration file:
sudo nano /etc/phpmyadmin/apache.conf
Under the directory section, add the line “AllowOverride All” under “Directory Index”, making the section look like this:
<Directory /usr/share/phpmyadmin> Options FollowSymLinks DirectoryIndex index.php AllowOverride All
Configure the .htaccess file
With the .htaccess file allowed, we can proceed to set up a native user whose login would be required to even access the phpmyadmin login page.
Start by creating the .htaccess page in the phpmyadmin directory:
sudo nano /usr/share/phpmyadmin/.htaccess
Follow up by setting up the user authorization within .htaccess file. Copy and paste the following text in:
AuthType Basic AuthName "Restricted Files" AuthUserFile /etc/apache2/.phpmyadmin.htpasswd Require valid-user
Below you’ll see a quick explanation of each line
- AuthType: This refers to the type of authentication that will be used to the check the passwords. The passwords are checked via HTTP and the keyword Basic should not be changed.
- AuthName: This is text that will be displayed at the password prompt. You can put anything here.
- AuthUserFile: This line designates the server path to the password file (which we will create in the next step.)
- Require valid-user: This line tells the .htaccess file that only users defined in the password file can access the phpMyAdmin login screen.
Create the htpasswd file
Now we will go ahead and create the valid user information.
Start by creating a htpasswd file. Use the htpasswd command, and place the file in a directory of your choice as long as it is not accessible from a browser. Although you can name the password file whatever you prefer, the convention is to name it .htpasswd.
sudo htpasswd -c /etc/apache2/.phpmyadmin.htpasswd username
A prompt will ask you to provide and confirm your password.
Once the username and passwords pair are saved you can see that the password is encrypted in the file.
FInish up by restarting apache:
sudo service apache2 restart
5 последних уроков рубрики «PHP»
Когда речь идёт о безопасности веб-сайта, то фраза «фильтруйте всё, экранируйте всё» всегда будет актуальна. Сегодня поговорим о фильтрации данных.
Обеспечение безопасности веб-сайта — это не только защита от SQL инъекций, но и протекция от межсайтового скриптинга (XSS), межсайтовой подделки запросов (CSRF) и от других видов атак
В частности, вам нужно очень осторожно подходить к формированию HTML, CSS и JavaScript кода.
Expressive 2 поддерживает возможность подключения других ZF компонент по специальной схеме. Не всем нравится данное решение
В этой статье мы расскажем как улучшили процесс подключение нескольких модулей.
Предположим, что вам необходимо отправить какую-то информацию в Google Analytics из серверного скрипта. Как это сделать. Ответ в этой заметке.
Подборка PHP песочниц
Подборка из нескольких видов PHP песочниц. На некоторых вы в режиме online сможете потестить свой код, но есть так же решения, которые можно внедрить на свой сайт.
Шаг 2 — Настройка аутентификации и прав пользователя
При установке phpMyAdmin на ваш сервер автоматически создал пользователь базы данных с именем , который отвечает за определенные базовые процессы программы. Вместо того, чтобы выполнять вход с помощью этого пользователя и пароля администратора, которые вы задали при установке, рекомендуется войти с использование вашего root пользователя MySQL или пользователя, предназначенного для управления базами данных через интерфейс phpMyAdmin.
Настройка доступа по паролю для учетной записи root в MySQL
В системах Ubuntu при запуске MySQL 5.7 (и более поздние версии) для root пользователя MySQL по умолчанию устанавливается аутентификация с помощью плагина , а не пароля. Это позволяет обеспечить большую безопасность и удобство во многих случаях, однако это также может осложнить ситуацию, когда вам нужно предоставить внешней программе, например, phpMyAdmin, доступ к пользователю.
Чтобы войти в phpMyAdmin с root пользователем MySQL, вам нужно переключить метод аутентификации с на , если вы еще не сделали этого. Для этого откройте командную строку MySQL через терминал:
Затем проверьте, какой метод аутентификации используют ваши аккаунты пользователей MySQL с помощью следующей команды:
В этом примере вы можете видеть, что root пользователь действительно использует метод аутентификации с помощью плагина . Чтобы настроить для учетной записи root аутентификацию с помощью пароля, выполните следующую команду . Обязательно измените значение на надежный пароль по вашему выбору:
Затем выполните команду , которая просит сервер перезагрузить предоставленные таблицы и ввести в действие изменения:
Проверьте методы аутентификации, применяемые для каждого из ваших пользователей, чтобы подтвердить, что root пользователь больше не использует для аутентификации плагин :
В этом выводе вы можете увидеть, что пользователь root будет использовать аутентификацию по паролю. Теперь вы можете выполнить вход в интерфейс phpMyAdmin с помощью root пользователя с паролем, который вы задали ранее.
Настройка доступа по паролю для выделенного пользователя MySQL
Некоторые могут посчитать, что для их рабочего процесса лучше подходит подключение к phpMyAdmin с помощью специально выделенного пользователя. Чтобы сделать это, снова откройте командную строку MySQL:
Примечание. Если вы активировали аутентификацию по паролю, как указано в предыдущем разделе, вам потребуются другие команды для доступа к командной строке MySQL. Следующая команда будет запускать ваш клиент MySQL с обычными правами пользователя, и вы получите права администратора внутри базы данных только с помощью аутентификации:
Создайте нового пользователя и придумайте для него надежный пароль:
Затем предоставьте вашему новому пользователю соответствующие права. Например, вы можете предоставить пользователю права доступа ко всем таблицам в базе данных, а также можете добавлять, изменять и удалять права пользователя с помощью этой команды:
После этого закройте командную строку MySQL:
Теперь вы можете получить доступ к веб-интерфейсу, набрав доменное имя или открытый IP-адрес вашего сервера и добавив
Выполните вход в интерфейс с помощью root пользователя или с новым именем пользователя и паролем, которые вы только что задали.
При входе вы увидите пользовательский интерфейс, который будет выглядеть следующим образом:
Теперь, когда вы можете подключаться и взаимодействовать с phpMyAdmin, осталось только установить более жесткие правила безопасности системы, чтобы защитить ее от атак.
Правила устройства БД в PhpMyAdmin на локальном сервере
- Каждый столбец имеет уникальное имя;
- Все столбцы должны располагаться в определенном порядке, который задается в момент создания БД;
- В базе данных должен быть обязательно хоть один столбец. Строк может не быть;
- Каждая строка не может повторяться;
Смотреть:
Данные вставляемые в столбец, имеют уникальный ТИП_ДАННЫХ.
Наиболее распространённые следующие типы данных:
- «DECIMAL» — Десятичные числа;
- «CHAR» — Краткий текст длинной до 255 символов;
- «INT» – Числа целые;
- «LONGTEXT» – Текст до 4,294,967,295 символов;
- «TEXT» – Текст обычный до 65,535 символов;
- «Date» – Даты, формат ГГГГ-ММ-ДД;
- «DATETIME» – дата и время ГГГГ-ММ-ДД ЧЧ: ММ: СС;
- «VARCHAR» – любые символы;
- «Time» – время — формат ЧЧ:MM:СС.
Язык базы данных в PhpMyAdmin на локальном сервере
Главный язык реляционных баз данных язык SQL. На нем пишутся запросы к базе данных. Называются запросы — SQL запрос. Для отправления SQL запросов в phpMyAdmin есть вклада: SQL, в верхнем горизонтальном меню.
Это все, про phpMyAdmin на локальном сервере. В следующей статье, я подробно расскажу, как работать с базой данных в phpMyAdmin.
WebOnTo.ru
Установка phpMyAdmin в Ubuntu 20.04
Прежде чем мы сможем установить phpMyAdmin Ubuntu, необходимо убедиться, что у вас установлено расширение php для работы с текстовыми строками в формате юникода. Для его установки выполните в терминале команду:
Теперь можно установить сам пакет phpMyAdmin при помощи команды:
Установщик спросит вас, какой веб-сервер будет использоваться для работы программы. Отметьте с помощью кнопки Пробел пункт apache2, а затем с помощью Tab и Enter нажмите кнопку Ок:
Далее установщик предложит создать базу данных для phpMyAdmin, в которой будет находиться служебная информация программы и необходимые настройки, необходимо согласиться выбрав пункт Yes:
На следующем этапе необходимо придумать пароль для пользователя phpmyadmin, который будет использоваться программой для доступа к собственной базе данных:
Далее программа попросит вас повторить заданный ранее пароль:
После этого установка phpMyAdmin Ubuntu 20.04 завершена.
Настройка PHP 7
Настройка PHP происходит в файле php.ini. В zip-архивах, предназначенных для ручной установки и для обновлений, php.ini нет (это сделано специально, чтобы при обновлении случайно не удалить ваш файл с настройками). Зато есть два других, которые называются php.ini-development и php.ini-production. Любой из них, при ручной установке, можно переименовать в php.ini и настраивать дальше. На локалхосте мы будем использовать php.ini-development.
Открываем файл php.ini любым текстовым редактором, ищем строчку
и заменяем её на
Теперь найдите группу строк:
и замените её на:
теперь раскомментируйте эту группу строк:
Этими действиями мы включили расширения. Они могут понадобиться в разных ситуациях для разных скриптов. Сохраняем файл и перезапускаем Apache.
Материалы по дополнительной настройке, в том числе подключение поддержки PERL, Ruby, Python в Apache (только для тех, кому это нужно):
Настройка phpMyAdmin в Ubuntu
Теперь phpMyAdmin будет доступен по адресу ip_вашего_сервера/phpmyadmin. Вы можете проверить, всё ли работает, просто открыв этот адрес в браузере:
1. Создание пользователя для phpMyAdmin
По умолчанию, вы не сможете авторизоваться в phpMyAdmin от пользователя root, потому что по умолчанию данная особенность отключена. В целях безопасности включать данную опцию не рекомендуется. В данном случае необходимо создать нового пользователя и наделить его полномочиями root. Для создания нового пользователя перейдите в консоль MySQL введя команду в терминале:
После ввода пароля root пользователя MySQL, введите следующие команды:
При помощи первых двух команд был создан новый пользователь с именем test, ему был присвоен пароль и предоставлены все возможные привилегии (такие как создание, удаление, редактирование баз данных, таблиц и т.д.). Третья команда обновляет заданные ранее привилегии.
Теперь необходимо авторизоваться в phpMyAdmin при помощи созданного пользователя:
2. Защита phpMyAdmin
Если phpMyAdmin установлен на производственном сервере, который доступен из сети, то его необходимо обезопасить, добавив авторизацию. Для этого создайте файл /usr/share/phpmyadmin/.htaccess со следующим содержимым:
Данные строки означают:
- AuthType Basic — устанавливает тип аутентификации, мы указываем, что будем использовать пароль;
- AuthName — задает сообщение, которое будет видеть пользователь;
- AuthUserFile — файл, откуда программа будет брать имена пользователей и пароли;
- Require — указываем, что аутентификация обязательна.
Далее создайте новый пароль для своего пользователя:
Чтобы настройки из файла .htaccess заработали в этой директории, необходимо, чтобы для неё в файле /etc/apache2/apache2.conf значение AllowOverride было All:
Сохраните изменения и закройте файл. Далее перезапустите apache:
Теперь, если вы попытаетесь открыть phpMyAdmin, то вам необходимо пройти авторизацию:
Step One — Install phpMyAdmin
To get started, we will install phpMyAdmin from the default Ubuntu repositories.
We can do this by updating our local package index and then using the packaging system to pull down the files and install them on our system:
This will ask you a few questions in order to configure your installation correctly.
Warning: When the first prompt appears, apache2 is highlighted, but not selected. If you do not hit Space to select Apache, the installer will not move the necessary files during installation. Hit Space, Tab, and then Enter to select Apache.
- For the server selection, choose apache2.
- Select yes when asked whether to use to set up the database
- You will be prompted for your database administrator’s password
- You will then be asked to choose and confirm a password for the application itself
The installation process actually adds the phpMyAdmin Apache configuration file into the directory, where it is automatically read.
The only thing we need to do is explicitly enable the PHP and extensions, which we can do by typing:
Afterwards, you’ll need to restart Apache for your changes to be recognized:
You can now access the web interface by visiting your server’s domain name or public IP address followed by :
You can now log into the interface using the username and the administrative password you set up during the MySQL installation.
When you log in, you’ll see the user interface, which will look something like this:
Пару слов о безопасности
После установки PMA — любой пользователь сети будет иметь к ней доступ через браузер. Соответственно, есть вероятность того, что кто-то захочет выполнить брутфорс логина и пароля. Поэтому ты можешь попробовать обезопасить себя с помощью следующих методов:
- Установка в папку с нестандартным названием, например не ./phpmyadmin, а ./snvuhw34nsfbk
- Использование отдельного пользователя для входа в БД из PMA, что мы и проделали в данной статье, только придумай имя посложнее, чем «pma»
- Аутентификация в каталог phpMyAdmin с помощью http_authorization
- Запрет на доступ к панели с чужих IP (подойдет, если у тебя самого статичный IP на рабочем ПК)
В принципе для защиты от брутфорс-ботов в большинстве своем выполнения первого и второго пунктов достаточно. Но, если хочется перебдеть — то все в твоих руках. Подробнее об организации http_authorization и запрете доступа по IP я рассказывать тут не буду, ибо у каждого свой WEB-сервер и инструкцию, как это сделать на твоем — читай в официальной документации к нему, направление, что искать — я дал.
56
Шаг 1 — Установка phpMyAdmin
Вы можете использовать APT для установки phpMyAdmin из репозиториев Ubuntu по умолчанию.
Обновите индекс пакетов вашего сервера от имени пользователя без прав root с привилегиями sudo:
После этого вы можете установить пакет . Помимо этого пакета, официальная документация также рекомендует установить несколько расширений PHP на ваш сервер для возможности использования определенной функциональности и улучшения производительности.
Если вы выполнили предварительное требования руководства для стека LAMP, ряд из этих модулей уже был установлен вместе с пакетом . Однако рекомендуется также установить следующие пакеты:
- : модуль для работы с строками, не поддерживающими кодировку ASCII, и конвертации таких строк в другие кодировки
- : это расширение поддерживает загрузку файлов в phpMyAdmin
- : поддержка библиотеки GD Graphics
- : поддержка сериализации JSON для PHP
- : позволяет PHP взаимодействовать с разными типами серверов, используя разные протоколы
Запустите следующую команду для установки этих пакетов в систему
Обратите внимание, что процесс установки требует, чтобы вы ответили на ряд вопросов для корректной настройки phpMyAdmin. Мы кратко пробежимся по этим параметрам:
Здесь представлены параметры, которые вы должны выбрать при запросе для корректной настройки вашей установки:
-
Для выбора сервера вы можете выбрать
Предупреждение. При появлении запроса вариант «apache2» выделен, но не выбран. Если вы не нажмете для выбора Apache, установщик не будет перемещать необходимые файлы при установке. Нажмите , затем , а потом для выбора Apache. - Выберите при ответе на вопрос о том, необходимо ли использовать для настройки базы данных.
- Затем вам будет предложено выбрать и подтвердить пароль приложения MySQL для phpMyAdmin
Примечание. Если вы установили MySQL, следуя указаниям , вы, возможно, активировали плагин Validate Password. На момент написания этого руководства активация этого компонента будет вызывать ошибку при попытке задать пароль пользователя phpmyadmin:
Для устранения этой проблемы выберите опцию abort для остановки процесса установки. Затем откройте командную строку MySQL:
Либо, если вы активировали аутентификацию по паролю для пользователя с правами root MySQL, запустите эту команду, а затем введите пароль при запросе:
Из командной строки запустите следующую команду для отключения компонента Validate Password
Обратите внимание, что в этом случае выполняется не удаление, а простая остановка загрузки компонента на ваш сервер MySQL:. После этого вы можете закрыть клиент MySQL:
После этого вы можете закрыть клиент MySQL:
Затем попробуйте еще раз установить пакет , после чего все будет работать ожидаемым образом:
После установки phpMyAdmin вы можете открыть командную строку MySQL еще раз с помощью или , а затем запустить следующую команду для повторной активации компонента Validate Password:
В процессе установки будет добавлен файл конфигурации phpMyAdmin в каталог , где он будет считываться автоматически. Для завершения настройки Apache и PHP для работы с phpMyAdmin выполните последнюю оставшуюся задачу этого раздела руководства и явно активируйте расширение PHP с помощью следующей команды:
Перезапустите Apache для вступления изменений в силу.
Теперь phpMyAdmin установлен и настроен для работы с Apache. Однако, прежде чем вы сможете войти и начать взаимодействие с базами данных MySQL, вам нужно убедиться, что у пользователей MySQL есть права, необходимые для взаимодействия с программой.
Веб-сервер на Windows
Веб-сервер — это программа, которая предназначена для обработки запросов к сайтам и отправки пользователям страниц веб-сайтов. Самый популярный пример веб-сервера это Apache.
PHP — это язык программирования. Также называется среда для выполнения скриптов, написанных на PHP. В операционной системе, в том числе и Windows, PHP может быть установлен самостоятельно, без веб-сервера. В этом случае программы (скрипты) на PHP можно запускать из командной строки. Но веб-приложения очень часто используют PHP, данный интерпретатор стал, фактически, стандартом веб-серверов и поэтому они почти всегда устанавливаются вместе.
MySQL — это система управления базами данных (СУБД). Это также самостоятельная программа, она используется для хранения данных, поиска по базам данных, для изменения и удаления данных. Веб-приложения нуждаются в постоянном хранилище, поэтому для веб-сервера дополнительно устанавливается и СУБД. Кстати, вполне возможно, что вы слышали про MariaDB — это тоже СУБД. Первой появилась MySQL, а затем от неё ответвилась MariaDB. Для веб-приложений обе эти СУБД являются взаимозаменяемыми, то есть никакой разницы нет. В этой инструкции я буду показывать установку на примере MySQL, тем не менее если вы хотите попробовать новую MariaDB, то смотрите статью «Инструкция по установке веб-сервера Apache c PHP, MariaDB и phpMyAdmin в Windows».
Что касается phpMyAdmin, то это просто скрипт на PHP, который предназначен для работы с базами данных — наглядно выводит их содержимое, позволяет выполнять в графическом интерфейсе такие задачи как создавать базы данных, создавать таблицы, добавлять, изменять и удалять информацию и т. д. По этой причине phpMyAdmin довольно популярен, хотя и не является обязательной частью веб-сервера.
Особенность Apache и других компонентов веб-сервера в том, что их корни уходят в Linux. И эти программы применяют в своей работе основные концепции этой операционной системы. Например, программы очень гибки в настройке — можно выполнить установку в любую папку, сайты также можно разместить в любой папке, в том числе на другом диске, не на том, где установлен сам веб-сервер. Даже файлы журналов можно вынести на третий диск и так далее. У веб-сервера много встроенных модулей — можно включить или отключить их в любом сочетании, можно подключить внешние модули. Можно создать много сайтов на одном веб-сервере и для каждого из них установить персональные настройки. Но эта гибкая настройка выполняется через текстовые файлы — именно такой подход (без графического интерфейса) позволяет описать любые конфигурации
Не нужно этого боятся — я расскажу, какие файлы нужно редактировать и что именно в них писать.
Мы не будем делать какие-то комплексные настройки — наша цель, просто установить веб-сервер на Windows. Тем не менее было бы странно совсем не использовать такую мощь в настройке. Мы разделим сервер на две директории: в первой будут исполнимые файлы, а во второй — данные (файлы сайтов и баз данных). В будущем, когда возникнет необходимость делать резервные копии информации или обновлять веб-сервер, вы поймёте, насколько удобен этот подход!
Мы установим сервер в отдельную директорию. Для этого в корне диска C: создайте каталог Server. В этом каталоге создайте 2 подкаталога: bin (для исполнимых файлов) и data (для сайтов и баз данных).
Перейдите в каталог data и там создайте подпапки DB (для баз данных) и htdocs (для сайтов).
Перейдите в каталог C:ServerdataDB и создайте там пустую папку data.
Подготовительные действия закончены, переходим к установке компонентов веб-сервера.
2: Защита phpMyAdmin
Из-за своей распространённости PhpMyAdmin часто подвергается атакам злоумышленников. На данном этапе необходимо обеспечить интерфейсу достаточный уровень защиты для предотвращения вредоносного использования.
Один из самых простых способ защиты phpMyAdmin – размещение шлюза безопасности. Это делается при помощи специальных файлов Apache под названием .htaccess.
Поддержка .htaccess
Сначала нужно включить поддержку файлов .htaccess, отредактировав конфигурационный файл Apache.
В раздел <Directory /usr/share/phpmyadmin> нужно добавить параметр AllowOverride All:
Сохраните и закройте файл.
Перезапустите Apache:
Создание файла .htaccess
Теперь приложение поддерживает файлы .htaccess; нужно только создать такой файл.
Для корректной работы необходимо создать этот файл в каталоге приложения. Для этого наберите:
Добавьте в него следующий код:
Рассмотрим эти строки подробнее:
- AuthType Basic задает тип авторизации; в данном случае используется аутентификация по паролю с помощью файла паролей .htpasswd.
- AuthName содержит текст сообщения диалогового окна аутентификации. Чтобы неавторизованные пользователи не могли получить дополнительной информации о закрытом приложении, это сообщение не должно содержать подробностей, а только общие данные (например, «Restricted Files», «Restricted Stuff», «Private Zone» и т.п.).
- AuthUserFile задает расположение файла паролей htpasswd, который будет использоваться для авторизации. Он должен находиться вне обслуживаемых каталогов. Такой файл будет создан позже.
- Require valid-user указывает, что доступ к этому ресурсу могут получить только авторизованные пользователи. Именно этот параметр защищает ресурс от неавторизованных пользователей.
Сохраните и закройте файл.
Создание файла .htpasswd
Теперь в каталоге, указанном в AuthUserFile, нужно создать файл паролей .htpasswd.
Для этого понадобится дополнительный пакет, содержащий утилиту htpasswd, который можно установить из стандартного репозитория:
Файл с паролями нужно создать в каталоге, заданном в директиве AuthUserFile, в данном случае это /etc/phpmyadmin/.htpasswd.
Будет предложено выбрать и подтвердить пароль нового пользователя. После этого файл .htpasswd будет создан, а только что введённый пароль будет помещен в него в хэшированном виде.
Чтобы добавить в файл еще одного пользователя, используйте вышеприведенную команду без флага –с:
Теперь при входе в подкаталог phpMyAdmin будут запрашиваться учетные данные пользователя:
Только после аутентификации пользователь сможет получить доступ к странице авторизации phpMyAdmin. Это установит дополнительный уровень безопасности, который защитит веб-интерфейс phpMyAdmin от атак методом подбора паролей.
Установка phpMyAdmin
Использование команды apt-get – самый простой способ установки phpMyAdmin.
Во время установки phpMyAdmin можно выполнить его базовую настройку. Когда процесс установки запущен, нужно:
- Выбрать Apache2 в качестве веб-сервера;
- Ответить YES на вопрос, настроить ли базу данных для phpmyadmin с помощью dbconfig-common;
- Ввести пароль администратора MySQL;
- Установить пароль для входа в phpmyadmin.
По завершении установки внесите phpMyAdmin в конфигурации Apache.
Внесите конфигурационный файл phpMyAdmin в файл:
Перезапустите Apache:
Теперь можно открыть phpMyAdmin, введя ipадрес/phpmyadmin, что выведет страницу приветствия phpMyAdmin.