Удаленный сервер своими руками

Удаленный сервер своими руками
Н. Левицкий
Жанры: Программирование, системное администрирование
Год издания: 2021
Год прочтения: 2025
Моя оценка: Наивысшая
Количество прочтений: 1
Количество страниц: 402
Конспект (страниц): 41
Первоначальный язык издания: Русский
Переводы на другие языки: Переводы на другие языки не найдены

Установка и настройка линукс на сервере

Книга плавно начинается с установки операционной системы и постепенно усложняется от главы к главе. Первая глава посвящена установке Linux. Это настолько заезженная тема и операция, которую я проводил много раз, что из первой главы я ничего не добавил в конспект. Установка рассматривается на примере Astra и Ubuntu.

Далее идут несколько глав, посвященных знакомству с Linux на примере входа в систему. Уделяется немного внимания графическим оболочкам, темной теме и другим визуальным аспектам. Кстати, немало внимания уделяется кастомизации внешнего вида ОС до стилистики macOS: установка заставок, изменение оформления кнопок, значков, курсоров, меню и других элементов. Также упоминается различие между режимом гибернации и сна, выключение и перезагрузка через консоль, а также запланированное выключение. Автор показывает, как устанавливать аудио- и видеокодеки, управлять пакетами и обновлять систему.

Глава 4 посвящена командной строке и базовым командам, таким как: просмотр содержимого файла, перенаправление вывода, создание, копирование и перемещение файлов и каталогов, поиск по файлам, сравнение, замена, форматирование. Команд много, некоторые из них я не знал и не запомнил. В основном они просто перечислены без глубокого объяснения, так что за деталями лучше обращаться к другим источникам. Автор упомянул графические интерфейсы в предыдущей главе, но ничего не сказал о разновидностях оболочек командной строки. Как и в любой книге по Linux, здесь рассматривается разница между обычными пользователями и суперпользователем, символы решетки и доллара. Небольшая часть главы посвящена и графическим редакторам — как встроенным, так и тем, которые нужно устанавливать отдельно.

Глава 5 посвящена настройке сетевых интерфейсов. Здесь речь идет в основном о физической настройке: адаптеры, коммутаторы, витая пара, коннекторы RJ-45. Автор не забыл упомянуть и об инструменте для обжима витой пары. Приведена схема обжима. Из теории — пара слов о команде ifconfig и DHCP-сервере, о котором далее будет рассказано подробнее.

Базовая настройка сервера

Глава 6 рассказывает про маршрутизацию и настройку брандмауэра. Признаюсь, таблицы маршрутизации, команды для их настройки и работа с пакетами запомнились мне плохо. Возможно, потому что я не системный администратор, и в бэкенде или фронтенде с этим напрямую не сталкиваешься. Брандмауэр рассматривается на примере iptables и ufw.

Глава 7 посвящена SSH-протоколу. Автор затронул алгоритмы, которые поддерживает OpenSSH (используемый в Linux): Blowfish, 3DES (Data Encryption Standard), IDEA (International Data Encryption Algorithm) и RSA (Rivest-Shamir-Adleman algorithm). Затем идет разбор конфигурационного файла SSH с доступными комментариями. Все параметры запомнить сложно, да и, пожалуй, не нужно. Завершается глава примерами копирования файлов по SSH, а также оптимизацией и повышением производительности.

Глава 8 — общие вопросы администрирования веб-сервера. Здесь автор делает паузу в технических вопросах и дает немного теории, на мой взгляд, важной и интересной. Он подробно объясняет разницу между физическим, виртуальным и выделенным сервером, а также когда какой вариант предпочтителен. Спойлер: физический сервер вам, скорее всего, не нужен. Приведены плюсы и минусы каждого типа. Например, физический сервер требует второй интернет-линии, вентиляции помещения и охраны. Вторая часть главы посвящена критериям выбора сервера. Вот несколько пунктов из списка:

  • Уровень сертификации по Tier
  • Наличие лицензий ФСТЭК
  • Физическое размещение серверов (ФЗ-152)
  • Базовая скорость интернет-канала
  • Скорость работы дисковой подсистемы
  • Тарификация и платежи
  • Что представляет собой виртуальное ядро

Глава 9 посвящена работе с FTP. Перед установкой FTP-сервера нужно выбрать подходящий вариант. Автор предлагает: wu-ftpd (старый, но проверенный), vsftpd (легковесный), pure-ftpd (компактный), proftpd (гибкий и универсальный). Затем идет установка proftpd и разбор его настроек. В конце — пара слов про оптимизацию и ускорение FTP-сервера.

Глава 10 объясняет, как работает DNS. Затем автор настраивает кэширующий DNS-сервер на примере BIND9 и unbound. Разбираются конфигурационные файлы с комментариями.

Глава 11 более подробно рассказывает о DHCP-сервере, его назначении и сферах применения.

Глава 12 посвящена интеграции Linux в Windows-инфраструктуру. Я с этим не работаю, поэтому почти ничего не добавил в конспект.

Глава 13 — резервное копирование. Интересные моменты: Автор четко описывает, что нужно бэкапить и в каких случаях. Он упоминает автоматизированные системы (Amanda, Bacula), но сам предлагает скрипт, который создает резервную копию и отправляет ее по SSH.

Глава 14 посвящена безопасности сервера. Здесь рассматриваются: локальная безопасность (пломбы, защита BIOS), защита от сетевых атак, защита служб (на примере: fail2ban), шифрование данных (на пример eCryptfs). Также перечислены виды DDoS-атак (Smurf, ICMP-flood, UDP-flood) с краткой историей их появления.

Выделенный веб-сервер на основе Linux

Глава 15 посвящена настройке веб-сервера. Здесь не рассматривается nginx, но рассматривается Apache. Помимо Apache, также можно увидеть настройку и конфигурацию СУБД MySQL, PHP (со всеми основными библиотеками), и в качестве примера автор устанавливает еще и CMS Magento. Далее начинается самое интересное: автор выделяет директивы Apache в группы (всего 11 групп) и кратко описывает их назначение. Я лишь для примера опишу несколько групп:

  • Директивы протоколирования: ErrorLog, TransferLog, HostnameLookups.
  • Директивы ограничения доступа: AllowOverride, Options, Limit.
  • Директивы управления производительностью: StartServers, MaxSpareServers, MinSpareServers, а также директива CacheNegotiatedDocs.
  • Директивы обеспечения постоянного соединения с клиентом: Timeout, KeepAlive, KeepAliveTimeout.

В завершение - небольшой подпункт про защиту сервера Apache. Пункт краткий, и в конспект ушло немного информации.

Глава 16 посвящена SSL-сертификатам. Из интересного - разновидности SSL-сертификатов, о которых я раньше не особо задумывался: DV (Domain Validation), OV (Organization Validation), EV (Extended Validation). Далее идет информация о том, что представляют собой эти сертификаты и в каких форматах они хранятся (PEM, DER, PKCS #7 / P7B и др.), а также о том, как переконвертировать их из одного формата в другой. Также в этой главе рассматривается Let’s Encrypt как самый простой способ создания сертификата.

Глава 17 посвящена выбору и установке панели управления сервером. Рассмотрены как платные и популярные панели (cPanel, DirectAdmin, ISPManager, Plesk), так и бесплатные (Webmin, VestaCP, ISPConfig, Ajenti). Более подробно и детально разобрана Webmin.

Глава 18 посвящена повышению производительности сервера. Здесь есть четкий чек-лист, включающий следующие пункты (на что нужно обратить внимание в первую очередь при наличии проблем с производительностью):

  • Количество клиентов и конфигурация сервера
  • Настройки Apache
  • Версия PHP
  • Директива memory_limit
  • Директива max_execution_time
  • Настройка сжатия и кэширования
  • Включение кэширования на стороне сервера (использование Memcached)
  • Настройка CMS

Каждый пункт, разумеется, разобран более детально.

Глава 19 посвящена настройке почты на веб-сервере. Автор устанавливает пакет ssmtp, регистрирует почту на Gmail и конфигурирует SMTP-сервер.

Глава 20 посвящена решению типовых проблем. Во-первых, автор рекомендует установить Zabbix или хотя бы Яндекс.Метрику для отслеживания статистики. Во-вторых, он разбирает самые распространенные ошибки, среди которых:

  • Закончилось дисковое пространство/свободные иноды.
  • Нехватка прочих ресурсов (память, процессор и др.).
  • Неправильная конфигурация сервера.

Также в этой главе упоминаются логи и приводится список утилит для мониторинга различных показателей сервера – от htop и atop до apachetop и jnettop.

В двух последних главах, не считая финансовых расчетов автора и философских рассуждений о том, что выгоднее – виртуальный или физический сервер, можно выделить, пожалуй, создание своего Zoom-а (установку и конфигурирование приложения BigBlueButton для проведения онлайн-конференций).

Вывод

Общий комментарий: книга безусловно очень понравилась, хорошо структурирована и читается довольно легко. В ней много изображений, комментариев и пояснений. Она подойдет как бэкенд-, так и фронтенд-разработчикам, которые решили глубже изучить системное администрирование на примере Linux и пройти вместе с автором путь от установки ОС до конфигурации и последующей настройки веб-сервера и сопутствующего программного обеспечения. Из минусов можно отметить только большой объем информации, который без практики, к сожалению, далеко не в полном объеме сразу запоминается.

Вверх