Назад | Перейти на главную страницу

Держите сервер LAMP в актуальном состоянии и в безопасности

Как веб-разработчик, у меня, как и у многих, есть собственный VPS. Однако я веб-разработчик, а не системный администратор. Для меня довольно сложно установить VPS и поддерживать его в актуальном состоянии и в безопасности. На настройку и запуск сервера у меня уходят дни, если не недели. Я также не решаюсь обновлять свой сервер, так как боюсь, что все испорчу.

Итак, мой вопрос к вам: какие ресурсы вы можете мне порекомендовать, которые не только расскажут мне, как установить сервер LAMP, но также объяснят, как поддерживать все в актуальном состоянии и в безопасности?

edit: Установка всего не является основной проблемой, основная проблема заключается в настройке всего, что является безопасным и работает. Большинство руководств просто говорят мне, как все установить, но обычно этого недостаточно.

В моем конкретном случае у меня есть CentOS VPS, для которого мне нужны LAMP, ftp и электронная почта. Я также размещаю несколько доменов на одном VPS.

Серверная среда состоит из двух ключевых частей: ее создания и поддержки.

Строительная часть "проста" - Howtos доставит вас туда (хотя результаты могут быть не очень хорошими).

Техническая часть - сложная часть: применение исправлений (даже с использованием современных инструментов управления пакетами) - это что-то вроде черного искусства: вы должны быть готовы и способны устранять неполадки, когда что-то ломается, и вам нужны навыки и знания, чтобы исправить поломку (либо фактически фиксация или откатывая свои изменения, пока вы не поймете, почему они сломались).


Лучший совет, который я могу вам дать: найдите системного администратора (пусть даже на неполный рабочий день) для ежеквартальных оценок и исправлений. Если вы хотите взять на себя эту роль, работайте с ними, пока не почувствуете себя комфортно.

Второй лучший совет, который я могу вам дать, - это создать тестовую среду (любой нанятый вами системный администратор должен настоять на этом) и сделать это самостоятельно:

  • Как сказал @Tim, начните с надежного дистрибутива Linux с отличным управлением пакетами и придерживаться упакованного программного обеспечения.
  • По крайней мере, каждые 3 месяца (или всякий раз, когда возникает проблема безопасности, которая того заслуживает) исправляйте тестовую среду и тщательно тренируйте свое программное обеспечение. (Именно здесь все проповеди о тестировании программного обеспечения возвращаются, чтобы укусить вас: вам нужны хорошие тесты, чтобы быть уверенным, что вы обнаружите какие-либо поломки.)
  • Если вы уверены, что эти исправления не сломают ваше программное обеспечение, примените их в производственной среде.

Обратите внимание, что ваша тестовая среда не должна быть экстравагантной: A VirtualBox ВМ часто справляется с этой работой.


Еще несколько бесплатных советов:

  1. Создайте тестовую среду.
    Если вы нарушили тестовую среду, вы всегда можете выполнить восстановление из резервной копии и попробовать еще раз.
    Если вы нарушите производственную среду, пользователи рассердятся.
    (это ведет прямо к пункту 2 ...)

  2. Резервные копии. Принесите вам немного (если у вас их еще нет).
    Регулярно выполняйте резервное копирование. Регулярно выполняйте тесты восстановления (чтобы убедиться, что ваши резервные копии можно использовать).
    Будьте уверены, что даже если вы допустите ошибку и разрушите производственную среду, вы сможете ее исправить.

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

Лучше всего использовать проверенный дистрибутив с отличным менеджером пакетов. Они есть в Fedora, Cent, Redhat, OpenSuSe и Debian / Ubuntu. Все они, которые я перечислил, содержат пакеты для развертывания стандартной установки LAMP, и после того, как вы все это настроите, вы можете запустить системное задание, AKA cron job, для проверки и применения обновлений через указанный интервал.