Настройка VPS на Ubuntu 24.04 включает ряд последовательных шагов, начиная с первичного подключения по SSH и обновления системы, до установки и конфигурирования веб-сервера (Nginx или Apache), базы данных (PostgreSQL или MySQL), а также обеспечения базовой безопасности с помощью брандмауэра UFW и инструмента Fail2ban. Этот процесс позволяет создать надежную и производительную платформу для размещения веб-приложений и сервисов. Важно следовать всем этапам, чтобы обеспечить стабильную работу и защиту вашего сервера.
Подготовка VPS и Первоначальная Настройка
Первым шагом после получения доступа к вашему VPS на Ubuntu 24.04 является установление безопасного соединения и подготовка системы к дальнейшей работе. Это включает обновление пакетов, создание нового пользователя с ограниченными привилегиями и настройку базового брандмауэра.
Подключение по SSH
Для управления VPS используется протокол SSH (Secure Shell). Вам потребуется IP-адрес вашего сервера, имя пользователя (обычно root) и пароль или SSH-ключ. На Linux или macOS используйте терминал, на Windows — PuTTY или встроенный SSH-клиент PowerShell.
ssh root@ВАШ_IP_АДРЕСПосле успешного подключения вы увидите командную строку вашего сервера. В 2026 году использование SSH-ключей вместо паролей остается стандартом безопасности, значительно повышающим защиту от брутфорс-атак.
Обновление Системы и Создание Нового Пользователя
После первого входа необходимо обновить все пакеты до актуальных версий, чтобы обеспечить стабильность и безопасность. Ubuntu 24.04 LTS, выпущенная в апреле 2024 года, регулярно получает обновления безопасности.
sudo apt update && sudo apt upgrade -yСоздание нового пользователя с ограниченными привилегиями и предоставление ему прав sudo — это критически важный шаг для безопасности. Работа под root пользователем повышает риски случайных ошибок и атак.
sudo adduser имя_пользователяsudo usermod -aG sudo имя_пользователяВыйдите из сессии root и войдите под новым пользователем:
exitssh имя_пользователя@ВАШ_IP_АДРЕСНастройка Брандмауэра UFW
UFW (Uncomplicated Firewall) — это простой в использовании интерфейс для управления iptables, встроенного брандмауэра Linux. Он позволяет контролировать входящий и исходящий трафик. По умолчанию все входящие соединения запрещены, кроме тех, что явно разрешены.
sudo ufw allow OpenSSHsudo ufw enableПодтвердите активацию, нажав y. Затем, чтобы убедиться, что SSH-соединение останется активным, разрешите порт SSH (по умолчанию 22). Для веб-сервера также потребуется открыть порты 80 (HTTP) и 443 (HTTPS):
sudo ufw allow 80/tcpsudo ufw allow 443/tcpsudo ufw statusКоманда sudo ufw status покажет текущие правила брандмауэра, подтверждая, что разрешены SSH, HTTP и HTTPS.
Защита VPS: SSH и Fail2ban
Повышение безопасности вашего VPS на Ubuntu 24.04 включает в себя настройку SSH и установку Fail2ban для защиты от атак подбора паролей.
Безопасность SSH-доступа
Изменение порта SSH по умолчанию с 22 на другой, менее распространенный порт (например, 2222), значительно снижает количество автоматизированных атак. Это не панацея, но эффективная мера против «шума» в логах.
sudo nano /etc/ssh/sshd_configНайдите строку #Port 22, раскомментируйте ее (удалите #) и измените 22 на выбранный вами порт (например, 2222). Также рекомендуется отключить вход по паролю для root и разрешить только вход по SSH-ключам для других пользователей. После изменений перезапустите службу SSH:
sudo systemctl restart sshНе забудьте обновить правила UFW, чтобы разрешить новый порт SSH, прежде чем выходить из текущей сессии.
sudo ufw allow 2222/tcpsudo ufw delete allow 22/tcp # Если вы больше не используете порт 22Всегда проверяйте возможность подключения к новому порту SSH в новой сессии терминала, прежде чем закрывать текущую. Это предотвратит потерю доступа к серверу из-за неправильной настройки брандмауэра или SSH-демона.
Установка и Настройка Fail2ban
Fail2ban сканирует файлы журналов на наличие вредоносных IP-адресов, которые показывают признаки автоматизированных атак (например, многократные неудачные попытки входа). Он динамически блокирует эти IP-адреса с помощью правил брандмауэра.
sudo apt install fail2banПосле установки скопируйте файл конфигурации по умолчанию для создания собственного, чтобы избежать его перезаписи при обновлениях:
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.localОтредактируйте jail.local, чтобы включить защиту SSH и, возможно, изменить параметры блокировки:
sudo nano /etc/fail2ban/jail.localВ разделе [sshd] установите enabled = true. Вы можете изменить bantime (время блокировки) и findtime (период, в течение которого учитываются попытки) по своему усмотрению. После сохранения файла перезапустите Fail2ban:
sudo systemctl restart fail2banУстановка Веб-Сервера (Nginx или Apache)
Ваш выбор веб-сервера зависит от требований проекта и личных предпочтений. Nginx известен своей производительностью и эффективностью при работе со статическим контентом и как обратный прокси. Apache более гибок благодаря своей модульной архитектуре и широкой поддержке .htaccess.
Nginx: Легкость и Производительность
Nginx (произносится как «энджин-экс») часто используется для высоконагруженных сайтов и в качестве обратного прокси. Для установки Nginx на Ubuntu 24.04 выполните:
sudo apt install nginxПосле установки Nginx автоматически запустится. Проверьте его статус:
sudo systemctl status nginxВы должны увидеть статус «active (running)». Чтобы Nginx был доступен извне, убедитесь, что UFW разрешает HTTP и HTTPS трафик, как было настроено ранее. Посетите http://ВАШ_IP_АДРЕС в браузере, чтобы увидеть страницу приветствия Nginx.
Apache: Гибкость и Модульность
Apache HTTP Server — это проверенный временем веб-сервер, который широко используется благодаря своей гибкости и мощной системе модулей. Для установки Apache2:
sudo apt install apache2Как и Nginx, Apache2 должен запуститься автоматически. Проверить статус можно командой:
sudo systemctl status apache2Убедитесь, что UFW разрешает трафик на портах 80 и 443. Посетите http://ВАШ_IP_АДРЕС, чтобы увидеть страницу приветствия Apache.
Настройка Базы Данных (PostgreSQL или MySQL)
Для большинства веб-приложений требуется база данных. PostgreSQL и MySQL (или его форк MariaDB) являются двумя наиболее популярными реляционными СУБД.
PostgreSQL: Надежность для Сложных Приложений
PostgreSQL известен своей расширяемостью, надежностью и поддержкой сложных SQL-запросов. Он часто выбирается для критически важных систем и приложений, требующих высокой целостности данных.
sudo apt install postgresql postgresql-contribПосле установки PostgreSQL создайте нового пользователя базы данных и базу данных для вашего приложения:
sudo -i -u postgrescreateuser --interactive --pwprompt имя_пользователя_БДcreatedb имя_БД_приложения -O имя_пользователя_БДexitЭти команды позволят вам создать пользователя PostgreSQL и базу данных, а затем назначить созданного пользователя владельцем этой базы данных. Дополнительную информацию о конфигурации PostgreSQL можно найти на официальном сайте PostgreSQL.
MySQL: Популярный Выбор
MySQL (или его совместимый форк MariaDB) является одной из самых популярных баз данных для веб-приложений, особенно с PHP. Его простота использования и высокая производительность делают его отличным выбором для широкого круга проектов.
sudo apt install mysql-serverПосле установки рекомендуется запустить скрипт безопасности MySQL для установки пароля root, удаления анонимных пользователей и тестовой базы данных:
sudo mysql_secure_installationСледуйте инструкциям на экране. Затем войдите в консоль MySQL для создания новой базы данных и пользователя:
sudo mysqlCREATE DATABASE имя_БД_приложения CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;CREATE USER 'имя_пользователя_БД'@'localhost' IDENTIFIED BY 'СЛОЖНЫЙ_ПАРОЛЬ';GRANT ALL PRIVILEGES ON имя_БД_приложения.* TO 'имя_пользователя_БД'@'localhost';FLUSH PRIVILEGES;EXIT;Замените имя_БД_приложения, имя_пользователя_БД и СЛОЖНЫЙ_ПАРОЛЬ на свои значения.
Установка PHP и Дополнительных Компонентов
Для динамических веб-сайтов часто требуется PHP. Ubuntu 24.04 по умолчанию может поставляться с PHP 8.3 или более новой версией, что обеспечивает улучшенную производительность и новые функции.
Установка PHP-FPM для Nginx
Nginx не обрабатывает PHP-файлы напрямую, он передает их PHP-FPM (FastCGI Process Manager). Установите PHP-FPM и необходимые модули:
sudo apt install php-fpm php-mysql php-cli php-gd php-curl php-mbstring php-xml php-zipПосле установки PHP-FPM автоматически запустится. Теперь вам нужно настроить Nginx для использования PHP-FPM. Создайте файл конфигурации виртуального хоста для вашего сайта:
sudo nano /etc/nginx/sites-available/ваш_домен.confПример минимальной конфигурации Nginx с PHP-FPM:
server { listen 80; server_name ваш_домен www.ваш_домен; root /var/www/ваш_домен/public_html; index index.php index.html index.htm; location / { try_files $uri $uri/ =404; } location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php8.3-fpm.sock; }}Замените ваш_домен на имя вашего домена и php8.3-fpm.sock на актуальную версию PHP. Активируйте конфигурацию и перезагрузите Nginx:
sudo ln -s /etc/nginx/sites-available/ваш_домен.conf /etc/nginx/sites-enabled/sudo nginx -t # Проверка синтаксисаsudo systemctl reload nginxУстановка PHP для Apache
Для Apache установка PHP проще, так как он может быть интегрирован как модуль. Установите PHP и необходимые модули:
sudo apt install php libapache2-mod-php php-mysql php-cli php-gd php-curl php-mbstring php-xml php-zipApache автоматически включит модуль php. Вам может потребоваться изменить порядок обработки файлов, чтобы index.php обрабатывался до index.html. Отредактируйте файл dir.conf:
sudo nano /etc/apache2/mods-enabled/dir.confПереместите index.php в начало списка DirectoryIndex. Затем перезапустите Apache:
sudo systemctl reload apache2Развертывание Сайта и SSL/TLS
После настройки веб-сервера и базы данных можно приступать к развертыванию вашего сайта и обеспечению его безопасности с помощью SSL/TLS.
Создание Директории для Сайта
Для каждого сайта рекомендуется создавать отдельную директорию. Общепринятая практика — размещать файлы в /var/www/.
sudo mkdir -p /var/www/ваш_домен/public_htmlsudo chown -R $USER:$USER /var/www/ваш_домен/public_htmlsudo chmod -R 755 /var/www/ваш_доменПередайте владение директорией вашему пользователю и установите правильные права доступа. Теперь вы можете загружать файлы вашего сайта в /var/www/ваш_домен/public_html.
Настройка Виртуального Хоста
В предыдущих разделах мы уже коснулись настройки виртуального хоста для Nginx. Для Apache процесс аналогичен. Создайте файл виртуального хоста:
sudo nano /etc/apache2/sites-available/ваш_домен.confПример конфигурации для Apache:
<VirtualHost *:80> ServerAdmin webmaster@localhost ServerName ваш_домен ServerAlias www.ваш_домен DocumentRoot /var/www/ваш_домен/public_html ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined</VirtualHost>Активируйте хост и перезагрузите Apache:
sudo a2ensite ваш_домен.confsudo systemctl reload apache2Получение SSL-сертификата с Let's Encrypt
SSL/TLS-сертификаты шифруют трафик между браузером пользователя и сервером, что критически важно для безопасности и SEO. Let's Encrypt предлагает бесплатные сертификаты, которые можно автоматизировать с помощью Certbot.
sudo apt install certbot python3-certbot-nginx # или python3-certbot-apacheДля Nginx выполните:
sudo certbot --nginx -d ваш_домен -d www.ваш_доменДля Apache выполните:
sudo certbot --apache -d ваш_домен -d www.ваш_доменCertbot автоматически настроит ваш веб-сервер для использования SSL и установит задачу cron для автоматического продления сертификатов. Это обеспечивает постоянную защиту вашего сайта. Дополнительные сведения о Certbot доступны на официальной документации Certbot.
Для тех, кто ищет готовые решения или поддержку в управлении VPS, провайдеры, такие как Valebyte, предлагают управляемый VPS-хостинг, снимая часть нагрузки по администрированию.
Мониторинг и Обслуживание VPS
Регулярный мониторинг и обслуживание являются ключом к стабильной работе вашего VPS на Ubuntu 24.04. Эти меры помогут своевременно выявлять и устранять проблемы, а также поддерживать систему в актуальном состоянии.
Основные Инструменты Мониторинга
Для базового мониторинга ресурсов сервера можно использовать встроенные утилиты Linux:
htop(илиtop): Позволяет отслеживать использование CPU, памяти и запущенные процессы в реальном времени. Установитеhtopкомандойsudo apt install htop.df -h: Отображает информацию о занятом и свободном дисковом пространстве.free -h: Показывает использование оперативной памяти.journalctl -xe: Просмотр логов systemd, полезно для отладки системных служб.
Для более продвинутого мониторинга рассмотрите такие решения, как Prometheus + Grafana или Zabbix, которые предоставляют более глубокий анализ и визуализацию метрик сервера.
Автоматическое Обновление и Резервное Копирование
Автоматические обновления помогают поддерживать безопасность системы, своевременно устанавливая патчи. Настроить их можно с помощью unattended-upgrades:
sudo apt install unattended-upgradesdpkg-reconfigure --priority=low unattended-upgradesВыберите «Yes» при запросе. Это настроит автоматическую установку критических обновлений безопасности. Резервное копирование — это самый важный аспект обслуживания сервера. Без него вы рискуете потерять все данные в случае сбоя.
Рассмотрите следующие варианты резервного копирования:
rsync: Для синхронизации файлов и директорий на удаленный сервер или локальный диск.BorgBackupилиRestic: Современные, дедуплицирующие и зашифрованные инструменты для резервного копирования.- Снимки VPS (snapshots): Многие хостинг-провайдеры предлагают функцию создания снимков VPS, которая может быть использована как дополнительная мера.
Независимо от выбранного метода, убедитесь, что резервные копии создаются регулярно и хранятся в удаленном, безопасном месте. Подробные инструкции по настройке резервного копирования с использованием rsync можно найти в man-страницах rsync.





