CentOS, Ubuntu        27 сентября 2019        34         0

Первичная настройка Linux сервера Ubuntu или CentOS. Закладываем фундамент.

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

Введение

Итак вы каки либо образом получили доступ к своему серверу. Возможно сами установили операционную систему, а может купил VDS у хостера. Если подумать, то вам ничего не мешает сразу пытаться установить на сервер то приложение с помощью которой вы решите задачу для чего вы мучились с установкой сервера. Как обычно происходит вся история с сервером и задачей… 

  1. Перед вами встала потребность иметь свой сервер который нужен для сайта\почты\облака\vpn и т.п. Далее вы открываете гугл и ищите статью на которой будет написано как решать вашу проблему.
  2. Вы находите инструкцию в интернете где по шагам написано, что надо делать. (тут вы понимаете, что даже если вы ничего не поняли из того, что написано в инструкции, вам  всё равно нужно приобрести сервер у хостера)
  3. Вы приобретаете сервер у первого попавшего хостера и кое-как получаете данные для подключения к серверу.
  4. Вы начинаете следовать инструкциям и возможно даже всё прошло хорошо и вы добились свой цели. Ура задача выполнена. 
  5. Вы закрываете инструкцию по которой настраивали сервер и спокойно пользуетесь своим сервером в своих личных целях.

Подведём итог… поставленную задачу выполнили? Да. Сервер работает? Да. Выходит, что на текущий срез времени вроде всё ок? Да. 

К сожалению не всё так хорошо как кажется. Обычно в какой-то день у вас перестаёт нормально работать ваш сервер и это очень сильно ставит вас в тупик. Если сервер вам нужен для чего-то не критичного, то вы тратите некое время, чтобы решить проблему, а может и вообще её не решаете. Более не приятно, когда сервер используется для чего-то действительно нужного… брррр очень не приятные ощущения когда надо быстро решить проблему, а ты даже не знаешь, что делать. 

Запомните!  Настроить что-то с нуля по инструкции это намного легче процесс, чем пытаться что-то починить.

Давайте попробую пояснить в чём разница между проведением действий по настройки чего либо с нуля и попытками решить проблему. Эта разница в информации. Например у вас нету информации как настроить веб сервер, но вы можете сформировать ЗАПРОС для поиска нужной вам информации. Вы в гугле свой запрос «Как настроить веб сервер» и гугл предоставляет вам информации, что нужно делать. Но когда вы попадаете в ситуацию с не рабочим веб сервером вы не способны сформировать правильный ЗАПРОС для гугла. Если у вас запрос «Не работает веб сервер» вы будете очень долго искать нужную вам информацию для решения вашей проблемы.

Ну и причём тут «Первичная настройка сервера» спросите вы ), а я вам отвечу, что на этом этапе вы выполняете действия которые помогут вам получить выгоду не сейчас, а  в будущем. Можете считать, что это отложенное вознаграждение )

Хотел бы ещё пояснить вам пару моментов:

  • Когда вы находите в интернете статью с инструкциями, то часто эти инструкции вырваны из общего контекста. Многие авторы пишут из расчёта, что пользователь который будет пользоваться его инструкцией УЖЕ знает те моменты которые не указаны в статье.
  • Забыл какие ещё моменты хотел пояснить )

Итак небольшие итоги или плюшки которые вы получите если всё же уделите немного своего времени и выполните предварительную настройку сервера:

  1. На сервере будет настроена правильным образом безопасность и его будет сложнее взломать.
  2. Ваш сервер будет переодически отправлять вам отчёт о своём состояние. Вы получите сообщение если вдруг на него «кто-то» подключится )
  3. На сервере будет немного небольших приятных настроек с помощью которых при работе с сервером будет работаться капельку комфортнее.
  4. Вы будете правильным образом хранить у себя информацию о вашем сервере.
  5. Ну и самое главное, вы будете знать что, где и как находиться на вашем сервере и в случае внештатной ситуации вы будете знать куда смотреть. Это всё поможет в конце сформировать более точный ЗАПРОС на поиск решения вашей проблемы.

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

Статья находиться в режиме редактирования

Перечень действий которые необходимо сделать после чистой установки сервера

Подключаемся к серверу

Без этого никуда ) если вы не знаете как подключиться к серверу то прочитайте вот эту статью.

Смена пароля на пользователя Root (не обязательно)

Некоторые хостеры при создание сервера сами генерируют пароль на пользователя root и ЕСЛИ он вас не устраивает, то вы можете поменять пароль с помощью команды

Создать нового пользователя с root правами для работы с сервером

