Рейтинг:0

Ubuntu 18.04: PHP перестал работать после того, как я попытался исправить phpmyadmin

флаг in

У меня проблема с сервером Ubuntu 18.04.6 Ubuntu. Я пытался исправить проблему с phpMyAdmin (много ошибок, появляющихся на экране и не позволяющих мне использовать его, указывая на какую-то ошибку авторизации). Что я сделал:

  • Я попытался переустановить phpMyAdmin (не удалось из-за этой ошибки доступ запрещен для пользователя 'debian-sys-maint '@' localhost с использованием пароля 'да')
  • Я исправил проблему с авторизацией
  • Я успешно переустановил phpMyadmin, но он не работал (я мог использовать php-код в браузере)
  • Я понял, что что-то могло случиться с конфигурацией apache/php, и попытался это исправить.
  • я мог видеть php7.4 модуль включен в конфигурации apache, но при попытке перезапустить службу у меня возникла ошибка
  • Я попытался обновить, а затем переустановить php (используя `apt-get'), и все выглядело нормально.
  • Попытка повторно включить php7.4 привела к ошибке apache, но включение php8 вместо php7.4, казалось, работало, но...
  • Теперь, когда я открываю любой веб-сайт, использующий php на моем сервере, я вижу только пустую страницу.

Я пытался проверить содержимое журналов ошибок для каждого веб-сайта, но они не обновляются. Я проверил `/var/log/php_errors.log, но он пуст.

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

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

Заранее спасибо.

РЕДАКТИРОВАТЬ

После публикации этого вопроса я продолжил играть с ним. В конце концов я полностью удалил старые версии php и переустановил php8, php8-mysql и множество других пакетов, и мне удалось восстановить функциональность php и apache.

Я также переустановил phpmyadmin, установка прошла без ошибок, но я не могу получить к нему доступ. я нашел эту статью https://docs.bitnami.com/general/faq/get-started/access-phpmyadmin/, я полагаю, что сейчас не хватает только включения SSH-туннеля, я полагаю, что в старых версиях phpMyAdmin это не требовалось.

РЕДАКТИРОВАТЬ (2)

Я нашел журналы Apache, но я, честно говоря, не могу их понять. Когда я получаю доступ /phpmyadmin на сервере пишутся такие строки:

[Пн, 08 ноября, 08:47:44.650203 2021] [ядро: ошибка] [pid 16470] [клиент 31.14.41.57:40086] AH10244: неверный путь URI (/cgi-bin/%%32%65%%32%65/ %%32%65%%32%65/%%32%65%%32%65/%%32%65%%32%65/%%32%65%%32%65/%%32%65% %32%65/%%32%65%%32%65/бин/ш)
[Пн, 08 ноября, 08:47:44.703164 2021] [ядро: ошибка] [pid 16474] [клиент 31.14.41.57:40090] AH10244: неверный путь URI (/cgi-bin/%%32%65%%32%65/ %%32%65%%32%65/%%32%65%%32%65/%%32%65%%32%65/%%32%65%%32%65/%%32%65% %32%65/%%32%65%%32%65/бин/ш)
[Пн, 08 ноября, 08:47:44.755659 2021] [ядро: ошибка] [pid 16470] [клиент 31.14.41.57:40092] AH10244: неверный путь URI (/icons/.%2e/.%2e/.%2e/. %2e/.%2e/.%2e/.%2e/bin/sh)
[Пн, 08 ноября, 08:47:44.807909 2021] [ядро: ошибка] [pid 16474] [клиент 31.14.41.57:40096] AH10244: неверный путь URI (/icons/.%2e/.%2e/.%2e/. %2e/.%2e/.%2e/.%2e/bin/sh)
[Пн, 08 ноября, 08:47:44.860247 2021] [ядро: ошибка] [pid 16470] [клиент 31.14.41.57:40098] AH10244: неверный путь URI (/cgi-bin/.%2e/.%2e/.%2e /.%2e/.%2e/.%2e/.%2e/bin/sh)
[Пн, 08 ноября, 08:47:44.912659 2021] [ядро: ошибка] [pid 16474] [клиент 31.14.41.57:40102] AH10244: неверный путь URI (/cgi-bin/.%2e/.%2e/.%2e /.%2e/.%2e/.%2e/.%2e/bin/sh)
[Пн, 08 ноября, 08:47:44.965121 2021] [ядро: ошибка] [pid 16470] [клиент 31.14.41.57:40104] AH10244: неверный путь URI (/icons/.%%32%65/.%%32%65 /.%%32%65/.%%32%65/.%%32%65/.%%32%65/.%%32%65/бин/ш)
[Пн, 08 ноября, 08:47:45.017634 2021] [ядро: ошибка] [pid 16474] [клиент 31.14.41.57:40108] AH10244: неверный путь URI (/icons/.%%32%65/.%%32%65 /.%%32%65/.%%32%65/.%%32%65/.%%32%65/.%%32%65/бин/ш)
[Пн, 08 ноября, 08:47:45.070238 2021] [ядро: ошибка] [pid 16470] [клиент 31.14.41.57:40110] AH10244: неверный путь URI (/cgi-bin/.%%32%65/.%%32 %65/.%%32%65/.%%32%65/.%%32%65/.%%32%65/.%%32%65/бин/ш)
[Пн, 08 ноября, 08:47:45.123221 2021] [ядро: ошибка] [pid 16474] [клиент 31.14.41.57:40114] AH10244: неверный путь URI (/cgi-bin/.%%32%65/.%%32 %65/.%%32%65/.%%32%65/.%%32%65/.%%32%65/.%%32%65/бин/ш)
флаг eg
Если вы не установили пакет Bitnami, вы не ограничены объяснением из их руководства; это кажется дополнительным шагом, который они предпринимают для защиты вашей установки. «Я не могу получить к нему доступ», пожалуйста, опишите более подробно, какую ошибку вы получаете, что находится в журналах ошибок веб-сервера и к какому URL-адресу вы пытаетесь получить доступ; мы не очень хорошо угадываем, что говорят сообщения :)
флаг in
Опубликуйте свою конфигурацию и фактические сообщения об ошибках. Расплывчатое описание не поможет.
djdomi avatar
флаг za
php по умолчанию не использует этого пользователя. убедитесь, что у пользователя все еще есть пароль, и попробуйте войти в систему через root или другого пользователя с правами администратора.
флаг in
@ibennech Я не вижу никакой ошибки. Если я подключаюсь к своей странице //server/phpmyadmin, я получаю пустую страницу и не могу найти, где искать журналы ошибок. /var/log/apache2 не содержит ничего, что я мог бы отнести к phpmyadmin, и при поиске в Google я не смог понять, где хранятся журналы phpmyadmin.
флаг eg
Поскольку phpMyAdmin является веб-приложением, оно просто регистрирует ошибки в том же месте, где ваш веб-сервер настроен для отправки журналов (по умолчанию в Ubuntu это должно быть `/var/log/apache2/error.log`, если вы не изменили его или добавил свой собственный VirtualHost с соответствующими директивами ErrorLog). Можете ли вы попробовать получить к нему доступ с другого компьютера или в режиме приватного просмотра, чтобы обойти любые устаревшие файлы cookie или проблемы с кешем?
флаг in
Спасибо за вашу помощь, я обновил свой ответ логами, но мне, честно говоря, непонятно...
флаг eg
@simonelippolis Эти строки журнала, к сожалению, не имеют ничего общего с phpMyAdmin, похоже, что кто-то пытается использовать общие слабости сервера, чтобы получить доступ к вашему серверу (`/cgi-bin/` иногда настраивается для запуска исполняемых файлов, `/bin/ sh` — одна из программ-оболочек). Эти атаки часто отправляются на любой веб-сервер, который может найти злоумышленник, и автоматически не означают, что именно вы подвергаетесь атаке. Вероятно, часть файла журнала phpMyAdmin скрыта этим, вы можете попробовать `grep -i phpmyadmin /var/log/apache2/error.log` для поиска только ошибок phpMyAdmin.
флаг in
Еще раз спасибо. Журнал ошибок apache содержит всего несколько строк этой ошибки, ничего не связанного с phpmyadmin. Я думаю, что он не логируется, может быть, он просто не работает...
Рейтинг:-1
флаг cn

Во-первых, я рекомендую вам использовать phpMyAdmin в контейнере Docker, чтобы поддерживать чистоту вашей системы! :)

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

