Настройка VPS: полное руководство для начинающих

Настройка VPS: полное руководство для начинающих

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

Вот пошаговое руководство.

Этап 0: Получение доступа к VPS

После заказа VPS у хостинг-провайдера (Datacheap.ru, DigitalOcean, Vultr, и т.д.) вы получите на email данные для доступа:

·        IP-адрес вашего сервера

·        Логин (обычно root)

·        Пароль (или закрытый SSH-ключ, если вы его предоставили)


Этап 1: Первое подключение и базовая безопасность

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

На Windows: Используйте программу PuTTY или встроенный SSH-клиент в Windows 10/11 (командная строка/PowerShell).
На Linux/macOS: Используйте терминал.

bash

ssh root@IP_АДРЕС_ВАШЕГО_СЕРВЕРА

Система запросит пароль. При первом подключении спросит о доверии к fingerprint — соглашайтесь.

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

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

Для Ubuntu/Debian:

bash

apt update && apt upgrade -y

Для CentOS/RHEL/AlmaLinux:

bash

dnf update -y

# или для старых версий

yum update -y

1.2. Создание нового пользователя (ОБЯЗАТЕЛЬНО)

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

bash

adduser username  # Вместо 'username' введите ваше имя пользователя

usermod -aG sudo username  # Добавляем пользователя в группу sudo (Ubuntu/Debian)

# Для CentOS/AlmaLinux используйте:

# usermod -aG wheel username

Теперь можно выйти из сессии root (exit) и подключаться под новым пользователем:
ssh username@IP_АДРЕС_ВАШЕГО_СЕРВЕРА

1.3. Настройка аутентификации по SSH-ключу (ОЧЕНЬ РЕКОМЕНДУЕТСЯ)

Пароли можно подобрать, а криптографические ключи — практически нет.

1. Сгенерируйте ключ на своем компьютере (если у вас его еще нет):

bash

ssh-keygen -t ed25519

Ключи сохранятся в ~/.ssh/id_ed25519 (закрытый) и ~/.ssh/id_ed25519.pub (открытый).

2. Скопируйте открытый ключ на сервер:

bash

ssh-copy-id username@IP_АДРЕС_ВАШЕГО_СЕРВЕРА

Теперь вы сможете заходить на сервер без пароля.

3. Настройте SSH-демон для большей безопасности.
Откройте файл конфигурации:

bash

sudo nano /etc/ssh/sshd_config

Найдите и измените следующие строки:

bash

PermitRootLogin no      # Запрещаем вход под root

PasswordAuthentication no   # Отключаем аутентификацию по паролю

ВНИМАНИЕ! Убедитесь, что вы скопировали свой SSH-ключ до отключения паролей, иначе вы потеряете доступ к серверу!

Перезагрузите SSH-сервис:

bash

sudo systemctl reload ssh

# или sudo systemctl reload sshd

1.4. Настройка базового фаервола (UFW)

UFW (Uncomplicated Firewall) — простой фронтенд для iptables.

Для Ubuntu/Debian:

bash

sudo apt install ufw

Настройка правил:

bash

sudo ufw allow OpenSSH  # Разрешаем SSH-подключения (ОБЯЗАТЕЛЬНО!)

sudo ufw allow 80/tcp   # Разрешаем HTTP (для веб-сервера)

sudo ufw allow 443/tcp  # Разрешаем HTTPS (для защищенного веб-сервера)

sudo ufw enable     # Включаем фаервол

Проверьте статус: sudo ufw status


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

Теперь установим то, что нужно для работы веб-проектов.

2.1. Веб-сервер (Nginx или Apache)

Nginx (более современный и производительный для статики):

bash

sudo apt install nginx -y

sudo systemctl enable nginx

sudo systemctl start nginx

Теперь в браузере перейдите по IP-адресу вашего сервера. Вы должны увидеть приветственную страницу Nginx.

Apache:

bash

sudo apt install apache2 -y

sudo systemctl enable apache2

sudo systemctl start apache2

2.2. База данных (MySQL или PostgreSQL)

MySQL:

bash

sudo apt install mysql-server -y

sudo mysql_secure_installation  # Запустит скрипт базовой настройки безопасности

2.3. Язык программирования (PHP, Python, Node.js)

PHP (для веб-приложений):

bash

sudo apt install php-fpm php-mysql -y

Node.js:
Лучше устанавливать через менеджер версий nvm.

bash

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | bash

# Перезапустите терминал или выполните: source ~/.bashrc

nvm install --lts


Этап 3: Настройка часового пояса и сервиса времени

Чтобы время на сервере было точным.

bash

sudo timedatectl set-timezone Europe/Moscow  # Укажите ваш часовой пояс

sudo apt install chrony -y  # Установка современного NTP-клиента

sudo systemctl enable chrony


Этап 4 (Опционально): Настройка доменного имени

1.     Купите домен у регистратора.

2. В панели управления доменом настройте A-записи, указывающие на IP-адрес вашего VPS:

o @ -> IP_ВАШЕГО_СЕРВЕРА

o www -> IP_ВАШЕГО_СЕРВЕРА

Изменения DNS могут распространяться от нескольких минут до 24 часов.


Этап 5: Развертывание вашего приложения

Это тема для отдельного большого руководства, но общий принцип:

1.     Склонируйте ваш код (например, из Git) в папку, обычно /var/www/.

2.     Настройте виртуальный хост в Nginx/Apache, чтобы он указывал на папку с вашим приложением.

3.     Убедитесь, что права доступа к файлам и папкам корректны.

4.     Перезагрузите веб-сервер.

Пример минимального конфига для Nginx (/etc/nginx/sites-available/your_domain):

nginx

server {

listen 80;

server_name your_domain.com www.your_domain.com;

root /var/www/your_project;

index index.html index.php;

location / {

     try_files $uri $uri/ =404;

}

# Для PHP-приложений (например, WordPress)

location ~ \.php$ {

     include snippets/fastcgi-php.conf;

     fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;

}

}

Активируйте конфиг и перезагрузите Nginx:

bash

sudo ln -s /etc/nginx/sites-available/your_domain /etc/nginx/sites-enabled/

sudo nginx -t  # Проверить синтаксис конфига

sudo systemctl reload nginx


Полезные команды для мониторинга

·        htop — мониторинг процессов и ресурсов (установить: apt install htop).

·        df -h — просмотр свободного места на дисках.

·        free -h — просмотр использования оперативной памяти.

·        nethogs — просмотр трафика по процессам (установить: apt install nethogs).

Что дальше?

·        Резервное копирование: Настройте автоматическое создание бэкапов (например, через cron и rsync).

·        Мониторинг: Установите Prometheus, Grafana или более простые решения типа Netdata.

·        SSL-сертификаты: Обязательно настройте HTTPS с помощью бесплатных сертификатов от Let's Encrypt (используйте certbot).

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


   25.11.2025 15:52:31
Автор статьи:
Краснов Эрнест Маркович ©
ЕЩЕ ПО ТЕМЕ