Гид по технологиям

Apache на Raspberry Pi: как установить, настроить и обезопасить веб‑сервер

• 6 min read • Raspberry Pi • Обновлено 29 Nov 2025
Apache на Raspberry Pi: установить и настроить
Apache на Raspberry Pi: установить и настроить

Raspberry Pi с установленным Apache — иллюстрация веб‑сервера

Что такое Apache Web Server?

Apache — это один из наиболее распространённых HTTP‑серверов. Он подходит для обслуживания статических файлов (HTML, CSS, изображения) и, в сочетании с PHP, для простых динамических приложений. На Raspberry Pi Apache удобно использовать для локальных сайтов, тестирования, домашних панелей и небольших проектов.

Ключевые понятия в одну строку:

  • Apache — процесс, принимающий HTTP‑запросы и отдающий файлы или результаты скриптов.
  • PHP — язык серверной логики для динамических страниц.

Также читайте: Как сделать из Raspberry Pi точку доступа Wi‑Fi

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

  • Raspberry Pi с установленной Raspbian (Raspberry Pi OS). Если система не установлена, скачайте образ и запишите его с помощью Etcher или аналогичного инструмента. Локализуйте имена файлов и пути в соответствии с используемой ОС.
  • Подходящий блок питания для вашей модели Raspberry Pi
  • Клавиатура и кабель для подключения
  • HDMI / micro‑HDMI кабель и монитор
  • Подключение к сети: Ethernet или Wi‑Fi

Подготовьте Raspbian — обновление системы

Подключите клавиатуру, монитор и питание. Откройте терминал (иконка «Terminal» в панели). Обновите пакеты командой:

sudo apt-get update
sudo apt-get upgrade -y

Если были обновления, перезагрузите плату:

sudo reboot

После перезагрузки система будет в актуальном состоянии.

Установка Apache

Установите пакет Apache2:

sudo apt install apache2 -y

После установки Apache автоматически запустится как сервис. Чтобы убедиться, что сервер работает, узнайте IP‑адрес Raspberry Pi и откройте его в браузере с другого устройства в локальной сети:

hostname -I

Скопируйте один из выведенных IP и вставьте его в адресную строку браузера. Если всё успешно, вы увидите стандартную страницу Apache.

Страница по умолчанию Apache, открытая по IP‑адресу Raspberry Pi

Поздравляем — ваш Raspberry Pi сейчас выполняет роль базового веб‑сервера.

Права доступа: редактирование файла index.html

Страница «It works!» — это файл index.html в каталоге /var/www/html. По умолчанию владелец файла — root, поэтому отредактировать его обычным пользователем нельзя.

Перейдите в папку сайта:

cd /var/www/html

Посмотрите права и владельца:

ls -al

Вы увидите, что index.html принадлежит root:

Отсутствуют права на редактирование /var/www/html/index.html по умолчанию

Чтобы иметь возможность редактировать файл под учётной записью pi (если вы используете другое имя, подставьте своё), смените владельца:

sudo chown pi: index.html

Проверьте ещё раз — теперь владелец должен быть pi:

Пользователь pi назначен владельцем файла index.html

Редактирование HTML

Откройте файл в nano:

nano index.html

Отредактируйте заголовок или любой другой HTML‑блок. Пример: поменяйте текст внутри

на ваше приветствие.

Редактирование index.html в текстовом редакторе Nano на Raspbian

После правки сохраните Ctrl+O, выйдите Ctrl+X. Перезагрузите страницу в браузере — изменения появятся мгновенно.

Перезагрузите страницу — изменения видны в браузере

Добавление динамики: установка PHP 7

Apache по умолчанию обслуживает статический HTML. Чтобы запускать серверные скрипты (например, формы или простые приложения), установите PHP и модуль для Apache. На момент написания часто использовалась ветка PHP 7.4.

sudo apt install php libapache2-mod-php -y

Проверьте работу PHP, создав тестовый файл:

sudo nano /var/www/html/mywebpage.php

Вставьте следующий код и сохраните:

Откройте в браузере http:///mywebpage.php. Вы увидите страницу с информацией о версии PHP и загруженных модулях — это означает, что PHP успешно интегрирован с Apache.

Важно: после теста удалите этот файл или ограничьте к нему доступ, так как phpinfo раскрывает технические детали системы.

Быстрые команды управления службой Apache

  • Перезапустить Apache:
sudo systemctl restart apache2
  • Посмотреть статус:
sudo systemctl status apache2
  • Включить автозапуск:
sudo systemctl enable apache2

Безопасность и доступ извне

Если вы планируете открывать сайт в интернет (не только в локальной сети), примите минимум мер по безопасности:

  • Обновляйте систему и пакеты.
  • Установите брандмауэр UFW и разрешите только нужные профили:
sudo apt install ufw -y
sudo ufw allow OpenSSH
sudo ufw allow 'Apache Full'
sudo ufw enable
  • Настройте HTTPS через Let’s Encrypt (Certbot):
sudo apt install certbot python3-certbot-apache -y
sudo certbot --apache

(Команда certbot автоматически запросит сертификат и настроит Apache, если ваш домен указывает на публичный IP.)

  • Отключите или ограничьте отображение phpinfo.
  • Создайте отдельного пользователя/группу для разработки и права доступа только к нужным каталогам.
  • Регулярно делайте резервные копии /var/www и конфигурации Apache (/etc/apache2).

Important: Открывая Raspberry Pi в интернет, вы увеличиваете риск компрометации устройства. Для публичных проектов предпочтительнее использовать облачные VPS или специализированный хостинг.

Альтернативы Apache

  • Nginx — чаще даёт лучшую производительность на малых устройствах и дешевле расходует ОЗУ для большого числа одновременных подключений.
  • lighttpd — лёгкий сервер, часто применяется на встраиваемых системах.
  • Docker — запускать контейнеры с Nginx/Apache для изоляции приложений.
  • Статические генераторы (Hugo, Jekyll) + nginx/lighttpd для минимальной нагрузки.

Выбор зависит от задач: для простых сайтов Apache подходит, для высоконагруженных — Nginx.

Методология: минимально‑необходимая установка сайта на Raspberry Pi

  1. Подготовка среды: обновление Raspbian, настройка SSH и бэкапов.
  2. Установка веб‑сервера (Apache/Nginx) и тестирование HTTP.
  3. Установка PHP/фреймворков по потребности и тестов.
  4. Настройка прав и пользователей, резервное копирование.
  5. Настройка HTTPS, брандмауэра и мониторинга.
  6. Перенос сайта, тесты и запуск в продакшн (локальный или публичный).

Чек‑лист по ролям

Разработчик:

  • Иметь локальную копию сайта
  • Настроить права на каталог /var/www/html
  • Создать тестовый PHP/HTML файл
  • Тестировать на локальном IP

Системный администратор:

  • Обновлять пакеты и ядро системы регулярно
  • Настроить UFW, Fail2ban
  • Настроить автоматические бэкапы сайта и конфигураций
  • Настроить HTTPS и перенаправления

Домашний пользователь / энтузиаст:

  • Использовать статический сайт или минимальный PHP
  • Не открывать административные интерфейсы в интернет без VPN
  • Монтировать отдельный диск для бэкапов

Критерии приёмки

  • По локальному IP доступна страница index.html с изменённым содержимым.
  • mywebpage.php возвращает информацию о PHP (phpinfo) и доступен только локально при тесте.
  • Служба apache2 запущена и включена в автозапуск.
  • Базовые меры безопасности (UFW, обновления) применены.

Отладка — частые проблемы и решения

  • Ничего не отображается в браузере: проверьте IP командой hostname -I и сетевые настройки.
  • 403 Forbidden при доступе: проверьте права и владельца /var/www/html и index.html.
  • PHP не выполняется, а выводится как текст: убедитесь, что установлен libapache2-mod-php и модуль включён, затем перезапустите Apache.

Решение: когда Apache на Raspberry Pi не подходит

  • Требуется масштабирование для сотен одновременных пользователей — лучше Nginx или облачный хостинг.
  • Необходима высокая отказоустойчивость и SLA — используйте провайдера или кластер.
  • Желаете минимальную нагрузку памяти — рассмотрите lighttpd или статический хостинг.

Короткая таблица решений (Сравнение в одно предложение)

  • Apache — простой запуск, совместимость, модули PHP.
  • Nginx — более экономный при больших нагрузках и проксирование.
  • Docker — изоляция и переносимость.

Мини‑глоссарий

  • Apache — HTTP‑сервер.
  • PHP — серверный язык программирования.
  • /var/www/html — корневая папка сайта в стандарте Debian/Raspbian.
  • UFW — простой интерфейс для iptables (брандмауэр).

Пример сценариев тестирования

  • Открыть http:/// и убедиться, что возвращается index.html.
  • Создать mywebpage.php с phpinfo и проверить, что в браузере видно страницу PHP.
  • Отключить модуль Apache и проверить, что сервис падает, затем восстановить.

Решение задач безопасности (рекомендации)

  • Отключите ненужные модули Apache.
  • Используйте ограничение доступа по IP для административных страниц.
  • Храните бэкапы вне Raspberry Pi (NAS или облако).

Решение для доступа извне (быстрая заметка)

Для внешнего доступа настройте проброс портов на роутере (80/443), статический публичный IP или динамический DNS, и обязательно включите HTTPS и брандмауэр.

Краткое резюме

В этой статье вы узнали, как установить Apache на Raspberry Pi, добавить PHP для динамических страниц, редактировать корневой файл сайта, а также базовые практики безопасности, альтернативы и контрольные списки для разных ролей.

Важное: если вы планируете публичный хостинг, рассматривайте использование VPS или облака для повышения надёжности и безопасности.

Дополнительные ресурсы: официальная документация Apache, руководства по Nginx и Certbot.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро