ЭЛЕКТРОНИКА ·8 МИН. ЧТЕНИЯ

Гайд по домашнему серверу на Raspberry Pi: настроим за полдня

Превратите Raspberry Pi в мощный домашний сервер для обмена файлами, стриминга медиа, блокировки рекламы и многого другого с этим пошаговым проектом на выходные.

СЛОЖНОСТЬintermediate
ПРИМЕРНАЯ СТОИМОСТЬ$60-120
ПРИМЕРНОЕ ВРЕМЯ3-5 hours
READ8 min
Raspberry Pi 4 в алюминиевом корпусе, подключенный к внешнему жесткому диску и Ethernet-кабелю

Зачем вообще нужен домашний сервер на Raspberry Pi?

Знаете, Raspberry Pi потребляет всего около 5 ватт энергии. Это примерно доллар в месяц за электричество! А что вы получаете за эти копейки? Файловый сервер, медиастример, блокировщик рекламы для всей сети и вообще всё, что душе угодно. И всё это на крошечном компьютере размером с кредитку, который тихонько стоит где-нибудь в уголке.

Подписки на облачные хранилища, стриминговые сервисы, умные хабы для дома — всё это ежемесячные платежи. А домашний сервер на Pi заменит сразу несколько таких сервисов, причём единоразовой покупкой. Плюс, ваши данные будут принадлежать только вам!

В этом гайде мы шаг за шагом пройдем весь путь: от распаковки до полностью рабочего сервера с общим доступом к файлам, медиастримингом через Plex и блокировкой рекламы с помощью Pi-hole.

Что нам понадобится

Обязательное железо

ЧтоДля чегоПримерная стоимость
Raspberry Pi 4 (4GB или 8GB)Сам сервер$55-75
Карта microSD (32GB+)Загрузочный диск$8-12
Блок питания USB-C (5V/3A)Питание$8-10
Ethernet-кабельСтабильное сетевое соединение$5
Внешний USB жесткий дискХранилище для файлов и медиа$40-80

Необязательно, но очень желательно

  • Алюминиевый корпус с пассивным охлаждением — он отлично охлаждает Pi без вентилятора, так что всё будет работать бесшумно.
  • USB SSD вместо HDD — работает быстрее, надежнее, но стоит дороже.
  • Источник бесперебойного питания (UPS) — защитит от скачков напряжения и потери данных.

Программы (все бесплатные!)

  • Raspberry Pi OS Lite (нам не нужен графический интерфейс)
  • Samba (для обмена файлами)
  • Plex Media Server
  • Pi-hole (для блокировки рекламы)

Шаг 1: Записываем Raspberry Pi OS

Скачайте Raspberry Pi Imager на свой основной компьютер. Вставьте microSD-карту и следуйте этим шагам:

  1. Откройте Raspberry Pi Imager.
  2. Выберите Raspberry Pi OS Lite (64-bit) — для сервера без монитора рабочий стол нам не нужен.
  3. Перед записью нажмите на значок шестеренки (Advanced Options):
    • Задайте имя хоста (например, piserver).
    • Включите SSH с аутентификацией по паролю.
    • Придумайте имя пользователя и пароль.
    • Настройте WiFi (на всякий случай, но для сервера лучше использовать Ethernet).
    • Установите локаль и часовой пояс.
  4. Запишите образ на SD-карту.

Маленький лайфхак: Запишите имя пользователя и пароль, которые вы задали. Удивительно, сколько людей их забывают и потом вынуждены всё записывать заново!

Шаг 2: Первый запуск и первичная настройка

Вставьте SD-карту в Pi, подключите Ethernet, воткните блок питания и подождите около 90 секунд.

Находим Pi в сети

С другого компьютера в той же сети выполните:

ping piserver.local

Если команда не сработала, проверьте IP-адрес Pi на странице настроек вашего роутера или воспользуйтесь nmap -sn 192.168.1.0/24 (замените 192.168.1.0/24 на вашу подсеть).

Подключаемся по SSH

ssh ваше_имя_пользователя@piserver.local
### Обновляем всё

```bash
sudo apt update && sudo apt full-upgrade -y

Это может занять 5-10 минут. Дождитесь полного завершения.

Настраиваем Pi

sudo raspi-config

Основные настройки, которые стоит изменить:

  • Expand filesystem — чтобы использовать всю SD-карту.
  • GPU memory — установите 16MB, так как дисплей не подключен.
  • Timezone — убедитесь, что часовой пояс соответствует вашему местоположению.

Перезагрузитесь, когда система предложит.

Шаг 3: Настраиваем внешнее хранилище

Подключите ваш внешний USB-диск. Определите его:

lsblk

Вы должны увидеть свой диск в списке (обычно это /dev/sda). Если диск новый или вы хотите начать с чистого листа, отформатируйте его в ext4:

sudo mkfs.ext4 /dev/sda1

Внимание: Это удалит всё с диска. Дважды проверьте, что форматируете правильное устройство.

Создаем точку монтирования и авто-монтирование

sudo mkdir /mnt/storage
sudo mount /dev/sda1 /mnt/storage

Чтобы диск монтировался автоматически при каждой загрузке, узнайте его UUID:

sudo blkid /dev/sda1

Добавьте эту строку в /etc/fstab (замените your-uuid-here на ваш UUID):

UUID=ваш-uuid-здесь /mnt/storage ext4 defaults,nofail 0 2

Опция nofail очень важна — она позволит Pi загрузиться, даже если диск не подключен.

Создаем структуру папок

sudo mkdir -p /mnt/storage/{shared,media,backups}
sudo chown -R ваше_имя_пользователя:ваше_имя_пользователя /mnt/storage
## Шаг 4: Настраиваем Samba для обмена файлами

Samba позволит вам получать доступ к файлам с компьютеров Windows, Mac и Linux в вашей сети.

```bash
sudo apt install samba samba-common-bin -y

Редактируем конфигурацию Samba:

sudo nano /etc/samba/smb.conf

Добавьте в конец файла:

[Shared]
path = /mnt/storage/shared
browseable = yes
writeable = yes
create mask = 0775
directory mask = 0775
valid users = ваше_имя_пользователя

[Media]
path = /mnt/storage/media
browseable = yes
read only = yes
guest ok = yes

Задайте пароль для Samba:

sudo smbpasswd -a ваше_имя_пользователя

Перезапускаем Samba:

sudo systemctl restart smbd
### Доступ с других устройств

- **Windows:** Откройте "Проводник", в адресной строке введите `\\piserver.local`.
- **Mac:** В Finder нажмите Cmd+K и введите `smb://piserver.local`.
- **Linux:** Используйте функцию "Подключиться к серверу" в вашем файловом менеджере или смонтируйте через `cifs`.

## Шаг 5: Устанавливаем Plex Media Server

Plex превратит ваш Pi в настоящий медиасервер. Вы сможете смотреть фильмы, слушать музыку и просматривать фото с любого устройства, где есть браузер или приложение Plex.

```bash
# Добавляем репозиторий Plex
curl https://downloads.plex.tv/plex-keys/PlexSign.key | gpg --dearmor | sudo tee /usr/share/keyrings/plex-archive-keyring.gpg > /dev/null
echo "deb [signed-by=/usr/share/keyrings/plex-archive-keyring.gpg] https://downloads.plex.tv/repo/deb public main" | sudo tee /etc/apt/sources.list.d/plexmediaserver.list

# Устанавливаем
sudo apt update
sudo apt install plexmediaserver -y
### Настраиваем Plex

1. Откройте `http://piserver.local:32400/web` в браузере.
2. Войдите или создайте аккаунт Plex.
3. Назовите свой сервер.
4. Добавьте папки для библиотек, указав пути к `/mnt/storage/media/movies`, `/mnt/storage/media/tv` и т.д.

**Важный момент про транскодирование:** Raspberry Pi 4 не умеет аппаратно транскодировать видео. Чтобы стриминг был плавным, убедитесь, что ваши медиафайлы совместимы с форматом вашего устройства воспроизведения (большинство современных устройств отлично справляются с H.264 MP4 "нативно"). Direct Play работает отлично, а вот транскодирование — нет.

**Маленький лайфхак:** Организуйте свои медиафайлы в соответствии со структурой, которую ожидает Plex:

/mnt/storage/media/movies/Название Фильма (Год)/Название Фильма (Год).mkv /mnt/storage/media/tv/Название Сериала/Сезон 01/Название Сериала - S01E01.mkv

Шаг 6: Устанавливаем Pi-hole для блокировки рекламы по всей сети

Pi-hole работает как DNS-сервер для всей вашей сети, блокируя рекламу и трекеры еще до того, как они успеют загрузиться. Это выгодно всем устройствам в вашей сети — даже телефонам, смарт-телевизорам и IoT-гаджетам, на которые нельзя установить блокировщик.

curl -sSL https://install.pi-hole.net | bash

