Настройка сервера linux после установки

Основы Linux Server для начинающих

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

Сначала поговорим, почему стоит использовать Linux в качестве серверной операционной системы. Многие так привыкли к Windows, что даже слышать про Linux не хотят, я имею в виду даже пользовательские варианты Linux с красивыми и удобными рабочими столами. И на вопрос, почему Вы не хотите использовать Linux? Все отвечают: «да он какой-то корявый!», «Программы, которые я использую в Windows не устанавливаются на Linux» и так далее. Но на самом деле всем пользователям, которые так категоричны к Linux, я хочу сказать, что Linux очень дружелюбная операционная система, и стоит всего лишь немного разобраться в ней и Вам все станет понятно.

Теперь я хочу перечислить некоторые преимущества Linux перед Windows, а также развеять некоторые мифы:

  • Linux – абсолютно бесплатная операционная система (за исключением некоторых платных дистрибутивов), в отличие от Windows;
  • В Linux практически отсутствуют вирусы;
  • Все кто говорит, что «Программы, которые я использую в Windows не устанавливаются на Linux», Вы задумайтесь, а зачем они должны устанавливаться. Ведь это совсем другая ОС, там свои программы! Также можно сказать и про Windows, что «программы которые работают в Linux не устанавливаются в Windows», для Linux существуют много своих программ не уступающим Windows-ким, также многие производители программного обеспечения выпускают свои продукты как для Windows, так и для Linux.
  • Linux более производительней, тем более серверный вариант операционной системы. Объясняю, серверные операционные системы Linux без интерфейсные, а большую часть ресурсов (больше половины. ) как раз занимает интерфейс ОС, т.е. визуальная оболочка (на сегодняшний день получили широкое распространение и версии Windows без графического интерфейса).
  • ОС Linux практически не зависает, (я имею в виду саму операционную систему). Например, все встречались с ситуацией, когда в Windows у Вас все замирает, Вы не можете не пошевелить мышкой, даже ctrl+alt+del нажать не можете, и Вам приходиться перезагружаться. Linux устроена таким образом что такая ситуация исключена, разве что в одном случае когда Вы сами вызываете такую ситуацию.
  • Касаемо серверной ОС Linux она достаточно проста в конфигурирование, в отличие от аналогов Windows, в которых очень много всяких разным прибомбасов, в которых не так легко разобраться. Сама система Linux и все ее службы настраиваются путем редактирования конфигурационных файлов. Это обычные текстовые файлы, зная их расположение и формат, Вы сможете настроить любой дистрибутив, даже если у Вас под рукой нет никаких инструментов, кроме текстового редактора.

Я не хочу популяризировать ОС Linux и каким-то образом принижать Windows, но в некоторых случаях лучшего варианта как использование операционной системы Linux не найти. До некоторого времени я тоже думал, что Linux это как-то по не нашему, а когда столкнулся с этой ОС, я был просто приятно удивлен.

Теперь перейдем непосредственно к основам Linux Server. Для примера мы будем использовать дистрибутив Linux Ubuntu Server 10.10.

Основные настройки Linux Server

Описывать процесс установки Ubuntu Server 10.10. я не буду, так как он не сложней, а может даже проще чем установка Windows, единственное, что попрошу сделать в процессе установки, это при «Выборе устанавливаемого программного обеспечения» отметить установку «OpenSSH Server». Это для того, чтобы Вы в дальнейшем могли подключаться к этому компьютеру удаленно с помощью ssh клиента (например, PuTTY). И при этом Вы будете иметь полный доступ к операционной системе с любого компьютера Вашей сети, так как к серверу обычно монитор не цепляют и сам сервер располагается в специально выделенной комнате для серверов (серверной).

В окне «Настройка учетных записей пользователей и паролей» введите свой логин и задайте ему пароль.

После установки Вы впервые загружаетесь, и перед Вашими глазами появляется консоль управления ОС. Для начала введите логин нажмите ввод, а потом пароль, для того чтобы войти в саму ОС. Вы войдете в систему под только что созданным пользователем, который не имеет права суперпользователя root.

Настройка пользователей в Linux

ROOT – стандартный суперпользователь ОС Linux, который имеет максимальные права. Кстати в отличие от Windows, в которой права администратора не самые высокие (есть еще системные), а вот права root самые высокие и если Вы работаете под root-ом и выполняете какие-либо действия, Вас никто не будет спрашивать «Вы действительно хотите сделать это?» как в Windows например, а сразу скажем, убьете систему, без всяких там вопросов. Но, так или иначе, нам сначала необходимо активировать этого пользователя, потому что в дальнейшем нам будут необходимы права суперпользователя (Совет: всегда работайте под обычным пользователем, пока не потребуется перейти в режим root-а), по умолчанию root отключен. Активация учетной записи root делается следующим образом, просто задаем пароль для root.

Читайте также:  How to use git bash linux

Система попросит вести пароль пользователя, под которым Вы работаете, а только потом Вы введете новый пароль для будущего root и повторите его.

Раз мы заговорили о пользователях, то давайте научимся создавать их. Делается это так.

  • sudo – утилита, предоставляющая пользователю некоторые административные привилегии;
  • useradd – утилита, добавляющая пользователя в систему;
  • -d – опция установки домашней директории для пользователя;
  • /home/testuser – путь домашней директории;
  • -m – опция создания домашней директории;
  • testuser – название нашего нового пользователя.

Теперь задаем пароль для нового пользователя.

Настройка сети в Linux

Теперь, когда мы немного разобрались с пользователями, нам необходимо настроить сеть, вполне возможно, что это уже сделал DHCP сервер, но быть может, Вы хотите задать статические ip адреса, адреса шлюзов и DNS (что в принципе для сервера естественно).

Для этого редактируем следующий файл.

  • nano – это стандартный редактор linux;
  • interfaces – файл, отвечающий за конфигурацию сети.

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

Здесь eth0 — это Ваше сетевое подключение, их может быть много в зависимости от того, сколько у Вас сетевых карт, Static говорит о том, что это статический ip адрес, если бы это был динамический, то вместо static было указанно DHCP. Ну а остальное, наверное, все понятно.

  • Address – ip адрес компьютера;
  • Netmask – маска подсети;
  • Gateway — шлюз по умолчанию.

Сохраните файл путем нажатия сочетания клавиш ctrl+o и затем выходите из редактора ctrl+x.

Теперь необходимо присвоить DNS сервер, это делается путем редактирования следующего файла.

Впишите или измените следующее.

Где, 192.168.1.100 и 192.168.1.200 адреса наших DNS серверов, если у Вас только один dns сервер, то указывайте только одну строку.

Когда мы все настроили, требуется перезапустить наши сетевые интерфейсы, делается это следующим образом.

Установка программ в Linux Server

В Linux программы устанавливаются совсем по-другому, чем в Windows, поэтому те знания, которые Вы имели при работе с Windows, Вам здесь не помощники. В Linux все программное обеспечение хранится в Репозитариях – это своего рода хранилище пакетов программ специальных для Linux, которое располагается в Интернете, и находится в свободном онлайн распространении, или на компакт дисках. Для того чтобы обновить свои репозитарии (уже в установленной ОС Linux), Вам необходимо выполнить следующую команду (при условии, что у Вас подключен Интернет).

Теперь, когда мы обновили стандартные репозитарии можно что-нибудь установить, предлагаю установить файловый менеджер, один из самых распространенных в Linux это — Midnight Commander (MC). Есть небольшое сходство с FAR-ом, который используется в Windows. Программы в серверных Linux устанавливаются следующим образом.

Где, mc и есть наша программа, которую мы хотим установить, т.е. наш файловый менеджер Midnight Commander.

После установки можете испробовать данную программу, запускаются она просто, введите в консоли название программы, т.е. mc и нажмите ввод.

Я думаю для основы этого достаточно, в следующих статьях (Основные команды терминала Linux Ubuntu Server) будем уже разговаривать более конкретно про настройки каких-либо сервисов (демонов). А пока на этом все.

Источник

Установка и настройка Ubuntu 20.04 Server

Ubuntu 20.04 LTS. Что нового?

Ubuntu — популярный дистрибутив Linux, который отличается стабильностью, и большим сообществом, благодаря чему стабильные релизы дистрибутивов выходят в срок и имеют продолжительный срок официальной поддержки. Окончание публичной поддержки Ubuntu 20.04 «Focal Fossa» датировано апрелем 2025 года, а приватной 2030 года.

Минимальный требования к ресурсам Ubuntu 20.04 Server Live: 1CPU, 1024Mb RAM и 3GB свободного дискового пространства. Особых отличий Ubuntu 20.04 Server Live от Ubuntu 20.04 Desktop нет, оба используют один и тот же репозиторий, ядро имеет ту же конфигурацию, но в исталяторе серверной версии «из коробки» не предусмотрено графическое окружение и программное обеспечение характерное для настольных версий.

Что нового в Ubuntu 20.04? Стоит отметить свежее ядро Linux Kernel 5.4, повышающее производительность и безопасность сервера и некоторые его особенности:

Читайте также:  Смена имени файла linux

1. В версии 5.4 улучшен Lockdown. Это режим блокировки ядра, который ограничивает доступ пользователя root различными частями функционала ядра, что будет полезно администраторам, которые занимаются его тюнингом. Таким образом, вредоносное п.о, получившее права root, не сможет выполнить свой код и на уровне ядра.

2. Доступен высокопроизводительный драйвер virtio — virtio-fs. Файловая система virtio-fs ускоряет обмен данными между хостом и гостевой системой. Предусмотрен проброс каталогов между ними с более высокой производительностью и совместимостью, чем если бы было использовано, например, NFS.

3. Fs-verity позволяет верифицировать подлинность и целостность файлов по хэшам на уровне файловой системы.

4. Доступен модуль dm-clone, позволяющий клонировать существующее блочное устройство. Например, есть блочное устройство доступное в режиме чтения, модуль позволит создать локальную копию, при этом допустима запись во время процесса клонирования.

5. Реализована защита, запрещающая запись в активные файлы подкачки.

6. Включена поддержка exFAT от Microsoft.

7. Флаги MADV_COLD и MADV_PAGEOUT позволяют определить, какие данные в памяти не критичны для работы процесса. Они перемещают эти данные в SWAP освобождая память.

8. Алгоритма сжатия ядра Linux LZ4 и загрузочного образа initramfs позволяет сократить время загрузки операционной системы.

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

Кроме того, в Ubuntu 20.04 реализована полная поддержка Кubernetes 1.18 (MicroK8s и kubeadm), при установке доступны Prometheus, Docker, NextCloud и многое другое. Так же в Ubuntu 20.04 улучшена поддержка ZFS.

Установка Ubuntu 20.04 Server

Получить установочный образ можно на официальном сайте разработчиков. Создав загрузочный флеш накопитель приступим к установке. Выберите язык:

На следующем этапе будет предложено использовать действительный инсталятор, или обновить его. Обновление происходит в фоновом режиме и занимает не более 10 секунд, обновите его:

Выберите раскладку клавиатуры. Указывайте везде English:

Настройте сеть. По умолчанию, получение IP адреса настроено по DHCP. В нашем примере мы будем использовать статический IP адрес. Используя интуитивно понятную навигацию, заполните необходимые поля

Если доступ в интернет у вас осуществляется через proxy-сервер, укажите его:

Далее, установщик предложим вам ближайшее зеркало (Mirror), исходя из вашего регионального расположения. Оставьте предложенное по умолчанию, или укажите свой:

На этом этапе будет предложено разметить дисковое пространство. Выбрав «Use an entire disk» установщик сам разметит диски в автоматическом режиме. В зависимости от задач, вы можете выполнить разбивку разделов на собственное усмотрение, выбрав «Custom storage layout»:

