I am wondering how to change the default URL for phpMyAdmin. I am using the latest version (4.0.4.1) on my CentOS 6 VPS. I am wanting to change it from /phpmyadmin to something more secure. I am unsure how to do this or where to even find my apache.conf file if there is one?
Thanks!
asked Jul 1, 2013 at 11:39
For ubuntu (i used ubuntu 12.04), the default phpmyadmin apache configuration can be found at /etc/phpmyadmin/apache.conf
You can open it by type sudo nano /etc/phpmyadmin/apache.conf
and change the third
Alias /yournewalias /usr/share/phpmyadmin
Do not forget to restart apache service,
sudo service apache2 restart
answered Sep 24, 2014 at 17:18
0
phpMyAdmin default Apache configuration
Alias /phpmyadmin /usr/share/phpmyadmin
Change that to
phpMyAdmin default Apache configuration
Alias /anyname /usr/share/phpmyadmin
Then make sure to restart Apache
sudo /etc/init.d/apache2 restart
answered Aug 5, 2013 at 0:14
M_R_KM_R_K
5,7731 gold badge38 silver badges40 bronze badges
0
Edit this file
/etc/apache2/conf-available/phpmyadmin.conf
line 3: change the line to be
Alias /whateveryouwant /usr/share/phpmyadmin
answered Jun 14, 2015 at 18:34
DevyDevy
23810 silver badges19 bronze badges
By default, the login page of phpmyadmin is located at http://<ip address>/phpmyadmin
. The first thing that you will want to do is changing that URL. This will not necessarily stop attackers from targeting your server, but will lower the risks of a successful break-in.
This is known as security through obscurity and while some people would argue that it is not a safe measure, it has been known to both discourage attackers and to prevent break-ins.
Note: Make sure you have working LAMP or LEMP setup with PhpMyAdmin installed on your system, if not, then follow Setup LAMP or LEMP with PhpMyAdmin.
To do it in Apache or Nginx Web servers, follow the instructions as explained below:
Change PhpMyAdmin Login Page in Apache
open /etc/httpd/conf.d/phpMyAdmin.conf if in CentOS or /etc/phpmyadmin/apache.conf in Debian and comment out the line(s) beginning with Alias.
------------ On CentOS/RHEL and Fedora ------------ # vi /etc/httpd/conf.d/phpMyAdmin.conf ------------ On Debian and Ubuntu ------------ # /etc/phpmyadmin/apache.conf
Then add a new one as follows:
# Alias /phpmyadmin /usr/share/phpmyadmin Alias /my /usr/share/phpmyadmin
The above will allow us to access the phpmyadmin interface via http://<ip address>/my
. Feel free to change the Alias above if you want to use another URL.
In the same file, make sure the Require all granted directive is included inside the Directory /usr/share/phpmyadmin
block.
In addition, make sure Apache reads the phpmyadmin configuration in Debian/Ubuntu:
------------ On Debian and Ubuntu ------------ # echo "Include /etc/phpmyadmin/apache.conf" >> /etc/apache2/apache2.conf
Finally, restart Apache to apply changes and point your browser to http://<ip address>/my
.
------------ On CentOS/RHEL and Fedora ------------ # systemctl restart httpd ------------ On Debian and Ubuntu ------------ # systemctl restart apache2
Change PhpMyAdmin Login Page in Nginx
On the Nginx web server, we just need to create a symbolic link of PhpMyAdmin installation files to our Nginx document root directory (i.e. /usr/share/nginx/html) by typing the following command:
# ln -s /usr/share/phpMyAdmin /usr/share/nginx/html OR # ln -s /usr/share/phpmyadmin /usr/share/nginx/html
Now we need to change the URL of our phpMyAdmin page, we simply need to rename the symbolic link as shown:
# cd /usr/share/nginx/html # mv phpmyadmin my OR # mv phpMyAdmin my
Finally, restart Nginx and PHP-FPM to apply changes and point your browser to http://<ip address>/my
.
------------ On CentOS/RHEL and Fedora ------------ # systemctl restart nginx # systemctl restart php-fpm ------------ On Debian and Ubuntu ------------ # systemctl restart nginx # systemctl restart php5-fpm
It should open the phpmyadmin interface (as shown in the image below), whereas http://<ip address>/phpmyadmin
should result in a Not Found error page.
Do not login using the database root user’s credentials yet. You don’t want those credentials going through the wire in plain text, so in the next tip we will explain how to setup a self-signed certificate for PhpMyAdmin login page.
If You Appreciate What We Do Here On TecMint, You Should Consider:
TecMint is the fastest growing and most trusted community site for any kind of Linux Articles, Guides and Books on the web. Millions of people visit TecMint! to search or browse the thousands of published articles available FREELY to all.
If you like what you are reading, please consider buying us a coffee ( or 2 ) as a token of appreciation.
We are thankful for your never ending support.
In this tutorial we will show you how to change the default location to access /phpmyadmin to something else more private.
Why would we do this, firstly it deters automated bots & also anyone who knows you may be using phpmyadmin on your server from finding the login page.
lets do this…………….
1) Connect to your server ROOT access (SSH)
2) Open the apache2.conf.
3) Find this line, should be at the top:
Code: Select all
Alias /phpmyadmin /usr/share/phpmyadmin
4) Change /phpmyadmin to anything!! for example we will use /private_phpmyadmin like this:
Code: Select all
Alias /private_phpmyadmin /usr/share/phpmyadmin
5) restart apache2, important!!
6) Let’s go test it….
Type your old URL:
Code: Select all
http://change-to-your-server-ip-or-domain-setup/phpmyadmin
— you should get a 404 error (page missing) Good!
Now Try the new private URL:
Code: Select all
http://change-to-your-server-ip-or-domain-setup/private_phpmyadmin
That’s it, now only you and your private clients will know where the login page for phpmyadmin is located.
This change will not update the link in vestacp to the phpmyadmin link under websites, you will need to change the url destination in the theme also.
THEME/UI EDIT Link
As requested, here is the way to edit the new link in the theme
We need to do this in two areas, admin and user folders.
1) Connect to your server ROOT access (SSH)
2) Open Admin Folder
Code: Select all
nano /usr/local/vesta/web/templates/admin/list_db.html
Find the line:
Code: Select all
if ($data[$key]['TYPE'] == 'mysql') $db_admin_link = "http://".$http_host."/phpmyadmin/";
Change it to:
Code: Select all
if ($data[$key]['TYPE'] == 'mysql') $db_admin_link = "http://".$http_host."/private_phpmyadmin/";
F2, Y, enter.
3) Open USER Folder
Code: Select all
nano /usr/local/vesta/web/templates/user/list_db.html
Find the line:
Code: Select all
if ($data[$key]['TYPE'] == 'mysql') $db_admin_link = "http://".$http_host."/phpmyadmin/";
Change it to:
Code: Select all
if ($data[$key]['TYPE'] == 'mysql') $db_admin_link = "http://".$http_host."/private_phpmyadmin/";
F2, Y, enter.
Test it, all good.
Введение
Реляционные системы управления базами данных, к примеру MySQL, используются на многих сайтах и веб-приложениях. Однако далеко не каждый пользователь может администрировать их через командную строку.
Для того, чтобы решить эту проблему, был создан проект под названием phpMyAdmin. Это приложение представляет собой веб-интерфейс, который используется для работы с СУБД. Следуя этой инструкции, вы сможете установить и защитить от недоброжелателей phpMyAdmin на сервере Ubuntu 14.04. В данном случае будет использоваться nginx, который представляет собой легковесный и производительный веб-сервер, способный работать с большой нагрузкой.
Требования
Перед тем, как приступить к дальнейшим действиям, вам нужно убедиться, что у вас имеется все перечисленное ниже.
Вы обязательно должны выполнить настройку сервера Ubuntu 14.04 – это важно, так как вам понадобится надежная база для того, чтобы развернуть связку, о которой пойдет речь далее. Также вам понадобится пользователь, который не имеет root-прав (то есть не суперпользователь), но наделен sudo-правами для выполнения административных задач.
Также на вашем сервере Ubuntu 14.04 должен быть развернут стек LEMP (Linux, Nginx, MySQL и PHP). Он будет необходим для обслуживания интерфейса phpMyAdmin (MySQL также является программным обеспечением для работы с базами данных, которыми мы хотим управлять).
Если все вышеперечисленное у вас установлено и настроено, тогда переходите к следующей части этой статьи.
Комьюнити теперь в Телеграм
Подпишитесь и будьте в курсе последних IT-новостей
Подписаться
Шаг 1: устанавливаем phpMyAdmin
Так как у вас на сервере уже имеется стек LEMP, вы можете сразу перейти к установке phpMyAdmin. Это можно сделать, используя стандартные репозитории Ubuntu, поэтому сам процесс установки достаточно прост.
Первым делом обновите список локальных пакетов сервера. Это необходимо сделать для того, чтобы убедиться, что у вас в наличии самый свежий список ссылок на доступные пакеты. Далее используйте консольный инструмент apt для того, чтобы загрузить программное обеспечение из репозиториев и установить его на свою систему:
sudo apt-get update sudo apt-get install phpmyadmin
Во время установки у вас будет запрошена некоторая информация. В частности, вам нужно будет выбрать веб-сервер, который автоматически настроит утилита. Но так как nginx – тот веб-сервер, который вы используете – выбрать нельзя, то просто нажмите TAB для перехода к следующему этапу установки.
Далее вам нужно будет выбрать, будете ли вы использовать dbconfig-common для того, чтобы настроить базу данных для phpMyAdmin. Выберите “Yes” («Да»).
Для того, чтобы применить изменения, вам необходимо ввести административный пароль от базы данных, который вы создали ранее во время установки MySQL. После этого вам нужно выбрать и подтвердить пароль для новой базы данных, в которой будут храниться данные phpMyAdmin.
Теперь, когда установка завершена, вам необходимо создать символьную ссылку от установочных файлов к корневой директории документов nginx. Это нужно для того, чтобы веб-сервер nginx мог находить и правильно обрабатывать файлы phpMyAdmin. Создание символьной ссылки происходит после ввода данной команды:
sudo ln -s /usr/share/phpmyadmin /usr/share/nginx/html
Наконец, вам необходимо включить PHP-модуль mcrypt, на который опирается phpMyAdmin. Так как он устанавливается вместе с phpMyAdmin, то вам нужно просто включить его и перезапустить PHP-процессор. Для этого введите следующие команды:
sudo php5enmod mcrypt sudo service php5-fpm restart
Теперь вы можете приступать к работе с веб-приложением phpMyAdmin. Для того, чтобы попасть в интерфейс, добавьте к доменному имени или публичному IP-адресу /phpmyadmin в вашем браузере:
http://доменное_имя_или_IP-адрес/phpmyadmin
Окно авторизации выглядит следующим образом:
Для того, чтобы авторизоваться, используйте имя пользователя и пароль действующего пользователя MySQL. Например, введите имя суперпользователя и его пароль от базы MySQL. Таким образом вы попадете в административную панель:
Походите по разделам для того, чтобы ознакомиться с интерфейсом. Следующим шагом вам нужно будет защитить данный интерфейс от незаконного доступа.
Шаг 2: добавляем защиту phpMyAdmin
После выполнения всех действий, перечисленных в предыдущем шаге, у вас теперь имеется phpMyAdmin, который полностью готов к использованию. Но имейте в виду, что, установив данное приложение, вы открыли доступ к MySQL извне, а значит, безопасность вашего сервера может быть под угрозой.
Даже несмотря на наличие аутентификации, это все равно является проблемой, так как phpMyAdmin предоставляет доступ к большому объему данных и поэтому зачастую становится целью атак злоумышленников.
Для того, чтобы уменьшить вероятность выбора вашего приложения в качестве цели и последующего взлома, вы можете следовать двум простым методикам. Во-первых, вам нужно будет изменить местоположение интерфейса с /phpmyadmin на какое-либо другое; это делается для того, чтобы отсечь поток ботов, которые будут пытаться взломать вас путем полного перебора. Во-вторых, вам будет необходимо создать дополнительную проверку подлинности шлюза на уровне веб-сервера, которую нужно будет пройти перед загрузкой окна авторизации в phpMyAdmin.
Изменение местонахождения входа в приложение
Для того, чтобы сервер nginx мог находить и обслуживать файлы phpMyAdmin, в предыдущем шаге вы создали символьную ссылку из директории phpMyAdmin в корневую директорию с документами.
Для того, чтобы поменять URL, который ведет на авторизацию в phpMyAdmin, вам просто нужно задать новое имя символьной ссылке. Переместитесь в корневую директорию с документами nginx для того, чтобы выполнить следующие действия:
cd /usr/share/nginx/html ls -l total 8 -rw-r--r-- 1 root root 537 Mar 4 06:46 50x.html -rw-r--r-- 1 root root 612 Mar 4 06:46 index.html lrwxrwxrwx 1 root root 21 Aug 6 10:50 phpmyadmin -> /usr/share/phpmyadmin
Как вы можете видеть, в данной директории расположена символьная ссылка под названием phpmyadmin. И это имя вы можете поменять на любое, какое захотите. После этого поменяется ссылка, по которой будет происходить доступ в phpMyAdmin через браузер. И именно благодаря этому изменению автоматизированные боты не смогут найти туда путь.
Выберите имя, которое не содержит в себе связи с тем, куда будет вести ссылка. К примеру, можно использовать что-то вроде /noinfohere. После выбора подходящей фразы вам необходимо внести изменения:
sudo mv phpmyadmin noinfohere ls -l total 8 -rw-r--r-- 1 root root 537 Mar 4 06:46 50x.html -rw-r--r-- 1 root root 612 Mar 4 06:46 index.html lrwxrwxrwx 1 root root 21 Aug 6 10:50 noinfohere -> /usr/share/phpmyadmin
После этого если вы попытаетесь попасть в интерфейс phpMyAdmin через предыдущую ссылку, то вы увидите ошибку 404:
http://доменное_имя_или_IP-адрес/phpmyadmin
Теперь для выхода в phpMyAdmin используйте новую ссылку:
http://доменное_имя_или_IP-адрес/noinfohere
Установка шлюза аутентификации веб-сервера
Следующее, что вам необходимо сделать для того, чтобы обеспечивать безопасность phpMyAdmin, это создать проверку подлинности, которую будет проходить пользователь перед тем, как ему станет доступно окно с авторизацией в phpMyAdmin.
Однако nginx, как и большинство веб-серверов, содержит в себе эту возможность по умолчанию, поэтому единственное, что необходимо сделать, — это задать нужные настройки в конфигурационном файле nginx.
Но перед этим вам нужно создать файл паролей, в котором будут храниться все данные, связанные с аутентификацией. Так как используется nginx, то пароли должны быть обязательно зашифрованы при помощи функции crypt(). Вы можете сделать это, используя криптографический пакет OpenSSL, который по умолчанию установлен на вашем сервере.
Для того, чтобы создать зашифрованный пароль, введите следующую команду:
Далее у вас будет запрошен пароль, который вы хотите использовать, и его подтверждение. После чего на экране будет выведена зашифрованная версия вашего пароля, которая может выглядеть, к примеру, так:
Скопируйте данное значение, так как его нужно добавить в аутентификационный файл, который вы создадите далее.
Перейдем к его созданию. Назовите файл pma_pass и расположите его в директории с настройками nginx:
sudo nano /etc/nginx/pma_pass
Далее вам нужно в этом файле указать имя пользователя (в данном случае будет primer, но вы должны выбрать другое имя), которое вы хотите использовать, после него поставьте двоеточие (:) и вставьте зашифрованную версию вашего пароля, который вы скопировали до этого. Запись должна выглядеть следующим образом:
Сохраните и закройте файл после того, как внесли в него все необходимые изменения.
Теперь вам нужно внести определенные изменения в файл с настройками nginx. Для начала откройте файл в текстовом редакторе:
sudo nano /etc/nginx/sites-available/default
В нем вам нужно добавить новое расположение приложения phpMyAdmin (в данной инструкции используется /noinfohere).
Создайте новую секцию в разделе server, но вне каких-либо других блоков. В данном примере блок с новым расположением будет расположен ниже блока location /:
server { . . . location / { try_files $uri $uri/ =404; } location /noinfohere { } . . . }
В этом блоке нам нужно задать значение директивы под названием auth_basic – это сообщение, которое будет выводиться пользователям при аутентификации. При этом для большей защиты не стоит давать какие-то конкретные указания на то, какая именно аутентификация предстоит неавторизованным пользователям. Поэтому, к примеру, можно использовать просто словосочетание “Admin Login”.
Далее вам нужно использовать директиву под названием auth_basic_user_file для того, чтобы она указывала веб-серверу на тот аутентификационный файл, который вы создали ранее. Nginx будет запрашивать у пользователя авторизационные данные и сверять, совпадают ли введенные данные с теми, которые содержатся в аутентификационном файле.
После этого ваш файл должен выглядеть примерно так:
server { . . . location / { try_files $uri $uri/ =404; } location /noinfohere { auth_basic "Admin Login"; auth_basic_user_file /etc/nginx/pma_pass; } . . . }
Сохраните и закройте файл после ввода всей необходимой информации.
Для того, чтобы все изменения вступили в силу, вам необходимо перезагрузить веб-сервер:
sudo service nginx restart
Теперь, когда вы захотите войти в phpMyAdmin в вашем браузере, у вас будет запрошены имя пользователя и пароль, которые вы добавили в файл pma_pass:
http:// доменное_имя_или_IP-адрес/noinfohere
После того, как вы введете данные, вы увидите стандартное окно для авторизации в phpMyAdmin. Этот дополнительный уровень безопасности не только улучшает защиту вашей СУБД, но и препятствует сохранению в логах множества неудачных попыток ввести данные авторизации.
Заключение
Теперь для управления MySQL вы можете использовать удобный и защищенный веб-интерфейс. Данное приложение позволяет использовать практически все функции, которые доступны из командной строки MySQL: вы можете просматривать базы данных, схемы, выполнять запросы, а также создавать новые наборы и структуры данных.
14 мая, 2015 12:05 пп
8 100 views
| 3 комментария
PHP, Ubuntu, VPS
Реляционные системы управления базами данных, такие как MySQL, необходимы для корректной работы большинства веб-сайтов и приложений. Однако не все пользователи обладают навыками управления такими СУБД из командной строки.
Чтобы устранить эту проблему, был разработан phpMyAdmin – альтернативный веб-интерфейс для работы с СУБД. В данном руководстве речь пойдёт об установке и защите phpMyAdmin на сервере Ubuntu 14.04. В качестве веб-сервера используется Nginx – производительный сервер, способный обрабатывать большие нагрузки.
Требования
Чтобы обеспечить надёжную основу для сборки этой связки, нужно выполнить начальную настройку сервера Ubuntu 14.04 и создать пользователя с расширенными привилегиями (т.е., с доступом к sudo).
Кроме того, необходимо предварительно установить группу программ LEMP (Linux, Nginx, MySQL, PHP). Эта платформа необходима для обслуживания интерфейса phpMyAdmin. Чтобы получить инструкции по установке этого программного стека, читайте это руководство.
Подготовив сервер, приступайте к выполнению руководства.
1: Установка phpMyAdmin
Предварительно установив платформу LEMP, можно сразу приступать к инсталляции phpMyAdmin. Пакеты этой программы можно найти в стандартных репозиториях Ubuntu, потому установка не займёт много времени.
Сначала обновите список локальных пакетов системы. Затем используйте инструмент apt, чтобы загрузить пакеты из репозитория и установить их:
sudo apt-get update
sudo apt-get install phpmyadmin
Во время установки будут запрошены некоторые данные, например, веб-сервер, который нужно автоматически настроить. Поскольку среди предложенных вариантов нет Nginx, просто нажмите TAB, чтобы продолжить.
Следующая подсказка спросит, нужно ли базу данных для phpmyadmin при помощи dbconfig-common. Выберите Yes, чтобы продолжить.
Теперь нужно ввести пароль администратора MySQL, созданный во время установки СУБД. После этого создайте и подтвердите пароль для новой БД, созданной только что для phpMyAdmin.
Установка phpMyAdmin завершена. Чтобы Nginx мог найти и корректно обработать файлы phpMyAdmin, нужно создать символьную ссылку на каталог document root сервера Nginx:
sudo ln -s /usr/share/phpmyadmin /usr/share/nginx/html
В завершение нужно включить PHP-модуль mcrypt, от которого зависит работа phpMyAdmin. Он устанавливается вместе с phpMyAdmin, нужно только активировать его и перезапустить процессор PHP.
sudo php5enmod mcrypt
Теперь phpMyAdmin полностью готов к работе. Чтобы открыть интерфейс, введите в браузер доменное имя или внешний IP-адрес, а затем /phpmyadmin:
http://домен_или_IP_сервера/phpmyadmin
На экране появится стандартная страница входа phpMyAdmin.
Чтобы войти, используйте учётные данные пользователя MySQL. К примеру, можно использовать root-пользователя MySQL и его пароль. Получив валидные учётные данные, phpMyAdmin откроет доступ к интерфейсу администратора.
2: Защита phpMyAdmin
На данном этапе phpMyAdmin полностью готов к использованию. Однако установка веб-интерфейса открыла публичный доступ к MySQL, а это серьёзный риск для безопасности сервера.
Даже наличие страницы аутентификации не решает этой проблемы. Из-за своей популярности и доступа к большим объёмам данных phpMyAdmin часто подвергается атакам хакеров.
Чтобы уменьшить риск взлома, можно использовать две стратегии. Во-первых, можно изменить местонахождение установки (сейчас это /phpmyadmin), чтобы обойти ботов, которые пытаются взломать сервер методом автоматизированного прямого подбора пароля. Также можно создать дополнительный шлюз аутентификации на уровне веб-сервера, который нужно пройти, чтобы получить доступ к экрану входа в PhpMyAdmin.
Изменение расположения phpMyAdmin
Чтобы веб-сервер Nginx мог обслуживать файлы phpMyAdmin, ранее вы создали символьную ссылку на каталог document root веб-сервера.
Чтобы изменить URL, по которому находится phpMyAdmin, нужно просто переименовать символическую ссылку. Перейдите в каталог каталог document root веб-сервера Nginx:
cd /usr/share/nginx/html
ls -l
total 8
-rw-r--r-- 1 root root 537 Mar 4 06:46 50x.html
-rw-r--r-- 1 root root 612 Mar 4 06:46 index.html
lrwxrwxrwx 1 root root 21 Aug 6 10:50 phpmyadmin -> /usr/share/phpmyadmin
Как видите, символьная ссылка в этом каталоге называется phpmyadmin. Измените имя этой ссылки; это изменит расположение phpMyAdmin, по которому его можно найти в браузере, благодаря чему автоматизированные боты для взлома не смогут получить к нему доступ.
Выберите имя, которое не отображает цели; для примера в этом руководстве это место называется /nothingtosee. Переименуйте ссылку:
sudo mv phpmyadmin nothingtosee
ls -l
total 8
-rw-r--r-- 1 root root 537 Mar 4 06:46 50x.html
-rw-r--r-- 1 root root 612 Mar 4 06:46 index.html
lrwxrwxrwx 1 root root 21 Aug 6 10:50 nothingtosee -> /usr/share/phpmyadmin
Теперь попробуйте посетить предыдущее местонахождение установки phpMyAdmin; на экране появится ошибка 404.
http://домен_или_IP/phpmyadmin
Интерфейс phpMyAdmin доступен по новой ссылке:
http://домен_или_IP/nothingtosee
Настройка шлюза авторизации веб-сервера
Теперь нужно создать страницу авторизации сервера, которую необходимо пройти, чтобы получить доступ к странице входа в PhpMyAdmin.
К счастью, большинство веб-серверов, – и Nginx в их числе, – поставляются с этой функцией. Нужно просто отредактировать конфигурационный файл Nginx.
Сначала нужно создать файл паролей для хранения учётных данных. Nginx требует, чтобы пароль был зашифрован при помощи функции crypt(). Криптографический пакет OpenSSL, который должен быть установлен на сервере, предоставляет эту функциональность.
Чтобы создать зашифрованный пароль, введите:
openssl passwd
Затем укажите и подтвердите пароль, после чего утилита выведет на экран зашифрованную версию этого пароля, которая будет иметь примерно такой вид:
O5az.RSPzd.HE
Скопируйте это значение и вставьте его в аутентификационный файл, который будет создан.
Чтобы создать файл паролей, используйте следующую команду (файл будет называться pma_pass и находиться в конфигурационном каталоге Nginx):
sudo nano /etc/nginx/pma_pass
В этом файле нужно указать имя пользователя и зашифрованный при помощи openssl пароль, которые будут использоваться для входа в phpMyAdmin, разделив их символом двоеточия.
К примеру, если пользователя зовут demo, то файл будет выглядеть так:
demo:O5az.RSPzd.HE
Примечание: Ни в коем случае не используйте такое имя – оно крайне ненадёжно!
Сохраните и закройте файл.
Теперь можно отредактировать конфигурационный файл Nginx. Откройте его в текстовом редакторе:
sudo nano /etc/nginx/sites-available/default
В этот файл нужно внести раздел с новым местонахождением установки phpMyAdmin (в данном случае это /nothingtosee).
Вне всех других блоков создайте блок server, в нём найдите раздел location / и укажите в нём место установки:
server {
. . .
location / {
try_files $uri $uri/ =404;
}
location /nothingtosee {
}
. . .
}
В этом блоке нужно установить значение директивы auth_basic, введя сообщение аутентификации, которое будет отображаться в запросе учётных данных. Чтобы ограничить доступ неавторизованным пользователям, можно просто использовать «Admin Login».
Затем нужно использовать директиву auth_basic_user_file, чтобы направить веб-сервер на файл паролей. Nginx запросит у пользователя учётные данные и проверит этот файл на наличие в нём введённых данных.
В результате блок имеет такой вид:
server {
. . .
location / {
try_files $uri $uri/ =404;
}
location /nothingtosee {
auth_basic "Admin Login";
auth_basic_user_file /etc/nginx/pma_pass;
}
. . .
}
Сохраните и закройте файл.
Чтобы активировать внесённые изменения, перезапустите веб-сервер:
sudo service nginx restart
Если посетить phpMyAdmin в веб-браузере, будет запрошено имя пользователя и пароль, внесённые в файл pma_pass.
http://домен_или_IP/nothingtosee
Получив учётные данные, браузер откроет страницу входа в phpMyAdmin. Это создаёт дополнительный уровень безопасности и сохранит логи MySQL в чистоте (в них не будет сотен неудачных попыток входа).
Заключение
Теперь можно управлять MySQL при помощи надёжного и относительно безопасного интерфейса. Он предоставляет основные функции, доступные из командной строки MySQL: пользователь может просматривать базы данных, схемы, создавать запросы и новые наборы и структуры данных.
Tags: LEMP Stack, Linux, MySQL, NGINX, PHP, phpMyAdmin, Ubuntu 14.04
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Активные темы Темы без ответов
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
1 2011-02-11 17:19:33 (изменено: Blast, 2011-02-11 19:12:49)
- Blast
- Редкий гость
- Неактивен
- Зарегистрирован: 2011-02-11
- Сообщений: 5
Тема: [Решено] Смена адреса /phpmyadmin/
Приветствую.
Решил «расти» и переставил сервер под убунту. Неделю уже ковыряю, разбираюсь, голова ватная, охото кушать и спать
Для удобства поставил phpmyadmin (впервые им пользуюсь, понравилось).
И никак не могу найти в каких конфигах изменить адрес phpmyadmin’a c
http://localhost/phpmyadmin
на, например
http://localhost/qwerty
Не хочу что бы с наружи видели что установлен phpmyadmin, а то ночнут подбирать, ковырять — ну их нафиг:)
2 Ответ от DmitryV 2011-02-11 17:46:05 (изменено: DmitryV, 2011-02-11 17:49:43)
- DmitryV
- Пенсионер
- Неактивен
- Откуда: Санкт-Петербург, Россия
- Зарегистрирован: 2010-07-31
- Сообщений: 558
Re: [Решено] Смена адреса /phpmyadmin/
Посмотрите попробуйте файл http.conf (воспользуйтесь поиском) возможно в нем указан Alias phpmyadmin.
Либо в него вставлены дополнительные файлы с настройкой через директиву Include /путь к/ файлу
также в неастройке PHPMyAdmin установите метод авторизации cookie (файл config.inc.php)
$cfg['Servers'][$i]['auth_type'] = 'cookie';
и можно ограничить доступ к директории через директивы файла .htaccess
3 Ответ от Blast 2011-02-11 18:18:46
- Blast
- Редкий гость
- Неактивен
- Зарегистрирован: 2011-02-11
- Сообщений: 5
Re: [Решено] Смена адреса /phpmyadmin/
/etc/apache2/http.conf — пустой
/etc/apache2/conf.d — нет ничего про алиасы
/etc/apache2/mods-available :
<IfModule alias_module>
#
# Aliases: Add here as many aliases as you need (with no limit). The format is
# Alias fakename realname
#
# Note that if you include a trailing / on fakename then the server will
# require it to be present in the URL. So "/icons" isn't aliased in this
# example, only "/icons/". If the fakename is slash-terminated, then the
# realname must also be slash terminated, and if the fakename omits the
# trailing slash, the realname must also omit it.
#
# We include the /icons/ alias for FancyIndexed directory listings. If
# you do not use FancyIndexing, you may comment this out.
#
Alias /icons/ "/usr/share/apache2/icons/"
<Directory "/usr/share/apache2/icons">
Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>
</IfModule>
/etc/apache2/mods-available :
LoadModule alias_module /usr/lib/apache2/modules/mod_alias.so
/usr/lib/apache2/modules/mod_alias.so не открывает, никакая кодировка не подходит.
Поиск как в notepad++ не могй найти в убунте.
Метод кукис был по умолчанию установлен, но я хочу что бы никакие шаловливые ручки не нашли что установлен пхпмайадмин, но что бы мне можно было заходить….
Через .htaccess я по поиску нашёл, но мне надо самому будет удалённо заходить…
4 Ответ от DmitryV 2011-02-11 18:34:27 (изменено: DmitryV, 2011-02-11 18:53:44)
- DmitryV
- Пенсионер
- Неактивен
- Откуда: Санкт-Петербург, Россия
- Зарегистрирован: 2010-07-31
- Сообщений: 558
Re: [Решено] Смена адреса /phpmyadmin/
Посмотрите возможно в /etc/phpmyadmin/apache.conf или папке /usr/local/etc/ или в директории /usr/etc/ папки apache или phpmyadmin на память не помню где конкретно находяться конфиги.
Откройте консоль и команда find (синтаксис описание — http://citkit.ru/articles/96/)или введите команду MC что запустить должно Midnight Commander если не установлен советую установить из пакетов.
нет LoadModule это загрузка модуля это и не нужно открывать это библиотека…
поищите по содержимому файла phpmyadmin и имени *.conf
PS:Я бы лучше развернул сервер на Debian или FreeBSD.
5 Ответ от Blast 2011-02-11 19:05:10
- Blast
- Редкий гость
- Неактивен
- Зарегистрирован: 2011-02-11
- Сообщений: 5
Re: [Решено] Смена адреса /phpmyadmin/
Дебиан и Убунту это же вроде как одно и тоже ядро, обросшее разным комплектом пакетов (разумеется могу ошибаться)
С самого начала ковырял этот файл
/etc/apache2/conf.d/phpmyadmin.conf :
# phpMyAdmin default Apache configuration
Alias /phpmyadmin /usr/share/phpmyadmin
<Directory /usr/share/phpmyadmin>
Options FollowSymLinks
DirectoryIndex index.php
<IfModule mod_php5.c>
AddType application/x-httpd-php .php
php_flag magic_quotes_gpc Off
php_flag track_vars On
php_flag register_globals Off
php_value include_path .
</IfModule>
</Directory>
# Authorize for setup
<Directory /usr/share/phpmyadmin/setup>
<IfModule mod_authn_file.c>
AuthType Basic
AuthName "phpMyAdmin Setup"
AuthUserFile /etc/phpmyadmin/htpasswd.setup
</IfModule>
Require valid-user
</Directory>
# Disallow web access to directories that don't need it
<Directory /usr/share/phpmyadmin/libraries>
Order Deny,Allow
Deny from All
</Directory>
<Directory /usr/share/phpmyadmin/setup/lib>
Order Deny,Allow
Deny from All
</Directory>
Менял это
Alias /phpmyadmin /usr/share/phpmyadmin
на другую строку, перезагружал — админка открывалась как и раньше… Хотя похоже на правду..
6 Ответ от Blast 2011-02-11 19:12:29
- Blast
- Редкий гость
- Неактивен
- Зарегистрирован: 2011-02-11
- Сообщений: 5
Re: [Решено] Смена адреса /phpmyadmin/
Стыд и срам!
Видимо я толи ярлык менял, толи что-то ещё не так делал, оказалось то что делал в начале (предидущий пост) — как раз то что надо
7 Ответ от DmitryV 2011-02-11 19:20:57
- DmitryV
- Пенсионер
- Неактивен
- Откуда: Санкт-Петербург, Россия
- Зарегистрирован: 2010-07-31
- Сообщений: 558
Re: [Решено] Смена адреса /phpmyadmin/
Ничего бывает, Ubuntu это уже новый прорект в сборках Linux, Debian придерживаеться политик стабильности и он один из старейших проектов Linux, а FreeBSD это на сегодняшний день одна из ведущих internet платформ в сетях.
8 Ответ от Blast 2011-02-11 19:29:45
- Blast
- Редкий гость
- Неактивен
- Зарегистрирован: 2011-02-11
- Сообщений: 5
Re: [Решено] Смена адреса /phpmyadmin/
С нуля курить линукс трудно и мне не по силам.
С убутной знакомый дружит, он и предложил сделать всё «как положено». Хотя сначало думали на счёт Дебиана, т.к. всё похоже… А раз они похожие, то не за горами время когда буду ковырять дебиан
9 Ответ от lancc 2016-06-29 11:59:30 (изменено: lancc, 2016-06-29 12:02:58)
- lancc
- Редкий гость
- Неактивен
- Зарегистрирован: 2016-06-29
- Сообщений: 2
Re: [Решено] Смена адреса /phpmyadmin/
День добрый, у меня проблема такая же как у автора
есть убунту 14.04
правлю конфиг в nano /etc/phpmyadmin/apache.conf и в /etc/apache2/conf-available/phpmyadmin.conf тоже самое
собственно меня интересует две строчки, это алиас и доступ по определённому айпи
# phpMyAdmin default Apache configuration
Alias /lsjdfsufhd3464hiHdh /usr/share/phpmyadmin
<Directory /usr/share/phpmyadmin>
Options FollowSymLinks
DirectoryIndex index.php
Order Deny,Allow
Deny from all
Allow from ххх.хх.хх.хх
Allow from ххх.хх.хх.хх
и как было доступно по старому phpmyadmin и по любому айпи доступ, так и доступно, куда лезть? сервер ест-во перезапускал
10 Ответ от Hanut 2016-06-29 19:40:36
- Hanut
- Модератор
- Неактивен
- Откуда: Рига, Латвия
- Зарегистрирован: 2006-07-02
- Сообщений: 9,723
Re: [Решено] Смена адреса /phpmyadmin/
lancc сказал:
как было доступно по старому phpmyadmin и по любому айпи доступ, так и доступно, куда лезть?
Вероятно вы какой-то не тот конфигурационный файл правите. По Ubuntu конкретно подсказать решение не могу. Попробуйте обратиться к пользователям Ubuntu.
11 Ответ от lancc 2016-06-30 16:18:09 (изменено: lancc, 2016-06-30 17:56:39)
- lancc
- Редкий гость
- Неактивен
- Зарегистрирован: 2016-06-29
- Сообщений: 2
Re: [Решено] Смена адреса /phpmyadmin/
всё правильно правлю, других нет…
есть продвижения, вот это закоментировал
Order Deny,Allow
Deny from all
Allow from ххх.хх.хх.хх
Allow from ххх.хх.хх.хх
открывается теперь админка по новому адресу, но что плохо и по старому тоже, как быть? Более того, она открывается от любого моего сайта, как сделать так что бы она открывалась только по одному сайту и по адресу который прописан в alias
пробовал закоментить Alias /lsjdfsufhd3464hiHdh /usr/share/phpmyadmin, отредактировал в виртуальных хостах апатча файл nano /etc/apache2/sites-available/000-default.conf написав в ServerName адрес который хочу и отредактировал
файл апатча, указав что файл phpmyadmin лежит в /var/www/html, не помогло, везде открывает кроме моего сайта где надо
Сообщения 11
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться