Что устанавливать для веб-сервера на чистом выделенном Linux сервере

Итак, арендовали виртуальный или физический выделенный сервер (VPS/VDS) с одной только ОС Linux и теперь пора его настроить, чтобы сделать из него веб-сервер для сайтов интернета. Настройка веб-сервера на чистом выделенном сервере дело не совсем хлопотное, но всё же придётся потратить немного времени.

Я буду использовать популярный Linux дистрибутив Ubuntu. Ручное создание полноценного web-севера на Linux является тривиальной задачей. Что же надо поставить (установить) на сервер, чтобы сделать его веб-сервером? Существует множество программ веб-серверов и СУБД. Я же буду использовать самые популярные. Будем использовать 2 веб-сервера для снижения нагрузки. Впереди идущий Nginx для статики и задний Apache для динамики (выполнения скриптов). Далее привожу, собственно, сам список программ и действий.

  • Поставить LAMP (Linux, Apache, MySQL, PHP).
  • Поставить Nginx. Он, к сожалению, не входит в LAMP и его приходится ставить самостоятельно.
  • По желанию добавить/установить менеджер БД PhpMyAdmin. Особо не нужен т.к. всегда есть такие менеджеры БД как родной для СУБД MySQL консольный «Mysql monitor» для локального управления, и полноценный десктопный «MySQL Workbench» для удалённого администрирования БД.
  • Закинуть бэкапы с файлами сайтов.
  • Разрешить удалённое соединение у СУБД MySQL для удобной удалённой работы с БД.
  • Поднять бэкапы БД сайтов.
  • Перебросить веб-сервер Apache на сторонний от 80 порт, например, 8080.
  • Включить Apache модули: rewrite, remoteip.
  • Выставить Apache права на папки в которых сайты, чтобы не выводил «403 forbidden».
  • Добавить настройки виртуальных хостов (сайтов) для обоих веб-серверов.
  • Проверить отсутствие ошибок в логах, исправить если есть.
  • Поставить дополнительный софт по вкусу: swapspace, htop, DDoS-Deflate и т.д.
  • Настроить регулярный автоматический бэкап.

Список устанавливаемых пакетов

Часть программ может быть уже установлена, в то время как остальные могут быть ненужны. Для быстроты пишу сразу командами для установки, чтобы осталось только скопировать и вставить, при условии использовании менеджера пакетов apt-get.

Webserver
  • tasksel install lamp-server
  • apt-get install nginx
Text editors
  • apt-get install nano
Reference
  • apt-get install man
Working processes monitoring
  • apt-get install top
  • apt-get install htop
Swap
  • apt-get install swapspace
File management
  • apt-get install mc
Disk space
  • apt-get install df
  • apt-get install du
  • apt-get install ncdu
Archives
  • apt-get install tar
  • apt-get install unzip

При переносе сайтов в настройке серверов помимо задания самих виртуальных хостов надо задать настройки модулей для того же Apache, его модуля remoteip в частности.

Как видно, список действий довольно длинный. Однако делается это всё, как правило, довольно быстро. Главное ничего не забыть. Именно для этого я и публикую этот список.

Удачной работы в администрировании сайтов!