Следующий пример для наглядности, выносить даздел boot отдельно нет необходимости, вы можете все отдать под корень «/», что будет равнозначно «Use an entire disk». Вы можете сделать отдельным разделом boot или swap, выбрать формат файловой системы. Так же есть возможность создания LVM разделов. Меню интуитивно понятное:

Проверьте внимательно, все ли настроено как нужно и нажмите Done

Выберите «Continue» для подтверждения настроек:

Укажите имя сервера и пользовательские данные для доступа к серверу. Вы можете выбрать любого пользователя кроме «root» и «admin», которые зарезервированы системой. Так же придумайте сложный пароль, он должен быть не менее 10 символов, включать в себя строчные и заглавные символы латинского алфавита, а так же цифры и спецсимволы:

Отметьте установку OpenSSH Server, для возможности удаленного подключения к нему, и нажмите «Done»:

Перед вами появится длинный список того что можно установить «из коробки». Очень интересный этап, здесь доступна и интеграция с Kubernetes 1.18, etcd, интеграция с Google Cloud, Postgresql10, Prometheus и много чего другого. Выбирать компоненты для установки нужно осознанно, при условии, что вам это действительно необходимо для задач.

Подтвердите «Done» и перед вами появится консоль установки в интерактивном режиме:

По окончанию установки, внизу интерактивной консоли появится «Reboot». Извлеките носитель с установщиком и выполните перезагрузку сервера.

Первоначальная перезагрузка займет более продолжительное время, чем это будет в дальнейшем. Будут инициализированы службы snapd, выполнится инициализация устройств cloud-init и прочее. Все зависит от того, каким образом устанавливается Ubuntu, на гипервизоре, или baremetall. По окончанию вы увидите окно аутентификации в систему. Так же, сервер будет доступен по ssh.

Настройка сервера

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

Подключение к серверу по ssh

Первое, на что стоит обратить внимание, это то, что в Ubuntu пользователь root отключен от аутентификации. Это выполнено с точки зрения безопасности. Подключение к серверу происходит по имени пользователя, который указан при установке:

Чтобы попасть в режим суперпользователя, введите следующую команду, которая запросит пароль пользователя user и переключит в жежим суперпользователя:

Если по каким-то причинам вы хотите разрешить доступ пользователя root при подключении по ssh, то смените для него пароль:

Читайте также:  Горячие клавиши windows 10 отключить клавиатуру

Затем в конфигурационном файле /etc/ssh/sshd_config раскоментируйте строку PermitRootLogin указав значение yes:

Однако, в целях безопасности сервера, доступ по логину root лучше не предоставлять.

Настройка сетевых интерфейсов

Начиная с Ubuntu 18.04 настройка сетевых интерфейсов происходит не в привычном каталоге /etc/network/interfaces как это реализовано в Debian-подобных дистрибутивах, а в каталоге /etc/netplan/. После установки ОС, в нем будет сгенерирован конфигурационный файл 00-installer-config.yaml

Если конфигурационный файл по какой-то причине пуст, сгенерируйте го:

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

Конфигурационный файл имеет следующий вид:

Он имеет формат yaml и чувствителен регистру. При конфигурации файлов данного формата табуляция недопустима. Только четная последовательность пробелов и структура наследования директив, иначе, вы получите синтаксическую ошибку.

В нашем примере, сетевой интерфейс имеет название eth0, но при инсталляции Ubuntu он имел название enp0s8. Переименовать в конфиге сетевой интерфейс недостаточно. Так же следует править загрузчик grub:

найдите и отредактируйте значение:

Удаление ненужных компонентов

