Ubuntu не работает phpmyadmin: Не работает или не открывается phpmyadmin в Ubuntu по http://localhost/phpmyadmin/ — Cайт «У Крайнего» . ИТ — Информ
Содержание
Установка и защита phpMyAdmin+Nginx на сервере Ubuntu 16.04
3 мая, 2018 12:34 пп
9 874 views
| 1 комментарий
mySQL, Ubuntu | Amber
| 1 Comment
Многим сайтам необходима база данных типа MySQL, однако интерфейс командной строки СУБД не очень дружественный и понятный, особенно для новичков.
phpMyAdmin был разработан, чтобы устранить эту проблему. Это альтернативный веб-интерфейс для работы с СУБД. В данном мануале речь пойдёт об установке и защите phpMyAdmin на сервере Ubuntu 16.04. В качестве веб-сервера используется Nginx – производительный сервер, способный обрабатывать большие нагрузки.
Требования
- Сервер Ubuntu 16.04, настроенный по этому мануалу (разделы 1-4).
- Предварительно установленный сервер LEMP (Linux, Nginx, MySQL и PHP). Все необходимые инструкции вы найдете в мануале Установка стека LEMP в Ubuntu 16. 04. Обязательно запишите или запомните пароль администратора MySQL.
Также есть важные соображения безопасности, которые следует учитывать при использовании программного обеспечения, такого как phpMyAdmin: этот интерфейс напрямую связывается с вашей установкой MySQL, обрабатывает аутентификацию с использованием учетных данных MySQL, обрабатывает произвольные SQL-запросы и возвращает результаты по ним.
Кроме того, это широко распространенное приложение PHP, потому злоумышленники часто атакуют его. Поэтому запускать phpMyAdmin на удаленных системах по простому HTTP-соединению ни в коем случае нельзя. Если у вас нет домена, защищенного сертификатом SSL/TLS, обратитесь к руководству Создание сертификата Let’s Encrypt для Nginx в Ubuntu 16.04.
1: Установка phpMyAdmin
Предварительно установив платформу LEMP, можно сразу приступать к инсталляции phpMyAdmin. Пакеты этой программы можно найти в стандартных репозиториях Ubuntu.
Сначала обновите индекс пакетов системы. Затем используйте инструмент apt, чтобы загрузить пакеты из репозитория и установить их:
sudo apt-get update
sudo apt-get install phpmyadmin
Во время установки будут запрошены дополнительные данные, например, веб-сервер, который нужно автоматически настроить. Поскольку среди предложенных вариантов нет Nginx, просто нажмите TAB и ENTER, чтобы продолжить.
Затем программа спросит, нужно ли настроить базу данных для phpMyAdmin при помощи dbconfig-common. Выберите Yes, чтобы продолжить.Теперь нужно ввести пароль администратора MySQL, созданный во время установки СУБД.
После этого создайте и подтвердите пароль для новой БД для phpMyAdmin.
Установка phpMyAdmin завершена. Чтобы Nginx мог найти и корректно обработать файлы phpMyAdmin, нужно создать симлинк на каталог document root сервера Nginx:
sudo ln -s /usr/share/phpmyadmin /var/www/html
В завершение нужно включить PHP-модуль mcrypt, от которого зависит работа phpMyAdmin. Он устанавливается вместе с phpMyAdmin, нужно только активировать его и перезапустить процессор PHP.
sudo phpenmod mcrypt
sudo systemctl restart php7.0-fpm
Теперь phpMyAdmin полностью готов к работе. Чтобы открыть интерфейс, введите в браузер доменное имя или внешний IP-адрес и /phpmyadmin:
http://server_domain_or_IP/phpmyadmin
На экране появится стандартная страница входа phpMyAdmin.
Чтобы войти, используйте учётные данные пользователя MySQL. К примеру, можно использовать root-пользователя MySQL и его пароль. Получив валидные учётные данные, phpMyAdmin откроет доступ к интерфейсу администратора.
2: Изменение стандартного URL-адреса phpMyAdmin
На данном этапе phpMyAdmin полностью готов к использованию. Однако установка веб-интерфейса открыла публичный доступ к MySQL, а это серьёзный риск для безопасности сервера. Из-за большой популярности phpMyAdmin и объемов данных, к которым он имеет доступ, подобные установки часто становятся целью злоумышленников.
В этом разделе вы узнаете, как защитить установку, изменив стандартный URL-адрес интерфейса (это позволяет отразить автоматизированные атаки ботов).
Ранее вы создали симлинк из каталога phpMyAdmin в корневой каталог, чтобы веб-сервер Nginx находил и обслуживал файлы phpMyAdmin. Чтобы изменить URL-адрес интерфейса phpMyAdmin, нужно переименовать этот симлинк.
Перейдите в корневой каталог Nginx:
cd /var/www/html/
ls -l
Вы получите такой вывод:
total 4
-rw-r--r-- 1 root root 612 Apr 10 16:40 index.nginx-debian.html
lrwxrwxrwx 1 root root 21 Apr 10 17:06 phpmyadmin -> /usr/share/phpmyadmin
Вывод сообщает, что в этом каталоге есть симлинк phpmyadmin. Измените имя этой ссылки; это изменит расположение phpMyAdmin, по которому его можно найти в браузере, благодаря чему автоматизированные боты для взлома не смогут получить к нему доступ.
Выберите нестандартное имя, которое не описывает цели; для примера в этом мануале это место называется /nothingtosee. Переименуйте ссылку:
sudo mv phpmyadmin nothingtosee
ls -l
Теперь вы получите:
total 4
-rw-r--r-- 1 root root 612 Apr 10 16:40 index.nginx-debian.html
lrwxrwxrwx 1 root root 21 Apr 10 17:06 nothingtosee -> /usr/share/phpmyadmin
Убедитесь, что старый URL не работает:
http://server_domain_or_IP/phpmyadmin
404 Not Found
Интерфейс phpMyAdmin доступен по другому URL-адресу.
http://server_domain_or_IP/nothingtosee
3: Настройка шлюза авторизации Nginx
Теперь нужно создать страницу авторизации сервера, которую необходимо пройти, чтобы получить доступ к странице входа в PhpMyAdmin.
Большинство веб-серверов, – и Nginx в их числе, – поставляются с этой функцией по умолчанию. Нужно просто отредактировать конфигурационный файл Nginx
Сначала нужно создать файл паролей pma_pass для хранения учётных данных. 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
В этот файл нужно внести новый раздел location для phpMyAdmin (в данном случае это /nothingtosee).
Создайте блок location в блоке server (и вне других блоков) и укажите в нём место установки:
server {
. . .
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
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, MySQL, NGINX, phpMyAdmin, Ubuntu 16.04
Как установить phpMyAdmin с Nginx на CentOS 7
10.10.20202020-10-10T18:24:55+03:002021-01-14T13:27:20+03:00
CentOS, Linux
Комментариев нет
phpMyAdmin — это инструмент на основе PHP с открытым исходным кодом для управления серверами MySQL и MariaDB через веб-интерфейс.
phpMyAdmin позволяет взаимодействовать с базами данных MySQL, управлять учетными записями и привилегиями пользователей, выполнять SQL-операторы, импортировать и экспортировать данные в различных форматах данных и многое другое.
В этом руководстве мы покажем вам, как установить phpMyAdmin с Nginx на CentOS 7.
Содержание
Подготовка
Прежде чем продолжить изучение этого руководства, убедитесь, что вы выполнили следующие предварительные требования:
- LEMP (Linux, Nginx, MySQL и PHP 7) установлен на вашем сервере CentOS .
- Вы вошли в систему как пользователь с привилегиями sudo .
Хотя это не обязательно, рекомендуется получить доступ к вашей установке phpMyAdmin через HTTPS. Если у вас нет SSL на ваших сайтах, следуйте инструкциям по защите вашего Nginx с помощью Let’s Encrypt в CentOS 7 .
Установка phpMyAdmin на CentOS
Чтобы установить phpMyAdmin в системе CentOS 7, выполните следующие действия:
phpMyAdmin включен в репозиторий EPEL . Если у вас еще не включен EPEL, вы можете сделать это, набрав:
sudo yum install epel-release
После включения репозитория EPEL установите phpMyAdmin и все его зависимости с помощью следующей команды:
sudo yum install phpmyadmin
Перед установкой phpMyAdmin убедитесь, что в вашей системе установлены Nginx и PHP 7.
Измените групповое владение каталогом
/etc/phpMyAdmin
наnginx
(пользователя, под которым работает служба PHP FPM):sudo chgrp -R nginx /etc/phpMyAdmin
Настройка Nginx и phpMyAdmin
Есть несколько способов настроить Nginx для обслуживания файлов phpMyAdmin. /* /phpMyAdmin last;
}
Убедитесь, что вы используете правильный путь к сокету или адрес / порт для директивы fastcgi_pass
.
Сохраните файл и закройте редактор.
Теперь вы можете добавить следующую строку в каждый блок сервера домена, где вы хотите получить доступ к phpMyAdmin, используя: domain.com/phpmyadmin
include snippets/phpMyAdmin.conf;
Вот пример:
/etc/nginx/conf.d/domain.com.conf
server { # . . . other code include snippets/phpMyAdmin.conf; # . . . other code }
Доступ к phpMyAdmin
Чтобы получить доступ к интерфейсу phpMyAdmin, откройте свой любимый браузер и введите доменное имя вашего сервера или общедоступный IP-адрес, а затем /phpmyadmin
:
http(s)://your_domain_or_ip_address/phpmyadmin
Введите учетные данные для входа в систему с правами администратора и нажмите Go
.
После входа в систему вы увидите панель управления phpMyAdmin, которая будет выглядеть примерно так:
Выводы
Поздравляем, вы успешно установили phpMyAdmin на свой сервер CentOS 7. Теперь вы можете начать создавать базы данных MySQL, пользователей и таблицы, а также выполнять различные запросы и операции MySQL.
Если у вас есть вопросы, не стесняйтесь оставлять комментарии ниже.
php — Почему phpMyAdmin перестал работать после обновления Ubuntu до 22.04?
спросил
Изменено
2 месяца назад
Просмотрено
11 тысяч раз
Часть коллектива PHP
Только что обновился до Ubuntu 22.04, и теперь мой phpadmin не загружается. Я получаю следующую ошибку
Ошибка синтаксического анализа: синтаксическая ошибка, неожиданный «статический» (T_STATIC) в /usr/share/php/Symfony/Component/DependencyInjection/ContainerBuilder.php в строке 272
Я открыл файл, и вот конкретный код в этом сегменте.
общедоступная функция addResource (ResourceInterface $resource): статическая { если (!$this->trackResources) { вернуть $это; } if ($resource instanceof GlobResource && $this->inVendors($resource->getPrefix()))) { вернуть $это; } $this->resources[(string) $resource] = $resource; вернуть $это; }
Вчера до обновления все работало нормально. У кого-нибудь есть предложения?
- php
- symfony
- ubuntu
- phpmyadmin
- ubuntu-22.04
2
Я использую php7.4.30, и мое исправление заключается в обновлении phpmyadmin.
Вот простое руководство:
https://devanswers.co/manually-upgrade-phpmyadmin/
0
Начиная с версии 8.0, PHP допускает static
в качестве возвращаемого типа для методов класса. Судя по всему, ваша версия PHP была понижена.
5
Да, это проблема, если вы используете версию PHP до 8, например 7. *.
Загрузите 5.2 здесь и установите его.
https://www.phpmyadmin.net/downloads/
Полностью очистите предыдущую версию и защитите каталог, в котором вы ее установили (зависит от вашего веб-сервера). Этот компонент Symfony все испортил (строка 272).
0
- обновить php до 8.x
- переключить версию php в apache:
cd /etc/apache2/mods-enabled/ судо рм php7.4.conf судо рм php7.4.load sudo ln -s ../моды доступны/php8.0.load php8.0.load sudo ln -s ../mods-available/php8.0.conf php8.0.conf
в конце перезапустите apache:
sudo /etc/init.d/apache2 перезапуск
1
Вы должны проверить версию phpmyadmin, потому что в версии php 8.* потребуется версия phpmyadmin 5.*.
1
Если вы используете предварительную загрузку opcache, вы можете страдать от конфликтов между пространствами имен Symfony phpMyAdmin и пространствами имен вашего собственного приложения. Мой обходной путь для этого — запустить phpMyAdmin на другой версии PHP
.
Зарегистрируйтесь или войдите в систему
Зарегистрируйтесь с помощью Google
Зарегистрироваться через Facebook
Зарегистрируйтесь, используя электронную почту и пароль
Опубликовать как гость
Электронная почта
Требуется, но никогда не отображается
Опубликовать как гость
Электронная почта
Требуется, но не отображается
Нажимая «Опубликовать свой ответ», вы соглашаетесь с нашими условиями обслуживания и подтверждаете, что прочитали и поняли нашу политику конфиденциальности и кодекс поведения.
Устранение распространенных проблем с PHPMyAdmin в Ubuntu
При установке PHPMyAdmin в Ubuntu могут возникнуть проблемы или могут возникнуть проблемы после установки. Если вы один из тех, кто столкнулся с проблемами после установки PHPMyAdmin, эта статья для вас. В этой статье рассказывается об устранении распространенных проблем с PHPMyAdmin в Ubuntu. Если вы собираетесь купить сервер Ubuntu VPS, вы можете ознакомиться с пакетами, предлагаемыми на нашем сайте.
Содержание
Переключить
Каковы общие проблемы с PHPMyAdmin в Ubuntu?
PHPMyAdmin — это бесплатный программный инструмент с открытым исходным кодом, написанный на PHP для администрирования MySQL через Интернет. Он отвечает за графическое управление базой данных вашего веб-сайта и приложений. Этот инструмент поддерживает широкий спектр операций, таких как управление базами данных, отношениями, таблицами, столбцами, индексами, разрешениями, пользователями и т. д. в MySQL и MariaDB. Вы можете столкнуться с проблемами после установки PHPMyAdmin в Ubuntu, которые необходимо устранить.
PHPMyAdmin не работает
Одной из распространенных ошибок PHPMyAdmin в Ubuntu является ошибка PHPMyAdmin не работает. После установки PHPMyAdmin в Ubuntu ссылка http://localhost/phpmyadmin/ может возвращать пустую страницу. Эта ошибка может быть связана с тем, что вы не установили libapache2-mod-php.
Чтобы исправить ошибку, просто установите его с помощью следующей команды:
sudo apt install libapache2-mod-php8.1
И перезагрузите Apache с помощью команды ниже:
sudo systemctl перезапустить apache2
Затем попробуйте получить доступ к PHPMyAdmin.
Также эта ошибка может быть связана с тем, что сервер Apache не запущен. Поэтому проверьте, хорошо ли работает ваш apache, с помощью следующей команды:
sudo systemctl status apache2.service
PHPMyAdmin Access Denied for root User
Когда пользователь устанавливает и настраивает новый MySQL, может появиться сообщение « доступ запрещен для пользователя «@’localhost’ к проблеме с базой данных phpmyadmin».
Эта ошибка обычно появляется для новых установок MySQL при входе в PHPMyAdmin с пользователем root. Вы можете решить эту проблему, выполнив следующие действия.
Чтобы решить эту проблему, сначала войдите в PHPMyAdmin с правами root. Для этого введите следующую команду:
mysql -u root -p
Измените пользователя root, чтобы он мог войти в MySQL как root. Это позволит получить доступ к корню:
sudo mysql
Введите свой пароль при появлении запроса.
Теперь измените метод аутентификации, чтобы войти в MySQL как root, как показано ниже:
ALTER USER 'password'@'localhost' IDENTIFIED WITH mysql_native_password BY 'insert_password';
Это изменит пароль для пользователя root и установит метод аутентификации на mysql_native_password.
Для выхода из MySQL с помощью следующей команды:
mysql> FLUSH PRIVILEGES;
Теперь перезапустите Apache, введя следующую команду:
sudo service apache2 restart
Затем проверьте доступ пользователя root MySQL к PHPMyAdmin.