📝 Задания: финальный проект

К оглавлению урока

⚡ Сценарий проекта

Вы — веб-разработчик. Сайт http://18.192.103.67/ не работает. Подключитесь по SSH и восстановите сервер за 15 шагов.

Смотрите подробное описание ниже.

Сценарий проекта

Описание концепции

Вы — веб-разработчик, который получил задачу на восстановление работоспособности Linux-сервера.

Цель проекта

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

15 шагов восстановления Linux-сервера

Выполните шаги по порядку. Для каждого шага запишите выполненную команду и полученный результат.

  1. Получить ссылку на сайт и убедиться, что он не работает.
    Адрес: http://18.192.103.67/ — откройте в браузере, убедитесь в ошибке.
  2. Подключиться к серверу по SSH.
    Используйте ключ ich.pem и адрес ec2-user@18.192.103.67.
  3. Посмотреть статус процесса httpd.
    Используйте sudo service httpd status. Что показывает статус?
  4. Запустить сервис httpd.
  5. Посмотреть статус сервиса после запуска.
    Проверить: заработал ли сервис?
  6. Попытаться скопировать файл настроек.
    Файл настроек: /home/ec2-user/LocalSettings (5).php (с пробелами!)
    Целевой путь: /var/www/html/mediawiki/LocalSettings.php
    Что происходит? Записать сообщение об ошибке.
  7. Найти ошибки в error_log.
    Искать в /var/log/httpd/error_log. Какова причина ошибки?
  8. Узнать, сколько свободного дискового пространства.
    Использовать df -h. Какой процент использования?
  9. Найти файлы, которые занимают очень много места.
    Использовать find с ключом размера. Какой файл является виновником?
  10. Восстановить работоспособность сервера — очистить лог.
    «Перезапустить» или очистить /var/log/httpd/access_log (начать файл с нуля).
  11. Проверить, что место действительно появилось.
    Использовать df -h снова.
  12. Вернуться к копированию файла настроек LocalSettings.php.
    Скопировать файл из /home/ec2-user/ в /var/www/html/mediawiki/.
  13. Найти и исправить ошибку в конфигурационном файле.
    Найти строку $wgServer в LocalSettings.php. Заменить IP на актуальный.
  14. Найти и исправить некорректное задание cron у root.
    Просмотреть sudo crontab -l. Что не так с текущим заданием?
    Изменить интервал на ежедневный и исправить путь архива.
  15. Создать скрипт /home/ec2-user/backup_logs.sh.
    Скрипт должен:
    • Архивировать /var/log/httpd/access_log в tar.gz с датой в имени
    • Очищать лог после архивации
    • Удалять архивы старше 3 дней
    Добавить скрипт в crontab с запуском ежедневно в полночь: 0 0 * * *.

Проверка результата

После выполнения всех шагов должны быть восстановлены:

  • Веб-сервис Apache httpd (Active: running)
  • Дисковое пространство (свободно > 0)
  • Конфигурационный файл LocalSettings.php
  • Корректное задание cron для ротации логов

Сайт http://18.192.103.67/ должен открываться в браузере.

Решения: → Полные решения