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

Что такое 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.

Поздравляем — ваш Raspberry Pi сейчас выполняет роль базового веб‑сервера.
Права доступа: редактирование файла index.html
Страница «It works!» — это файл index.html в каталоге /var/www/html. По умолчанию владелец файла — root, поэтому отредактировать его обычным пользователем нельзя.
Перейдите в папку сайта:
cd /var/www/htmlПосмотрите права и владельца:
ls -alВы увидите, что index.html принадлежит root:

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

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

После правки сохраните 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://
Важно: после теста удалите этот файл или ограничьте к нему доступ, так как 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
- Подготовка среды: обновление Raspbian, настройка SSH и бэкапов.
- Установка веб‑сервера (Apache/Nginx) и тестирование HTTP.
- Установка PHP/фреймворков по потребности и тестов.
- Настройка прав и пользователей, резервное копирование.
- Настройка HTTPS, брандмауэра и мониторинга.
- Перенос сайта, тесты и запуск в продакшн (локальный или публичный).
Чек‑лист по ролям
Разработчик:
- Иметь локальную копию сайта
- Настроить права на каталог /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.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента