Установка и использование phpmyadmin для веб-разработки
Содержание:
- 2: Настройка аутентификации и привилегий
- Установка phpMyAdmin
- 3: Защита phpMyAdmin
- Step 2 — Adjusting User Authentication and Privileges
- Ubuntu
- Step One — Install phpMyAdmin
- Step Two — Secure your phpMyAdmin Instance
- Использование phpMyAdmin для веб-разработки
- Шаг 2 — Настройка аутентификации и прав пользователя
- Настройка виртуального домена
2: Настройка аутентификации и привилегий
После установки phpMyAdmin автоматически генерирует пользователя базы данных phpmyadmin, который выполняет базовые процессы программы. Однако для входа в phpMyAdmin рекомендуется использовать другую учетную запись, не phpmyadmin. Вместо него вы можете использовать либо root-аккаунт MySQL, либо специальный аккаунт для phpMyAdmin.
Настройка парольного доступа для root-пользователя MySQL
В установках Ubuntu, которые используют MySQL 5.7+, root-пользователь по умолчанию поддерживает аутентификацию с помощью плагина auth_socket, а не с помощью пароля. Это позволяет во многих случаях обеспечить большую безопасность и удобство, но это также может усложнить работу, например, когда вам необходимо с помощью этого пользователя дать внешней программе (как phpMyAdmin) права администратора.
Чтобы подключаться к phpMyAdmin как root-пользователь MySQL, измените метод аутентификации. Вместо auth_socket настройте парольную аутентификацию. Для начала откройте командную строку MySQL:
Затем проверьте, какой метод аутентификации использует ваш пользователь MySQL:
Как видите, пользователь root использует плагин auth_socket. Чтобы настроить его для поддержки парольной аутентификации, запустите команду ALTER USER (вместо password укажите надежный пароль):
Примечание: Эта команда ALTER USER настроит пользователя root MySQL для аутентификации с помощью плагина caching_sha2_password. Этот плагин рекомендуется использовать , поскольку он обеспечивает более надежное шифрование, чем старый, но широко используемый mysql_native_password. Однако некоторые версии PHP плохо поддерживают caching_sha2_password. Эта проблема была устранена в PHP 7.4, но если вы все же получите ошибку при попытке войти в phpMyAdmin, вы можете настроить для root аутентификацию с помощью плагина mysql_native_password:
Проверьте, какой метод аутентификации поддерживают ваши пользователи и убедитесь, что root больше не поддерживает auth_socket:
Теперь вы знаете, что root пользователь поддерживает парольную аутентификацию, и можете войти в phpMyAdmin как этот пользователь.
Настройка парольной аутентификации для выделенного пользователя MySQL
В некоторых случаях для подключения к phpMyAdmin лучше использовать специально выделенного пользователя. Чтобы настроить такой доступ, откройте командную строку MySQL:
Если вы включили парольную аутентификацию для пользователя root, вам нужно будет запустить следующую команду и ввести пароль:
Создайте нового пользователя:
Примечание: Опять же, в зависимости от установленной версии PHP вам может потребоваться настроить аутентификацию по плагину mysql_native_password вместо caching_sha2_password:
Затем предоставьте новому пользователю соответствующие права. Например, вы можете предоставить ему права на все таблицы в БД, а также возможность добавлять, изменять и удалять пользовательские привилегии с помощью этой команды:
Закройте оболочку MySQL:
Чтобы открыть интерфейс, посетите в браузере следующую ссылку:
Чтобы получить доступ к интерфейсу, используйте имя и пароль вашего нового пользователя.
Установка phpMyAdmin
Нет ничего проще, чем установить PMA на Linux. Я опишу как сделать это на Ubuntu 14.x в Digital Ocean. Зайдите на сервер через SSH.
Во время установки можете использовать стандартные настройки или подлатать их под себя.
Если вы ограничите доступ MySQL только через localhost (что вы должны сделать), то для хакера база будет вне зоны досягаемости. Конечно он может попытаться подключиться через SSH или осуществит атаку посредством SQL инъекций, но напрямую атаковать базу данных не сможет
Как только вы установите PMA, то данный инструмент становится потенциально уязвим для атак, поэтому меры предосторожности не повредят
Есть несколько мер, которые я бы посоветовал при конфигурировании PMA.
- Используйте очень надежные пароли для всех учетных записей MySQL, особенно для пользователя root. Например, 25 символов для пароля.
- Для каждого из сайтов, используйте различные учетные записи и привилегии. Таким образом, если один пароль будет украден, пострадает только одна база данных.
- Меняйте стандартный URL доступа к PMA. Таким образом люди не смогут достучаться до него по адресу http://yourblog.com/phpmyadmin. Хотя данная мера не очень эффективна, она всё же увеличивает безопасность.
Добваляем алиас в файл :
Перезагружаем apache:
Теперь PMA будет доступен по адресу http://yourblog.com/myobscuredpma.
Если вам необходимо изменить пароль вашего phpMyAdmin, измените содержимое файла :
4. Настройте веб-аутентификацию для доступа к PMA. После этого вам потребуется ввести дополнительный пароль:
Для настройки ограничений пользователя apache следуйте этим шагам:
Установите из пакета :
Создайте директорию для хранения ваших паролей:
Добавьте в поддержку для PMA:
Далее добавьте :
<Directory /usr/share/phpmyadmin> Options FollowSymLinks DirectoryIndex index.php AllowOverride All
Настраиваем дополнительную аутентификацию:
AuthType Basic AuthName "Login Required for Access" AuthUserFile /etc/htpasswd/.htpasswd Require valid-user
Укажите пароль:
И перезапустите Apache:
Теперь для доступа к PMA вам необходимо будет ввести ещё один пароль, как показано выше.
3: Защита phpMyAdmin
Из-за своей распространённости PhpMyAdmin часто подвергается атакам злоумышленников. Теперь нам необходимо обеспечить интерфейсу достаточный уровень защиты для предотвращения неавторизованного доступа.
Один из самых простых способ защиты phpMyAdmin – размещение шлюза безопасности. Это делается при помощи специальных файлов Apache под названием .htaccess.
Сначала нужно включить поддержку файлов .htaccess, отредактировав конфигурационный файл phpmyadmin.conf.
В раздел <Directory /usr/share/phpmyadmin> нужно добавить параметр AllowOverride All:
Сохраните и закройте файл.
Перезапустите Apache, чтобы обновить настройки:
Теперь приложение поддерживает файлы .htaccess; осталось создать такой файл.
Для корректной работы необходимо создать этот файл в каталоге приложения. Для этого введите:
Вставьте в файл такие строки:
Рассмотрим эти строки подробнее:
- AuthType Basic задает тип авторизации; в данном случае используется аутентификация по паролю с помощью файла паролей .htpasswd.
- AuthName содержит текст сообщения диалогового окна аутентификации. Чтобы неавторизованные пользователи не могли получить дополнительной информации о закрытом приложении, это сообщение не должно содержать подробностей, а только общие данные.
- AuthUserFile задает расположение файла паролей htpasswd, который будет использоваться для авторизации. Он должен находиться вне обслуживаемых каталогов. Такой файл будет создан позже.
- Require valid-user указывает, что доступ к этому ресурсу могут получить только авторизованные пользователи. Именно этот параметр защищает ресурс от неавторизованных пользователей.
Сохраните и закройте файл.
Файл с паролями нужно создать в каталоге, заданном в директиве AuthUserFile, в данном случае это /etc/phpmyadmin/.htpasswd.
Будет предложено выбрать и подтвердить пароль нового пользователя. После этого файл .htpasswd будет создан, а только что введённый пароль будет помещен в него в хэшированном виде.
Чтобы добавить в файл еще одного пользователя, используйте вышеприведенную команду без флага –с:
Теперь при входе в подкаталог phpMyAdmin будут запрашиваться учетные данные пользователя:
Только после аутентификации пользователь сможет получить доступ к странице авторизации phpMyAdmin. Это установит дополнительный уровень безопасности, который защитит веб-интерфейс phpMyAdmin от атак методом подбора паролей.
Step 2 — Adjusting User Authentication and Privileges
When you installed phpMyAdmin onto your server, it automatically created a database user called phpmyadmin which performs certain underlying processes for the program. Rather than logging in as this user with the administrative password you set during installation, it’s recommended that you log in as either your root MySQL user or as a user dedicated to managing databases through the phpMyAdmin interface.
Configuring Password Access for the MySQL Root Account
In Ubuntu systems running MySQL 5.7 (and later versions), the root MySQL user is set to authenticate using the plugin by default rather than with a password. This allows for some greater security and usability in many cases, but it can also complicate things when you need to allow an external program — like phpMyAdmin — to access the user.
In order to log in to phpMyAdmin as your root MySQL user, you will need to switch its authentication method from to one that makes use of a password, if you haven’t already done so. To do this, open up the MySQL prompt from your terminal:
Next, check which authentication method each of your MySQL user accounts use with the following command:
In this example, you can see that the root user does in fact authenticate using the plugin. To configure the root account to authenticate with a password, run the following command. Be sure to change to a strong password of your choosing:
Note: The previous statement sets the root MySQL user to authenticate with the plugin. , is MySQL’s preferred authentication plugin, as it provides more secure password encryption than the older, but still widely used, .
However, some versions of PHP don’t work reliably with . PHP has reported that this issue was fixed as of PHP 7.4, but if you encounter an error when trying to log in to phpMyAdmin later on, you may want to set root to authenticate with instead:
Then, check the authentication methods employed by each of your users again to confirm that root no longer authenticates using the plugin:
You can see from this output that the root user will authenticate using a password. You can now log in to the phpMyAdmin interface as your root user with the password you’ve set for it here.
Configuring Password Access for a Dedicated MySQL User
Alternatively, some may find that it better suits their workflow to connect to phpMyAdmin with a dedicated user. To do this, open up the MySQL shell once again:
If you have password authentication enabled for your root user, as described in the previous section, you will need to run the following command and enter your password when prompted in order to connect:
From there, create a new user and give it a strong password:
Note: Again, depending on what version of PHP you have installed, you may want to set your new user to authenticate with instead of :
Then, grant your new user appropriate privileges. For example, you could grant the user privileges to all tables within the database, as well as the power to add, change, and remove user privileges, with this command:
Following that, exit the MySQL shell:
You can now access the web interface by visiting your server’s domain name or public IP address followed by :
Log in to the interface, either as root or with the new username and password you just configured.
When you log in, you’ll see the user interface, which will look something like this:
Now that you’re able to connect and interact with phpMyAdmin, all that’s left to do is harden your system’s security to protect it from attackers.
Ubuntu
Инсталляция phpMyAdmin в Ubuntu:
aptitude install phpmyadmin
Безопасность phpMyAdmin:
-
Для увеличения безопасности доступа к phpmyadmin можно разрешить доступ с определенных IP, отредактировав файл /etc/apache2/conf-enabled/phpmyadmin.conf
Alias /phpmyadmin /usr/share/phpmyadmin <Directory /usr/share/phpmyadmin> Deny from all Allow from 127.0.0.0/255.0.0.0 ::1/128 Allow from xxx.xxx.xxx.xx ...
- Можно разрешить доступ к phpmyadmin только при помощи .
-
Можно удалить phpmyadmin.conf в conf-enabled и подгружать его только для определенного виртуального хоста, при помощи директивы IncludeOptional или Include в зависимости от версии Apache
<VirtualHost _default_:443> Include etcphpmyadminapache.conf # IncludeOptional conf-available/phpmyadmin.conf </VirtualHost>
Step One — Install phpMyAdmin
To get started, we can simply 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 extension, 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 :
<pre>
http://<span class=“highlight”>domainnameor_IP</span>/phpmyadmin
</pre>
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:
Step Two — Secure your phpMyAdmin Instance
We were able to get our phpMyAdmin interface up and running fairly easily. However, we are not done yet. Because of its ubiquity, phpMyAdmin is a popular target for attackers. We need to secure the application to help prevent unauthorized use.
One of the easiest way of doing this is to place a gateway in front of the entire application. We can do this using Apache’s built-in authentication and authorization functionalities.
Configure Apache to Allow .htaccess Overrides
First, we need to enable the use of file overrides by editing our Apache configuration file.
We will edit the linked file that has been placed in our Apache configuration directory:
We need to add an directive within the section of the configuration file, like this:
<pre>
<Directory /usr/share/phpmyadmin>
Options FollowSymLinks
DirectoryIndex index.php
<span class=“highlight”>AllowOverride All</span>
…
</pre>
When you have added this line, save and close the file.
To implement the changes you made, restart Apache:
Create an .htaccess File
Now that we have enabled use for our application, we need to create one to actually implement some security.
In order for this to be successful, the file must be created within the application directory. We can create the necessary file and open it in our text editor with root privileges by typing:
Within this file, we need to enter the following information:
Let’s go over what each of these lines mean:
- AuthType Basic: This line specifies the authentication type that we are implementing. This type will implement password authentication using a password file.
- AuthName: This sets the message for the authentication dialog box. You should keep this generic so that unauthorized users won’t gain any information about what is being protected.
- AuthUserFile: This sets the location of the password file that will be used for authentication. This should be outside of the directories that are being served. We will create this file shortly.
- Require valid-user: This specifies that only authenticated users should be given access to this resource. This is what actually stops unauthorized users from entering.
When you are finished, save and close the file.
Create the .htpasswd file for Authentication
Now that we have specified a location for our password file through the use of the directive within our file, we need to create this file.
We actually need an additional package to complete this process. We can install it from our default repositories:
Afterward, we will have the utility available.
The location that we selected for the password file was “”. Let’s create this file and pass it an initial user by typing:
<pre>
sudo htpasswd -c /etc/phpmyadmin/.htpasswd <span class=“highlight”>username</span>
</pre>
You will be prompted to select and confirm a password for the user you are creating. Afterwards, the file is created with the hashed password that you entered.
If you want to enter an additional user, you need to do so without the flag, like this:
<pre>
sudo htpasswd /etc/phpmyadmin/.htpasswd <span class=“highlight”>additionaluser</span>
</pre>
Now, when you access your phpMyAdmin subdirectory, you will be prompted for the additional account name and password that you just configured:
<pre>
http://<span class=“highlight”>domainnameor_IP</span>/phpmyadmin
</pre>
After entering the Apache authentication, you’ll be taken to the regular phpMyAdmin authentication page to enter your other credentials. This will add an additional layer of security since phpMyAdmin has suffered from vulnerabilities in the past.
Использование phpMyAdmin для веб-разработки
1. Создание и удаление баз данных
На мой взгляд PMA особо полезен на стадиях разработки и тестирования, когда в любой момент смогу сбросить базу или сделать откат какой-то операции.
Без PMA мне бы пришлось заходить на мой сервер через SSH, подключаться к MySQL, а затем запускать запрос:
create database myapp; grant all privileges on myapp_database.* TO "your-mysql-username"@"localhost" identified by "your-mysql-password"; flush privileges;
PMA позволяет нам запускать любой запрос через удобный визуальный интерфейс. Нажмите вкладку SQL и вставьте вышеуказанные SQL код. Затем кликните Go чтобы создать базу данных.
Так же для создания базы данных можите напрямую воспользоваться визуальный интерфейсом:
Таким же образом, вы можете добавлять пользователей и назначать привилегии. Перейдите на вкладку “Привилегии”:
Кликните “Добавить пользователя” и назначьте желаемые привилегии для базы данных:
Для самого обычного аккаунта будет достаточно выделить боксы в разделах “данные” и “структура”.
Чтобы удалить базу данных откройте меню, выберите базу, нажмите “удалить”:
2. Резервное копирование базы данных
Перед какими-то важными операциями неплохо было бы осуществить резервное копирование базы. Если что-то пойдет не так вы всегда сможете восстановить базу из резервной копии.
Щелкните на базу данных, перейдите на вкладку “Экспорт” и выберите “Custom”.
Выберите пункт :
Когда нажмёте Go, PMA создаст резервную копию всей вашей базы данных и отдаст её на скачку. Если настройки тайм-аута в вашем Apache PHP не настроены должным образом, некоторые загрузки крупных файлов могут не завершиться или прерваться. Измените настройки в .
3. Тестирование запросов
PMA прекрасно подходит для тестирования SQL запросов. Во время разработки одного проекта, мне было необходимо изучить поведение и протестировать ряд сложных запросов геолокации, найти ближайшие к моему адресу соседства.
Выберите ваше базу данных, нажмите Query. Вставьте или отредактируйте сложные SQL запросы и протестируйте их напрямую через PMA:
После шлифовки запроса, его легче применить в рамках шаблона ActiveRecord. Как тут:
$criteria = new CDbCriteria; $criteria->together=true; $criteria->having= "distance < 100"; $criteria->order = "distance ASC"; $criteria->with = array('place_geometry'=>array('select'=>'place_id,center,'.new CDbExpression('(3959 * acos( cos( radians('.$lat.') ) * cos( radians( X(center) ) ) * cos( radians( Y(center) ) - radians('.$lon.') ) + sin( radians('.$lat.') ) * sin( radians( X(center) ) ) )) as distance'))); $dataProvider = new CActiveDataProvider(Place::model()->active()->includesMember($id), array('criteria' => $criteria, 'pagination' => array( 'pageSize' => 10, ), ));
4. Быстрое изменение данных
Если вы разработчик, то у вас наверняка возникала ситуация что при работе с БД выскакивали ошибки из-за отсутствия или неправильного значения в какой-то из ячеек таблицы. Не так ли?
PMA предоставляет нам отличную возможность изменения значения ячеек непосредственно из отображения таблицы. Откройте базу данных и выберите таблицу. Дважды кликните на колонке чтобы ввести значение. После окончания изменений нажмите “Enter”:
5. Актуализация базы данных на основе миграций
Если вы используете фрэймворк (как Yii), то наверняка в вашем арсенале есть инструмент миграции. Миграции облегчает поэтапное изменение БД в процессе разработки. Однако при тестирование могут возникнуть проблемы.
Чаще всего я наталкиваюсь на ошибки миграции из-за лишних (не удалённых) индексов, внешних ключей или таблиц. В таком случае я использую PMA для удаления таблицы и нежелательных индексов.
В PMA, выберите базу данных, кликните не вкладку SQL и выполните запрос. Вот несколько примеров:
Надеемся, что данная статья была для вас полезной.
Шаг 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, осталось только установить более жесткие правила безопасности системы, чтобы защитить ее от атак.
Настройка виртуального домена
Настройка виртуального домена зависит от веб-сервера, который мы используем. Разберем примеры для NGINX и Apache.
NGINX
На отдельном домене
Создаем конфигурационный файл для виртуального домена:
vi /etc/nginx/conf.d/phpMyAdmin.conf
server {
listen 80;
server_name phpmyadmin.dmosk.local;
set $root_path /usr/share/phpMyAdmin;
location / {
root $root_path;
index index.php;
}
location ~ \.php$ {
#fastcgi_pass 127.0.0.1:9000;
fastcgi_pass unix:/run/php-fpm/www.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $root_path$fastcgi_script_name;
include fastcgi_params;
fastcgi_param DOCUMENT_ROOT $root_path;
fastcgi_read_timeout 300;
}
}
* где:
listen — порт, на котором слушает nginx для данного домена.
server_name — домен для которого применяются настройки server. В данном примере phpmyadmin.dmosk.local.
root_path — переменная, в которую мы заносим наш путь до phpMyAdmin.
location / — настройки для запросов к серверу. В конкретном случае, мы используем root_path в качестве корневой директории для скриптов сайта; опция index нужна для поиска скрипта по умолчанию, если нет явного обращения клиентом.
location ~ \.php$ — параметры для обработки скриптов php. В нашем случае, мы обрабатываем скрипты с помощью php-fpm
Стоить обратить внимание, что последний может слушать на порту (по умолчанию, 9000) или через сокет-файл. В примере выше используется последний вариант, а способ с портом закомментирован.
fastcgi_pass — данный параметр важен и зависит от настройки php-fpm
Если последний слушает на порту, мы задаем первый вариант (который закомментирован), иначе — указываем путь до сокетного файла.
Проверяем корректность настройки nginx:
nginx -t
… и если ошибок нет, перезапускаем сервис:
systemctl restart nginx
С помощью location /phpmyadmin
Открываем конфигурационный файл для домена по умолчанию:
vi /etc/nginx/conf.d/default.conf
* в вашей ситуации, файл с доменом по умолчанию может быть другим.
Добавляем location ^~ /phpmyadmin со следующими настройками:
server {
listen 80 default_server;
…
location /phpmyadmin {
root /usr/share/;
index index.php;
location ~ ^/phpmyadmin/(.+\.php)$ {
root /usr/share/;
#fastcgi_pass 127.0.0.1:9000;
fastcgi_pass unix:/run/php-fpm/www.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
fastcgi_read_timeout 300;
}
location ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
root /usr/share/;
}
}
}
* где:
root — каталог, в котором находится каталог с phpmyadmin с порталом.
location ~ \.php$ — параметры для обработки скриптов php. В нашем случае, мы обрабатываем скрипты с помощью php-fpm
Стоить обратить внимание, что последний может слушать на порту (по умолчанию, 9000) или через сокет-файл. В примере выше используется последний вариант, а способ с портом закомментирован.
fastcgi_pass — данный параметр важен и зависит от настройки php-fpm
Если последний слушает на порту, мы задаем первый вариант (который закомментирован), иначе — указываем путь до сокетного файла.
Проверяем корректность настройки nginx:
nginx -t
… и если ошибок нет, перезапускаем сервис:
systemctl restart nginx
Apache
Создаем конфигурационный файл для виртуального домена:
vi /etc/httpd/conf.d/phpMyAdmin.conf
<VirtualHost *:80>
Define root_domain phpmyadmin.dmosk.local
Define root_path /usr/share/phpMyAdmin
ServerName ${root_domain}
ServerAlias www.${root_domain}
DocumentRoot ${root_path}
<Directory /usr/share/phpMyAdmin>
AllowOverride All
Options Indexes ExecCGI FollowSymLinks
Require all granted
</Directory>
</VirtualHost>
Проверяем корректность настройки apache:
apachectl configtest
… и если ошибок нет, перезапускаем сервис:
systemctl restart httpd