Как собрать свой сервер и запустить на нём сайт: от винта до DNS

Держать сайт на виртуальном хостинге — это как покупать готовый ПК в офисе. Скучно, нет свободы и запаха паяльника. Другое дело — свой сервер. Железяка, которая гудит в соседней комнате (или на стойке в ЦОД), и ты контролируешь каждый бит трафика.

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

Часть 1. Выбираем железо: не перепутайте с ПК для игр

Сервер — это не «компьютер под столом». Требования другие:

Материнская плата и процессор

Вам не нужна частота 5 ГГц. Вам нужны потоки и ECC-память.

  • Начальный уровень (дома/офис): Intel Xeon E3-12xx v5/v6 или AMD Ryzen Pro (поддерживают ECC, если мать разрешит). Или современный Intel Atom C3000 (встроенный 10GbE, низкое TDP).
  • Для ЦОДа: Supermicro с чипсетом C246 или Intel C621. Два процессора? Только если вы делаете биржу или видеохостинг.

Совет: Берите б/у Xeon из корпоративных выбросов на eBay/Aвито. За 10-15 тыс. руб. можно взять 12-ядерный монстр.

Оперативная память

Только ECC Registered (для Xeon) или ECC Unbuffered (для Ryzen). Без ECC через месяц поймаете битый сектор в базе данных сайта.

  • Минимум: 16 ГБ (Debian + nginx + PHP + MySQL + хватит на 50 тыс. посетителей/мес).
  • Комфорт: 32–64 ГБ (если используете ZFS или Redis).

Накопители

Забудьте про HDD для системы и базы. Только NVMe SSD.

  • Система и БД: 2 x NVMe в зеркале (ZFS mirror или mdadm RAID1).
  • Для файлов (изображения, видео): можно RAID10 из SATA SSD или даже HDD, но с большим кэшем.

Модели: Samsung PM983 / Intel Optane P4800X (для логов и метаданных — огонь) / Kingston DC1000.

Корпус и блок питания

Домашний сервер: Fractal Design Node 304 (компактный) или Silverstone RM21-308 (стоечный).
Блок питания — 80+ Gold/Platinum, мощностью с запасом 30%. Не экономьте: дешёвый БП убьёт диски при скачке.

Сеть

Минимум 1 GbE (две сетевых карты — для failover или прямого подключения к админу). Хорошо — 10 GbE (Intel X710-DA2 или Mellanox ConnectX-3 за копейки на вторичке).

Часть 2. Домашний сервер или аренда стойки?

Вариант А: Сервер дома

Плюсы: железо ваше навсегда, нет абонентки (кроме электричества).

Минусы:

  • Домашний IP — динамический, заблокированы 80/443 порты (почти всеми провайдерами РФ).
  • Шум. Xeon с активным охлаждением — это звук взлетающего Boeing.
  • Нет холодного резервирования. Отключили свет — ваш сайт умер.
  • DDoS-атака ляжет на весь домашний канал.

Когда можно: только для личного блога при наличии белого статического IP у провайдера и разрешённых 80/443. Либо через туннель (Cloudflare Tunnel, ngrok) — но это уже не «честный свой сервер».

Вариант Б: Сервер в ЦОД (колокейшн)

Вы привозите свою железку в дата-центр, платите за стойку (1U — от 3–5 тыс. руб/мес), электричество и канал. Они дают:

  • Белый статический IP (и блок /29, до 5 своих IP).
  • Бесперебойное питание, кондиционирование, охрану.
  • Канал от 100 Мбит/с до 10 Гбит с SLA.

Вывод для новичка: Не собирайте сервер для дома. Арендуйте выделенный или виртуальный сервер в FirstVDS или TimeWeb за 3000-5000 руб./мес. Но раз статья про «создать свой» — идём по хардкорному пути колокейшна.

Часть 3. Установка софта: операционка и веб-окружение

После сборки сервера:

  1. Операционная система: Debian 12 (стабильность) или FreeBSD (если параноик и любишь ZFS). Ubuntu Server — тоже ок.
  2. Web-стек:
    • nginx (лучше из официального репо, не из дефолтного).
    • PHP-FPM (последняя версия).
    • MariaDB (она же MySQL).
    • Redis для кэша.
  3. Безопасность:
    • Настройка fail2ban.
    • SSH только по ключам, порт не 22.
    • UFW (закрыты все порты, кроме 80, 443, 22).

Пример минимального конфига nginx для вашего сайта:

nginx
server {
    listen 80;
    server_name site.ru;
    root /var/www/site;
    index index.php;
}

Часть 4. Где взять IP-адрес? (самый больной вопрос)

Если сервер дома — вы не можете купить свой IP-адрес. IPv4 закончились. Провайдер даёт вам один статический IP за доплату (обычно около 200 руб./мес.). Этого хватит для одного сайта.

Если сервер в ЦОД — вам выделяют IP из пула дата-центра. Но купить свой собственный IP (автономную систему, AS) и принести его в ЦОД — это дорого и сложно:

  • Нужна регистрация в RIPE NCC (членский взнос около €2000 в год).
  • Покупка блока IPv4 (/24, 256 адресов) — сейчас от $10 000-15 000.
  • Пирринг, настройка BGP, собственный ASN.

Для обычного сайта это бессмысленно. Просто используйте IP от провайдера/ЦОДа. Свой IP покупают, чтобы не зависеть от репутации ЦОДа или для почтовых серверов.

Часть 5. Покупка домена и привязка к IP

  1. Регистратор: Руцентр, Доменус, Webnames. Разницы почти нет.
  2. Выбор домена: .ru/.рф (дёшево и подходит для проектов на Россию), .com (международо, престижно). Избегайте .tk, .ml — они в спам-базах.
  3. Настройка DNS:
    • У регистратора обычно есть бесплатный DNS-хостинг.
    • Лучше перевести зону на Cloudflare DNS (бесплатно + скрытие реального IP за прокси).
    • Создайте A-запись: @ -> ваш IP-адрес сервера.
    • Для поддоменов: www -> тоже IP.

Если IP статический — всё работает. Если динамический (дома) — понадобится DDNS-клиент (например, DuckDNS или вшитый в роутер).

Часть 6. Финальный чек-лист и запуск

  1. Собрали сервер, установили ОС, настроили nginx/PHP/MySQL.
  2. Получили статический белый IP (от провайдера или ЦОДа).
  3. Купили домен, прописали A-запись на этот IP.
  4. Открыли порты 80 и 443 на серверном фаерволе и на роутере (если дома — проброс портов).
  5. Проверили: curl -I http://ваш_домен — код 200.
  6. Настроили HTTPS через Let’s Encrypt (Certbot — две команды).
  7. Установили мониторинг (Prometheus + Grafana или хотя бы htop + journalctl -f).

Грустная правда в конце

Свой сервер — это круто для портфолио и опыта. Но для реального сайта, который нужен людям, он проигрывает облакам в 9 случаях из 10. У AWS/Selectel/Vscale есть SLA, бэкапы, DDoS-защита и масштабирование. А ваш сервер однажды перегреется, отвалится диск или придёт квитанция за электричество на 5000 руб.

Совет: Соберите сервер как домашний проект для NAS, Plex или Telegram-бота. А публичный сайт запустите на VPS за 500-1500 рублей/месяц, например, у Beget. Опыт сборки останется, а нервов — меньше.

Но если вы всё же решили — дерзайте. Железо ждёт.

Оцените статью
( 1 оценка, среднее 5 из 5 )
«Техникпартс» - запчасти для цифровой техники