Установщик интерактивный. Ключевые моменты:

  • Выберите свой Ethernet-интерфейс.
  • Выберите любой DNS-провайдер (Cloudflare 1.1.1.1 или Google 8.8.8.8 — популярные варианты).
  • Установить веб-интерфейс администрирования (да).
  • Логировать запросы (да, это полезно для отладки).

После установки запишите пароль администратора, который появится на экране, или задайте новый:

pihole -a -p
### Направляем вашу сеть на Pi-hole

Самый простой способ: зайдите в настройки вашего роутера и установите основной DNS-сервер на IP-адрес вашего Pi. Тогда все устройства в сети автоматически начнут использовать Pi-hole.

Заходите в дашборд по адресу `http://piserver.local/admin`, чтобы видеть заблокированные запросы, топ доменов и статистику.

## Шаг 7: Обеспечиваем безопасность сервера

### Настраиваем файрвол

```bash
sudo apt install ufw -y
sudo ufw allow ssh
sudo ufw allow samba
sudo ufw allow 32400/tcp    # Plex
sudo ufw allow 53           # Pi-hole DNS
sudo ufw allow 80/tcp       # Pi-hole web interface
sudo ufw enable
### Включаем автоматические обновления безопасности

```bash
sudo apt install unattended-upgrades -y
sudo dpkg-reconfigure -plow unattended-upgrades
### Настраиваем аутентификацию по SSH-ключам (рекомендуется)

С вашего основного компьютера:

```bash
ssh-keygen -t ed25519
ssh-copy-id ваше_имя_пользователя@piserver.local

Затем отключите аутентификацию по паролю в /etc/ssh/sshd_config, установив PasswordAuthentication no и перезапустив SSH.

Планируем регулярное резервное копирование

Добавляем задачу в cron для резервного копирования критически важных конфигураций:

crontab -e

Добавьте:

0 3 * * 0 tar -czf /mnt/storage/backups/pi-config-$(date +\%Y\%m\%d).tar.gz /etc/samba /etc/pihole /etc/fstab

Это будет запускаться каждое воскресенье в 3 часа ночи и сохранять ваши конфигурации.

Советы по производительности

  • Всегда используйте Ethernet — WiFi добавляет задержки и снижает скорость при передаче файлов.
  • Используйте USB 3.0 диск — у Pi 4 есть порты USB 3.0 (синие). Убедитесь, что ваш диск подключен именно к ним.
  • Подумайте об SSDкорпус для USB 3.0 SSD с запасным SATA SSD значительно ускорит доступ к файлам.
  • Следите за температурой — периодически запускайте vcgencmd measure_temp. Если температура постоянно выше 70C, улучшите охлаждение.
  • Берегите SD-карту — SD-карты изнашиваются от частых записей. Используйте log2ram, чтобы логи хранились в оперативной памяти: sudo apt install log2ram.

Решение проблем

Pi не находится в сети

  • Проверьте, подключен ли Ethernet-кабель и горит ли индикатор сети.
  • Поищите IP-адрес Pi в списке DHCP-клиентов вашего роутера.
  • Если используете WiFi, убедитесь, что в Imager были введены правильные учетные данные.

Внешний диск не монтируется

  • Запустите dmesg | tail -20 после подключения диска, чтобы проверить наличие ошибок.
  • Некоторые диски потребляют слишком много энергии от USB-портов Pi. Используйте внешний USB-хаб с собственным питанием, если это необходимо.

Plex тормозит (буферизация)

  • Убедитесь, что клиент выполняет Direct Play, а не транскодирование (проверьте дашборд Plex во время воспроизведения).
  • Преобразуйте медиа в формат H.264 MP4 с помощью HandBrake на вашем основном компьютере.

Что еще может ваш Pi-сервер?

После того как основа готова, вы можете добавить еще больше сервисов:

  • Home Assistant — центр управления умным домом
  • Nextcloud — ваше собственное облачное хранилище (типа Google Drive)
  • WireGuard VPN — безопасный доступ к вашей домашней сети из любой точки мира
  • Gitea — собственный Git-сервер
  • Grafana + InfluxDB — дашборды для мониторинга всех ваших домашних данных

Компьютер мощностью пять ватт, работающий 24/7, раздающий ваши файлы, стримящий медиа и блокирующий рекламу по всей сети. Вот такой продуктивный полдень!

Теги
raspberry piдомашний серверself-hostedplexpi-holeфайловый серверlinux
Поделиться
Главная Проекты Инструменты Ещё