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

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

Обновление сервера

В качестве примера настроим новый VDS на Timeweb. У провайдера есть удобная панель управления, через которую можно установить все необходимые параметры работы.

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

На Debian-подобных системах (например, Ubuntu) апдейты ставятся одной командой:

apt-get update && apt-get upgrade

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

На CentOS команда ещё короче:

yum update

Во время установки апдейтов будут появляться запросы на добавление новых пакетов. Чтобы подтвердить обновление, вводим букву «y» и нажимаем на клавишу Enter.

1000 рублей в подарок на производительные VDS от Timeweb

Закажи VDS, пополни баланс на 1000 рублей, и мы добавим еще столько же.
Активируй промокод hosting2go1000 в панели управления.

Заказать
Условия использования

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

По умолчанию на сервере создаётся root — пользователь с неограниченными правами. От его имени можно выполнять любые команды, в том числе те, которые способны полностью уничтожить данные на диске и сломать конфигурацию сервера. Чтобы обезопасить себя от таких последствий, создадим нового юзера с ограниченными правами.

В консоли выполняем команду

adduser username

Вместо «username» нужно вписать своё имя — оно может быть любым. Затем система предложит придумать новый пароль и заполнить некоторые другие сведения. Последнее — необязательный шаг, нажимаем на Enter, чтобы оставить строки пустыми. Главное, чтобы у нового пользователя были имя и пароль.

Пароль Unix

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

Выполняем в консоли команду

usermod -aG sudo username // Вместо username указываем своё имя

Теперь новый юзер может получить неограниченный доступ через утилиту sudo. Это делает управление сервером более безопасным. Более того, мы отключим пользователя root, чтобы исключить даже минимальную возможность его несанкционированного использования.

На CentOS-подобных системах порядок добавления юзера отличается незначительно.

adduser username //Добавление нового пользователя

passwd username //Добавление пароля

gpasswd -a username wheel //Передача root-прав

Генерирование ключей для подключения через SSH

Мы можем использовать логин и пароль нового пользователя для удалённого подключения через SSH. На Windows это делается с помощью бесплатной утилиты PuTTy, а на Linux и macOS — через стандартный терминал. Однако использование пароля — небезопасная практика, так как остаётся вероятность, что его могут подобрать. Чтобы исключить такую возможность, настроим подключение к серверу с помощью ключей.

Ключи SSH настраиваются на локальном компьютере, с которого вы затем будете подключаться к удалённому серверу. Если на нём стоит Linux или macOS, то все действия можно выполнить через терминал.

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

ssh-keygen

Нажимаем на Enter, чтобы сохранить ключи. По умолчанию они отправляются в папку ~/.ssh/. Заменять её не нужно. Система также предложит создать контрольную фразу для дополнительной защиты доступа, но делать это необязательно.

После сохранения файлов копируем публичный ключ:

ssh-copy-id username@IP-адрес сервера //Укажите свои имя пользователя и IP-адрес сервера

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

username@IP-адрес сервера //Укажите свои имя пользователя и IP-адрес сервера

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

На Windows подключение настраивается через утилиту PuTTy. Вместе с ней устанавливается PuTTYgen — в этой программе и генерируются SSH-ключи.

  1. Запускаем PuTTYgen и нажимаем на кнопку «Generate». Водим курсором по рабочему столу, чтобы создать уникальные ключи.
  2. Нажимаем «Save private key» для сохранения приватного ключа на локальном компьютере. Место хранения значения не имеет — позднее мы укажем его в настройках подключения.
  3. Копируем публичный ключ в буфер обмена.

Следующий этап — перенос публичного ключа на сервер. Некоторые хостеры предлагают удобную возможность вставки значения при настройке. Например, так можно сделать на Timeweb. При настройке конфигурации есть поле «SSH-ключ», куда нужно вставить публичную часть.

Создание нового сервера Timeweb

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

Запускаем программу PuTTy и подключаемся к VDS через SSH. Нам нужно ввести IP-адрес, логин и пароль — все эти данные хостер присылает в письме при создании VDS.

После подключения выполняем следующие команды:

mkdir ~/.ssh

chmod 0700 ~/.ssh

touch ~/.ssh/authorized_keys

chmod 0644 ~/.ssh/authorized_keys

Они создают файлы и настраивают права доступа к ним.

Следующий этап — вставка публичного ключа. Для этого выполняем команду:

cat > .ssh/authorized_keys

