новий розіграш

Оберіть свій подарунок

Sale 20%

на продовження
вашого домену

Gift

безкоштовний .COM.UA.

Регистрируйте домен в зоне .KYIV.UA за 99 грн

Зарегистрировать

Начальная настройка сервера ubuntu

post thumbnail

Введение

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

Вход в систему под именем Root

Первоначально стоит проверить внешний IP-адрес сервера и данные доступа — пароль для подключения по SSH или, в случае подключения root-пользователя, закрытый ключ.

Подключаемся к серверу, авторизуясь под root-пользователем, используя команду:

ssh root@ip_сервера

В случае успешного подключения, на экране появится приветствие и основные сведения о системе.

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

Обновление системы

После установки сервера следует провести обновление всех его компонентов (ubuntu server настройка), так как установленные пакеты могут быть не последней версии и для обеспечения безопасности системы стоит провести обновление до последних версий.

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

apt update

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

apt list --upgradable

В случае, если нужно обновить конкретный пакет используем:

apt install название_пакета

Если надо обновить все доступные пакеты используем:

apt upgrade

Создание пользователя

Поскольку root-пользователь является Linux администратором с широкими привилегиями, использовать авторизацию под root-ом на постоянной основе считается небезопасным.
Поэтому рекомендуем создать другого пользователя с root-правами. Для этого в терминале выполните команду:

adduser имя пользователя

Далее нужно будет заполнить поле пароль и при потребности другую дополнительную информацию. Если вы не желаете заполнять эти поля нажмите Enter.

Предоставление привилегий администратора подразумевает доступ пользователя к команде sudo — используется перед командой, которую следует выполнить на правах администратора. Затем, для того чтобы предоставить новому пользователю привилегии администратора, добавим его в группу sudo, команда выполняется из-под root-пользователя:

usermod -aG sudo имя пользователя

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

Настройка брандмауэра ufw

Установка браднмауэра

Сервер Ubuntu использует брандмауэр UFW, чтобы разрешить трафик и подключения к ограниченному количеству сервисов. Используя его, есть возможность настроить базовый брандмауэр.

UFW (Uncomplicated Firewall) – утилита для управления iptables. Каждое приложение регистрирует свой профиль при установке UFW. Эти профили позволяют UFW по имени управлять приложениями.

Для примера, OpenSSH (сервис, отвечающий за подключение к серверу). Вы можете проверить это, выполнив команду:

ufw app list
Output
Available applications:
OpenSSH

Убедимся, что SSH-соединение разрешено:

ufw allow OpenSSH

Активировать брандмауэр можно выполнив:

ufw enable

Введите “y” и кликните ENTER. Можно увидеть, что SSH-соединения разрешены, путем ввода:

ufw status
Output
Status: active

To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)

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

Проверка доступа к новому пользователю

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

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

Подключение с помощью SSH возможно двумя способами: пароль или SSH-ключи. Дефолтный способ подключения по SSH, после установки, по паролю. Если вы планируете использовать как способ аутентификации SSH ключ, то нужно сгенерировать приватный и публичный ключи.

Генерация SSH ключа

Обратите внимание, что этот способ является более безопасным чем пароль. Генерация ключей происходит на локальной машине, с которой будут происходить подключения к серверу. Выполним команду:

cd

чтобы перейти в домашнюю папку пользователя, с которого будет происходить генерация. Чтобы сгенерировать ключи используйте следующую команду:

ssh-keygen -t rsa -f .ssh/myserver

Опция

-f .ssh/myserver

— указание пути сохранения ключа. Если её не использовать, то SSH-keygen сохранит ключ в файл по-умолчанию .ssh/id_rsa

Опционально можете ввести дополнительный пароль для ключей. Если в этом нет потребности нажмите Enter.

Добавление публичного SSH ключа на сервер

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

Первый способ: ssh-copy-id. На устройстве, где производили генерацию ключей выполните:

ssh-copy-id -i .ssh/myserver.pub имя_пользователя@ip_сервера

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

ssh -i .ssh/myserver имя_пользователя@ip_сервера

опция

-i .ssh/myserver

— указание на путь к ключу, к которому следует подключаться (надо подключаться, если при генерации задавали нестандартный путь).

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

mkdir ~/.ssh
chmod 700 .ssh

Внутри каталога .ssh создайте файл authorized_keys. Например, мы использовали для этого редактор vim:

vim ~/.ssh/authorized_keys

Поместите в него публичный ключ. Нажмите Shift : для выхода из редактора, и x, для сохранения внесенных изменений, кликаем ENTER чтобы подтвердить действие. Правим права для файла, чтобы разрешить доступ только владельцу. В терминале вводим команду:

chmod 600 ~/.ssh/authorized_keys

После внесенных изменений у вас будет возможность использовать SSH ключ для подключения к серверу.

Аутентификация по паролю

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

ssh имя_пользователя@ip_сервера

И вводим пароль созданного пользователя. Уточнение: для выполнения команды с правами администратора, требуется добавить sudo:

sudo команда

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

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

SNAP — пакет приложения Linux, который устанавливается на сервер без дополнительных зависимостей.

Snap-пакетами управляет демон snapd.

Для установки snapd используем:

root@server:~# apt install snapd

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

root@server:~# snap list

Для установки пакета вводим:

root@server:~# snap install docker

Для удаления ненужных пакетов используем:

root@server:~# snap remove docker

Чтобы обновить все существующие пакеты:

root@server:~# snap refresh

Для обновления определенного пакета:

root@server:~# snap refresh docker

Узнать лог выполненных действий:

root@server:~# snap changes

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

SWAP — часть дискового пространства, которое используется сервером в случае исчерпания свободной оперативной памяти (RAM). Проверим не подключен ли он:

root@server:~# swapon --show

или вторым способом:

root@server:~# free -h 
total used free shared buff/cache available 
Mem: 1.9G 168M 174M 3.1M 1.6G 1.6G 
Swap: 0B 0B 0B

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

df-h

Создаем файл размером 2GB:

root@server:~# fallocate -l 2G /swapfile

Выставляем корректные права на файл:

root@server:~# sudo chmod 600 /swapfile

Обозначаем созданный файл как файл подкачки:

root@server:~# mkswap /swapfile

Активируем файл подкачки:

root@server:~# swapon /swapfile

Проверяем корректность активации:

root@server:~# swapon —show 
root@server:~# free -h

Файл будет активен до перезагрузки сервера. Чтобы файл оставался активным и после перезагрузки сервера проделаем следующее:

Создадим копию файла до изменений:

cp /etc/fstab /etc/fstab_old

Потом выполним команду:

root@server:~# echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

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

По дефолту параметр vm.swappiness равен 60 (высчитывается как 100-60=40%), он отображает собой критическое значение, после которого данные будут сохраняться в swap. То есть, исходя из формулы представленной выше, при использовании ОЗУ больше чем на 40%, данные будут кэшироваться в swap. Этот параметр стоит устанавливать исходя из конфигураций сервера, на котором происходит настройка. Это значение можно изменять, в случае, если ОЗУ достаточно.

Проверяем текущее значение параметра:

cat /proc/sys/vm/swappiness

Уменьшаем его значение до 10:

root@server:~# sysctl vm.swappiness=10

В случае, если надо выполнить изменение в текущей сессии до перезагрузки сервера. Если требуется сохранить изменения и после перезагрузки сервера, в конце файла /etc/sysctl.conf допишите строку:

vm.swappiness=10

Дополнительно подкорректируем настройки параметра:

vfs_cache_pressure

который отвечает за скорость удаления из кэша индексов. По умолчанию значение установлено 100. Проверим текущее значение:

cat /proc/sys/vm/vfs_cache_pressure

Если к индексам довольно частое, это можно подкорректировать:

root@dedicated:~# sysctl vm.vfs_cache_pressure=50

— при необходимости установить ограничение до момента перезагрузки сервера

В конце файла

/etc/sysctl.conf

добавьте следующую строку:

vm.vfs_cache_pressure=50

при необходимости добавить изменения на постоянной основе.

Заключение

В этой статье мы выполнили основные необходимые манипуляции, для последующей установки ПО.

На нашем сайте вы можете выбрать самый быстрый TurboVPS-тариф с бесплатным администрированием 24/7 и ежедневными автоматическими бэкапами или выделенный сервер с высокой производительностью и быстрой памятью DDR4 — Intel® Xeon®

Telegram Hostpro

Наш телеграм

с важными анонсами, розыгрышами и мемами

Присоединиться

Возможно, вас заинтересует

Настройка поддержки HTTP / 2 Nginx в Ubuntu 20

Настройка поддержки HTTP / 2 Nginx в Ubuntu 20

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

Diana Honcharenko | Обновлено: 12.07.2024

Установка и настройка ownCloud на Ubuntu 22.04

Установка и настройка ownCloud на Ubuntu 22.04

OwnCloud – это мощная программная платформа с открытым кодом, которая позволяет создавать собственные облачные...

Hostpro Company | Обновлено: 27.06.2024

Сбор писем из других аккаунтов на Gmail

Сбор писем из других аккаунтов на Gmail

Электронная почта от Google давно стала привычным выбором для большинства пользователей. Но многие юзают...

Viktoriya Mazur | Обновлено: 14.06.2024

Как проверить PING?

Как проверить PING?

В этой статье вы узнаете, что такое ping (пинг), как он работает, а также...

Hostpro Company | Обновлено: 14.05.2024