Возможно, вам нужно где-то восстановить файл php.ini, я не знаю, это зависит от вашей администрации.

Вы даже можете попытаться убедиться, что ваш apache2 работает нормально с помощью sudo systemctl статус apache2

Надеюсь, вы найдете решение

Nikita Kipriyanov avatar
флаг za
Он не «установлен изначально». И lxc/lxd, и Docker привносят *множество* необычных и ненужных требований и сложностей. Я могу легко настроить веб-сервер, поэтому, когда я уничтожаю phpmyadmin или что-то еще, другие приложения ничего не замечают. Это как с Докером, но без него и его требований. Просто чище и намного проще. Не вносите сложности туда, где это не нужно. Docker *плохой*, когда вам нужно просто добавить другое приложение в загруженную работающую систему. Это хорошо для *автоматического развертывания множества похожих узлов обработки* и вряд ли применимо для чего-либо еще.
Nikita Kipriyanov avatar
флаг za
Использование Docker только для PHPMyAdmin явно более грязно, чем его установка напрямую. Чисто, ничего, кроме нужного софта, не так ли?
флаг cn
Docker или другая платформа контейнеризации, такая как lxc, изначально установленная в популярных системах Linux, не является излишеством, потому что это просто некоторая сегментация приложений; вы можете уничтожить свой phpmyadmin, не касаясь других работающих веб-сайтов :)

Ответить или комментировать

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