Регистрируйте домен в зоне .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

Наш телеграм

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

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

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

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

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

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

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

Как очистить кэш DNS?

Как очистить кэш DNS?

Скорее всего, ссылку на эту инструкцию вам предоставили сотрудники поддержки HostPro, тогда вы сразу...

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

Как установить Python на Linux

Как установить Python на Linux

Python – это универсальный язык программирования, используемый для широкого спектра задач, от веб-разработки до...

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

Как получить бэкап сайта и восстановить данные?

Как получить бэкап сайта и восстановить данные?

О том, что может привести к потере данных сайта, о нюансах бэкапов и их...

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