Затем щёлкаем по терминалу правой кнопкой мыши, чтобы вставить публичный ключ из буфера обмена. Для завершения ввода нажимаем сочетание клавиш Ctrl+D.

Последний шаг — настройка соединения. В программе PuTTy переходим к разделу Connection — SSH — Auth. Нажимаем на кнопку «Browse» и указываем путь к приватному ключу, который ранее сохранили на жёстком диске.

Теперь для подключения через SSH нам не нужен пароль. Мы просто вводим имя пользователя и IP-адрес сервера. Система проверки сопоставляет ключи и в случае совпадения открывает доступ к удалённому серверу с локального компьютера.

Настройка SSH-доступа

Чтобы дополнительно обезопасить наше подключение, запретим пользователю root доступ к VDS и заменим стандартный номер порта для SSH. Всё это можно сделать в конфигурационном файле sshd_config. Он отвечает как раз за настройку удалённого подключения по SSH.

На Ubuntu мы будем править файл sshd_config с помощью встроенного редактора nano. Подключаемся к серверу через SSH или запускаем консоль в панели управления VDS и выполняем команду:

nano /etc/ssh/sshd_config

Находим строку PermitRootLogin и заменяем значение «yes» на «no». Затем находим строку PasswordAuthentication и меняем значение «yes» на «no».

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

Напоследок находим строку Port и меняем номер — вместо стандартного 22 ставим другой, например, 54893. Рекомендуется выбирать значение из диапазона 49152-65535, чтобы исключить конфликты со службами и сервисами Linux.

Чтобы сохранить изменения, нажимаем сочетание клавиш Ctrl+X. Затем вводим букву «y» и нажимаем на Enter. Для применения конфигурации перезагружаем SSH:

sudo service ssh restart

На CentOS-подобных системах настройка выполняется аналогичным образом. Единственное отличие — вместо nano используется редактор vi.

Открываем конфигурационный файл для редактирования:

vi /etc/ssh/sshd_config

Меняем значения строк PermitRootLogin и PasswordAuthentication — было «yes», ставим «no». Также указываем другой номер порта.

Для сохранения изменений вводим в консоли команду «:x» и нажимаем на Enter. Затем перезагружаем SSH:

sudo systemctl reload sshd

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

Установка программного обеспечения

Самое популярное серверное программное обеспечение для размещения веб-сайтов и веб-приложений — LAMP. В этот пакет входят следующие элементы:

  • Linux — операционная система,
  • Apache — веб-сервер,
  • MySQL — система управления базами данных,
  • PHP — популярный язык программирования, используемый в бэкенде.

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

Ubuntu LAMP

Универсальный способ — установка и настройка компонентов через командную строку. Посмотрим, как это делается на Ubuntu.

Первый шаг — обновление списка доступных пакетов:

sudo apt-get update

Затем устанавливаем Apache:

sudo apt-get install apache2

Менеджер попросит подтвердить установку — вводим «y» и нажимаем на Enter.

Запускаем веб-сервер вручную (он может не запуститься автоматически):

sudo service apache start

Следующий этап — установка MySQL. Выполняем команду:

sudo apt-get install mysql-server

Подтверждаем установку и вводим пароль.

Затем устанавливаем PHP:

Снова соглашаемся с инсталляцией.

Затем проверяем, запущен ли сервер MySQL:

sudo service mysql status

Если в строке «Active» состояние «active (running)», то всё в порядке. Если нет, запускаем сервер вручную:

sudo service mysql start

Следующий этап — установка phpmyadmin:

sudo apt-get install phpmyadmin

Во время установки нужно выбрать веб-сервер. В нашем случае это Apache. Для перехода к нему используем стрелки, пробел и клавишу Tab. Для завершения настройки вводим пароль администратора базы данных.

После установки перезапускаем Apache:

sudo service apache2 restart

Получить доступ к панели phpmyadmin можно по адресу http://localhost/phpmyadmin. Для авторизации вводим логин и пароль, выбранные при установке.

Ещё одно популярное решение для VDS — веб-сервер Nginx. Он тоже устанавливается через консоль.

На Ubuntu достаточно выполнить одну команду:

sudo apt-get install nginx

На CentOS команды две:

sudo yum install epel-release //Добавили репозиторий EPEL

sudo yum install nginx //Установили Nginx

Для запуска веб-сервера выполняем команду

sudo systemctl start nginx

Это распространённая конфигурация для настройки VDS в качестве веб-сервера. Вам также может понадобиться панель управления — обычно её можно установить автоматически при настройке.

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

Hosting2go.ru