В зависимости от того на чем вы устанавливали сервер, Ubuntu может без вашего ведома инициализировать некоторые компоненты которые с одной стороны полезны, с другой стороны нет, если использование их не планируется. В нашем примере мы устанавливали виртуальный сервер на гипервизор Proxmox, Ubuntu без нашего ведома инициализировала службу cloud-init. Cloud-init представляет собой сценарий активации и инициализации виртуальных машин, который широко применяется для OpenStack и других облачных технологий с помощью скриптов и манифестов. Можно провести параллели с Terraform. Это гибкая и полезная вещь. Однако, если специфика вашей работы не предусматривает автоматизированный деплой виртуальных машин в гипервизор или облако, удалить его можно следующим образом.

Пакетный менеджер snap

Давайте так же, командой lsblk отобразим наши дисковые устройства:

Начиная с версии 16.04, Ubuntu все настойчивей пытается продвинуть менеджер управления пакетами snap. Приведем краткое объяснение с официального сайта разработчиков:

«snap пакеты Ubuntu содержат саму программу, а также все ее зависимости. Это имеет несколько преимуществ перед обычными deb или rpm пакетами, обрабатывающими зависимости. А главное, из них — разработчик может быть уверен что нет никаких регрессий из-за изменений версий библиотек в системе»

Snap это удобная вещь, и мы рекомендуем с ним ознакомиться, документация Ubuntu довольно информативна как на русскоязычных, так и на англоязычных ресурсах.

Отобразим список установленных пакетов, которые установились при инсталляции:

Если нам что-то не нужно, удалим:

Добавить пакет можно следующим образом:

Обновить все пакеты:

Обновить определенный пакет:

Посмотреть список доступных пакетов:

Однако, стоит заметить, сейчас не так много snap пакетов. С полным перечнем вы можете ознакомится на сайте разработчиков https://snapcraft.io/ Вместо snap можете использовать пакетный менеджер apt. Если у вас snapd не установлен, установить его можно следующим образом:

Подключение swap раздела и настройка кеширования

Для начала убедитесь, что он не подключен:

Если список пуст, создайте файл подкачки, например 2Gb. Измените права, и активируйте его. Порядок команд следующий:

Что бы раздел swap после автозагрузки примонтировался автоматически, добавьте о нем информацию в /etc/fstab

Примечание: перед правкой fstab рекомендуется сделать его резервную копию. Если вы допустите какую либо ошибку, сервер может «уйти в себя» при перезагрузке.

Настроим swappiness. Параметр vm.swappiness по умолчанию имеет значение 60, и контролирует процент свободной памяти. Он контролирует значение, после которого начнется активный сброс данных в swap. Значение «60» означает следующее: 100-60=40%. Другими словами, при загрузке ОЗУ более чем 40%, данные начнут кешироваться в swap. Не существует оптимального значения, он обусловлен только конфигурацией вашего сервера. Если ОЗУ достаточно, это значение можно уменьшить следующими командами:

В конце файла /etc/sysctl.conf добавьте следующую строку:

Настройте кеширование. Измените параметр vfs_cache_pressure, отвечающий за скорость удаления индексов из кеша. По умолчанию это значение равно 100. Так как обращение к индексам довольное частое, это значение вы можете уменьшить:

В конце файла /etc/sysctl.conf добавьте следующую строку:

Опционально, не будет лишним удалить поддержку IPv6. Даже если вы этот протокол не используете, некоторое программное обеспечение все равно его прослушивает и иногда случаются сбои в его работе:

В конце файла /etc/sysctl.conf добавьте следующую строку, в зависимости от интерфейсов:

Заключение

В данном обзоре мы рассмотрели первоначальную настройку и оптимизацию Ubuntu 20.04. Так же рекомендуем ознакомиться со статьей «Как обеспечить безопасность Linux сервера» и другими статьями нашего блога, в котором рассмотрены вопросы администрирования операционных систем и различных приложений. Для наших клиентов облачного VPS хостинга, мы создали готовый шаблон, с помощью которого вы можете установить Ubuntu 20.04 в автоматическом режиме и уже несколько минут приступить к работе. Наша круглосуточная служба технической поддержки поможет с его базовой настройкой, если у вас возникнут сложности.

Источник

Оцените статью