Вопрос или проблема
Я с нетерпением ждал помощи с обновлением системы с Ubuntu LTS 20.04 до 22.04. Этот сервер работает на стеке LAMP, включая apache2 2.4.41, mySQL 8.0.39 и php 7.4.3. Когда я выполнил команду do-release-upgrade, обновление прошло успешно в некотором роде. Однако я столкнулся с несколькими ошибками касательно “Поскольку вы удаляете phpmyadmin… пожалуйста, выберите, должны ли удаление базы данных и отзыв привилегий обрабатываться с помощью dbconfig-common”. Но я не выбрал удаление phpmyadmin. Мой сайт теперь не запускается, и php, вместе с любыми модулями phpmyadmin и так далее, больше не установлен.
Этот сервер является виртуальной машиной. Я вернул его к известному хорошему снимку на Ubuntu 20.04, так что сейчас все работает правильно.
Могу ли я что-то сделать для этого сервера, чтобы убедиться, что mysql и php выживут после обновления, чтобы я мог попробовать снова? Или есть что-то, что я могу сделать после обновления на месте, чтобы восстановить php до рабочей версии около 8.x?
Ответ или решение
Конечно! Ваша ситуация с обновлением Ubuntu и исчезновением PHP и phpMyAdmin после обновления с 20.04 до 22.04 требует внимательного подхода. Вот несколько шагов, которые вы можете предпринять, чтобы успешно обновить вашу систему и избежать подобных проблем в будущем.
Подготовка к обновлению
-
Резервное копирование: Перед началом любого обновления всегда создавайте полную резервную копию вашего сервера, включая базы данных и конфигурационные файлы. Если что-то пойдет не так, вы сможете восстановить систему в рабочее состояние.
-
Обновление пакетов: Убедитесь, что все пакеты в текущей версии Ubuntu 20.04 обновлены. Вы можете использовать следующие команды:
sudo apt update sudo apt upgrade
-
Сохранение конфигураций: Запишите или сохраните конфигурационные файлы Apache, MySQL, PHP и phpMyAdmin, чтобы иметь возможность быстро восстановить их в случае необходимости.
-
Проверка зависимости: Убедитесь, что у вас нет конфликтующих пакетов, которые могут вызвать проблемы при обновлении. Для этого выполните команду:
sudo apt dist-upgrade
Обновление до Ubuntu 22.04
-
Запустите обновление:
После того как ваши пакеты будут обновлены, запустите обновление:
sudo do-release-upgrade
Если вам предложат удалить пакеты, такие как phpMyAdmin, внимательно просмотрите все предупреждения и выбирайте "Не удалять".
-
Установка пакетов после обновления: После завершения обновления, если PHP и phpMyAdmin не были установлены, вы можете установить их вручную:
sudo apt install php libapache2-mod-php php-mysql sudo apt install phpmyadmin
При установке phpMyAdmin вам может быть предложено настроить его с MySQL; следуйте инструкциям на экране.
Восстановление PHP и phpMyAdmin
Если после обновления PHP или phpMyAdmin все еще отсутствуют, вы можете попробовать следующие шаги:
-
Установка конкретной версии PHP: Если вам нужна версия PHP 8.x, вы можете установить ее с помощью PPA:
sudo add-apt-repository ppa:ondrej/php sudo apt update sudo apt install php8.0 libapache2-mod-php8.0 php8.0-mysql
-
Установка phpMyAdmin: Если phpMyAdmin отсутствует, установите его:
sudo apt install phpmyadmin
Обязательно укажите правильные параметры конфигурации базы данных во время установки.
Проверка работы сервиса
-
Перезапустите Apache:
sudo systemctl restart apache2
-
Проверьте версию PHP:
Создайте файл
info.php
в директории вашего веб-сервера, например,/var/www/html/info.php
, с содержимым:<?php phpinfo(); ?>
Затем откройте браузер и перейдите по адресу
http://your-server-ip/info.php
, чтобы убедиться, что PHP работает правильно. -
Доступ к phpMyAdmin: После установки phpMyAdmin убедитесь, что вы можете получить доступ к нему по адресу
http://your-server-ip/phpmyadmin
и можете войти в систему с использованием учетных данных вашей базы данных.
Заключение
Если вы столкнетесь с дальнейшими проблемами, вам стоит обратиться к логам Apache и MySQL для более глубокой диагностики:
- Логи Apache:
/var/log/apache2/error.log
- Логи MySQL:
/var/log/mysql/error.log
Надеюсь, эти шаги помогут вам успешно выполнить обновление и восстановить работоспособность вашего сервера. Если у вас будут дополнительные вопросы или возникнут сложности, не стесняйтесь спрашивать!