Под пользователем root не всегда нужно работать (НО это не точно) и по этому лучше создать другого пользователя и выполнять все команды из под него. 

Подробно что делают данные команды разобраны в этой статье.

Настройка подключения по SSH с помощью сертификатов безопасности.

Вы можете подключится к сервер с помощью логина и пароля, а можете с помощью специальных сертификатов безопасности. Как подключаться с помощью сертификатов читаем в этой статье.

Изменяем имя нашего сервера

Полезно будет указать нормальное имя для сервера. Вдруг у вас будет два сервера и по как тогда вы сможете их различать если не по имени ) Не надо пытаться придумать сложное имя. Можно просто указать server-01 и этого будет достаточно.

Проверяем имя нашего сервера командой 

Добавляем репозиторий для Centos 7

В стандартном репозитории (списке доступных программ) не всегда есть нужные вам программы. По этому лучше сразу добавить дополнительный репозиторий EPEL в котором содержится больше количество полезных программ.

Проверяем командой

Обновляем пакеты которые установлены на нашем сервере

При установки сервера не всегда устанавливаются последние доступные версии программ. Давайте обновим все установленные программы сразу. 

Обновляем пакеты в Ubuntu

и для CentOS

Отключаем IPv6

В 99% случаем лучше сразу отключить IPv6. Всё равно редко кто этим пользуется, а так не будет маячить перед глазами.

Этой теме на блоге есть дополнительная статья.

Настраиваем часовой пояс

Очень часто время которое установлено на сервере не будет совпадать с вашим местным временем. Для того, чтобы время совпадало вам нужно указать ВАШ регион серверу, чтобы он «подкрутил» часовые пояса под ваше местное время. Список всех доступных регионов можно подглядеть в папке /usr/share/zoneinfo/. Правда понадобиться поискать нужный вам регион ). Мы также установим программу для синхронизации время, чтобы всегда идти в ногу со временем.

Установим пакет ntp который будет синхронизировать время с… сюрприз серверами из интернета которые говорят другим серверам сколько сейчас времени.

Для Ubuntu

Для CentOS

Далее мы выполним команды по установки часового пояса для Europe/Moscow

Проверяем настройки. Посмотрим список серверов с которыми идёт синхронизация

Смотрим текущее время на сервере

Устанавливаем русскую локализацию

Не всегда на сервер присутствует русская локализация. Это значит, что сервер не знает русских букв и вместо них вам будет отображаться непонятные символы.

Исправляем командой

Проверяем командой

Можно посмотреть список установленных локалей

мы видим, что в списке у нас теперь имеется ru_RU.utf8.

Настраиваем файл подкачки SWAP

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

Для начала обязательно проверим текущее состояние файла подкачки

Если видим, что SWAP имеет нулевые значения то выполняем команды.

Командой ниже мы добавим наш файл подкачки в автозагрузку

Более подробно этот процесс разбирается в в этой статье

Установка дополнительных программ

У разных хостерах разный комплект предустановленных программ. Лучше сразу взять и установить все нужные нам программы, чтобы ломать голову есть или нету той или иной программы на сервере.

Для Ubuntu выполняем

если у вас CentOS то

Установка и настройка Fail2ban для SSH

Как только вы создадите сервер у интернете, то практически сразу на него начнут пытаться подключаться всеми доступными способами злые боты с целью получить доступ на ваш сервер. Для того, чтобы защитить свой сервер от попыток злых ботов подобрать пароль,  крайне желательно установить и настроить специальную программу Fail2ban. Для начала необходимо хотя бы настроить fail2ban для защиты от перебора по SSH.

Устанавливаем fail2ban

nano /etc/fail2ban/jail.d/default.conf

nano /etc/fail2ban/jail.d/ssh.conf

для Ubuntu

для CentOS

Как настроить fail2ban для других служб то читаем про это в этой статье.

Установка и настройка firewall

Очень важно настроить firewall на сервере. Поймите… ваш сервер находиться не у вас дома, а в интернете и о нём знает весь интернет. По этому очень важно максимально эффективно выполнить настройку безопасности вашего сервера. Про настройку фаервола читайте в этой статье.

Установка системы оповещения

Я считаю крайне важным пунктом настройка системы оповещения сервера. Мы можете и должны настроить, чтобы при возникновение важных событий вы сразу получали от сервера сообщения. Как это сделать читаем в этой статье.

Небольшой тюнинг BASH оболочки

Данные действия не обязательны, но рекомендую также их использовать для дальнейшей комфортной работы с командной строкой.

для начала отредактируем файл ~/.bashrc

nano ~/.bashrc

 

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *