При работе с виртуальным выделенным сервером (VPS) на базе Linux важно правильно его настроить для обеспечения безопасности, производительности и стабильности. В этой статье мы рассмотрим пошаговую настройку Linux VPS с нуля: от подключения к серверу до установки основных сервисов и оптимизации.
Материал подойдет как новичкам, так и опытным администраторам, желающим систематизировать знания. Мы разберем базовые команды, настройку SSH, установку веб-сервера, файрвола и других важных компонентов.
Данная информация предназначена для услуг: VPS хостинг или Облачный хостинг
1. Подключение к серверу через SSH
Первым шагом после получения доступа к VPS является подключение через SSH (Secure Shell).
1.1. Основные команды для подключения
Для подключения к серверу используйте команду:
ssh username@server_ip -p port
-
username
— имя пользователя (обычноroot
при первом подключении). -
server_ip
— IP-адрес вашего сервера. -
port
— порт SSH (по умолчанию 22, но может быть изменен в целях безопасности).
Пример:
ssh root@192.168.1.1 -p 22
1.2. Настройка SSH для безопасности
Рекомендуется изменить стандартный порт SSH и запретить вход под root
:
-
Откройте конфигурационный файл SSH:
nano /etc/ssh/sshd_config
-
Измените параметры:
Port 2222 # Замените 22 на другой порт
PermitRootLogin no # Запрет входа под root
PasswordAuthentication no # Отключение входа по паролю (только по ключу) -
Перезапустите SSH:
systemctl restart sshd
1.3. Генерация SSH-ключей
Для безопасного входа лучше использовать SSH-ключи:
ssh-keygen -t rsa -b 4096
Ключи сохранятся в ~/.ssh/id_rsa
(приватный) и ~/.ssh/id_rsa.pub
(публичный).
2. Обновление системы и установка базовых пакетов
После подключения обновите систему:
apt update && apt upgrade -y # Для Debian/Ubuntu
yum update -y # Для CentOS/RHEL
Установите полезные утилиты:
apt install -y curl wget nano htop git ufw
3. Настройка пользователей и прав
3.1. Создание нового пользователя
adduser newuser
usermod -aG sudo newuser # Добавление в группу sudo (Debian/Ubuntu)
usermod -aG wheel newuser # Для CentOS/RHELsudo apt-get update
3.2. Настройка sudo без пароля (опционально)
Откройте файл:
visudo
Добавьте строку:
newuser ALL=(ALL) NOPASSWD: ALLsudo apt-get update
4. Установка и настройка файрвола (UFW)
UFW (Uncomplicated Firewall) — простой инструмент для управления iptables.
4.1. Активация UFW
ufw enable
ufw default deny incoming # Блокировать все входящие подключения
ufw default allow outgoing # Разрешить исходящие
ufw allow 2222/tcp # Разрешить SSH (если изменили порт)
ufw allow 80/tcp # HTTP
ufw allow 443/tcp # HTTPS
4.2. Проверка правил
ufw status
5. Установка веб-сервера (Nginx/Apache)
5.1. Установка Nginx
apt install -y nginx
systemctl start nginx
systemctl enable nginx
Проверьте статус:
systemctl status nginx
5.2. Установка Apache
apt install -y apache2
systemctl start apache2
systemctl enable apache2
6. Установка базы данных (MySQL/MariaDB)
6.1. Установка MariaDB
apt install -y mariadb-server
mysql_secure_installation # Настройка безопасности
6.2. Создание базы данных и пользователя
CREATE DATABASE dbname;
CREATE USER 'user'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON dbname.* TO 'user'@'localhost';
FLUSH PRIVILEGES;
7. Установка PHP
apt install -y php-fpm php-mysql
systemctl restart nginx
Проверьте версию PHP:php -v
8. Мониторинг сервера
8.1. Установка htop
apt install -y htop
Запустите:
htop
8.2. Установка и настройка Fail2Ban
apt install -y fail2ban
systemctl enable fail2ban
systemctl start fail2ban
9. Резервное копирование
9.1. Ручное копирование
tar -czvf backup.tar.gz /var/www/html
9.2. Автоматизация через cron
Откройте crontab -e
и добавьте:
0 3 * * * tar -czvf /backups/backup_$(date +\%Y\%m\%d).tar.gz /var/www/html
10. Оптимизация сервера
10.1. Настройка SWAP
fallocate -l 2G /swapfile
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile
echo '/swapfile none swap sw 0 0' >> /etc/fstab
10.2. Оптимизация Nginx
Отредактируйте /etc/nginx/nginx.conf
:
worker_processes auto;
worker_connections 1024;
keepalive_timeout 15;
Заключение
Мы рассмотрели базовые шаги по настройке Linux VPS: от подключения до установки веб-сервера, базы данных и оптимизации. Дальнейшие действия зависят от ваших задач: развертывание CMS, настройка брандмауэра или мониторинга.
Следуя этим инструкциям, вы получите безопасный и производительный сервер, готовый к работе.