Raspberry Pi: Установка Apache + MySQL + PHP (LAMP-сервер)
В этом руководстве вы узнаете, как установить LAMP-сервер (L inux, A pache, M ySQL, P HP) на Raspberry Pi. LAMP — это программный стек, который используется для веб-разработки. На Raspberry Pi будет установлена ОС Raspbian, и вы будете использовать phpMyAdmin для удобного управления базой данных через веб-интерфейс.
Предварительные требования
Прежде чем продолжить, убедитесь в следующем:
Вы должны быть знакомы с платой Raspberry Pi — прочитайте руководство «Начало работы с Raspberry Pi»;
У вас должна быть установлена операционная система Raspbian или Raspbian Lite — прочитайте руководство «Установка Raspbian Lite, включение и подключение через SSH»;
Вам также понадобится следующее оборудование:
Если вас интересует домашняя автоматизация и вы хотите создать полноценную систему умного дома, рекомендуем скачать курс по домашней автоматизации.
После того как ваша плата Raspberry Pi подготовлена с ОС Raspbian, вы можете продолжить выполнение этого руководства.
Вы можете выполнять следующие команды как на Raspberry Pi, настроенном в качестве настольного компьютера, так и через SSH-подключение.
Обновление и апгрейд
Перед началом процесса установки откройте окно терминала и выполните следующие команды для обновления вашего Pi:
pi@raspberrypi:~ $ sudo apt update && sudo apt upgrade -y
Установка Apache2 на Raspberry Pi
Apache2 — это наиболее широко используемое программное обеспечение веб-сервера. Вкратце, веб-сервер — это программа, которая обрабатывает запросы на доступ к веб-странице. Затем, в зависимости от запрошенной страницы, сервер генерирует документ для отправки вам (.html, .php и т.д.).
Чтобы установить Apache2 на Raspberry Pi, выполните следующую команду:
pi@raspberrypi:~ $ sudo apt install apache2 -y
Вот и всё! Apache установлен. Чтобы проверить установку, перейдите в каталог /var/www/html и просмотрите список файлов:
pi@raspberrypi:~ $ cd /var/www/html
pi@raspberrypi:/var/www/html $ ls -al
index.html
В этой папке должен находиться файл index.html. Чтобы открыть эту страницу в браузере, вам нужно узнать IP-адрес Raspberry Pi. Используйте:
pi@raspberrypi:/var/www/html $ hostname -I
В моём случае IP-адрес Raspberry Pi — 192.168.1.86. Если вы откроете IP-адрес вашего RPi в любом браузере локальной сети, должна загрузиться подобная веб-страница (http://192.168.1.86):
Установка PHP на Raspberry Pi
PHP — это серверный язык сценариев. PHP (H ypertext P rep rocessor) используется для разработки динамических веб-приложений. PHP-файл содержит теги <?php ... ?> и имеет расширение «.php».
Чтобы установить PHP на Raspberry Pi, выполните:
pi@raspberrypi:/var/www/html $ sudo apt install php -y
Вы можете удалить index.html и создать PHP-скрипт для проверки установки:
pi@raspberrypi:/var/www/html $ sudo rm index.html
pi@raspberrypi:/var/www/html $ sudo nano index.php
В файл index.php добавьте следующий код для вывода сообщения «hello world»:
<?php echo "hello world"; ?>
Чтобы сохранить файл: нажмите Ctrl+X, затем y и нажмите Enter для выхода.
Наконец, перезапустите Apache2:
pi@raspberrypi:/var/www/html $ sudo service apache2 restart
Чтобы проверить, обслуживает ли Apache2 файлы .php, откройте IP-адрес Raspberry Pi — должно отобразиться сообщение «hello world» из скрипта index.php, созданного ранее.
Если всё работает, можно удалить index.php из каталога /var/www/html:
pi@raspberrypi:/var/www/html $ sudo rm index.php
Установка MySQL (MariaDB Server) на Raspberry Pi
MySQL (часто произносится как My S–Q–L) — это популярная реляционная база данных с открытым исходным кодом.
Установите MySQL Server (MariaDB Server) и пакеты PHP-MySQL, введя следующую команду:
pi@raspberrypi:/var/www/html $ sudo apt install mariadb-server php-mysql -y
pi@raspberrypi:/var/www/html $ sudo service apache2 restart
После установки MySQL (MariaDB Server) рекомендуется выполнить эту команду для обеспечения безопасности вашей установки MySQL:
pi@raspberrypi:/var/www/html $ sudo mysql_secure_installation
В окне терминала должно появиться следующее:
Вам будет предложено ввести текущий пароль для root (введите надёжный пароль): нажмите Enter
Введите Y и нажмите Enter, чтобы установить пароль root
Введите пароль в строке New password: и нажмите Enter. Важно: запомните этот пароль root, он понадобится позже
Введите Y, чтобы удалить анонимных пользователей
Введите Y, чтобы запретить удалённый вход root
Введите Y, чтобы удалить тестовую базу данных и доступ к ней
Введите Y, чтобы перезагрузить таблицы привилегий
После завершения установки вы увидите сообщение: «Thanks for using MariaDB!».
Если у вас возникнут ошибки при входе в phpMyAdmin, возможно, потребуется создать нового пользователя для входа. Следующие команды создадут нового пользователя с именем (admin) и паролем (your_password).
pi@raspberrypi:/var/www/html $ sudo mysql --user=root --password
> create user admin@localhost identified by 'your_password';
> grant all privileges on *.* to admin@localhost;
> FLUSH PRIVILEGES;
> exit;
Установка phpMyAdmin на Raspberry Pi
phpMyAdmin — это бесплатный программный инструмент, написанный на PHP, предназначенный для администрирования MySQL через веб-интерфейс.
Чтобы установить phpMyAdmin на Raspberry Pi, введите следующую команду в терминале:
pi@raspberrypi:/var/www/html $ sudo apt install phpmyadmin -y
Программа установки phpMyAdmin задаст вам несколько вопросов. Мы будем использовать dbconfig-common.
Выберите Apache2 при появлении запроса и нажмите клавишу Enter
Настройка phpmyadmin? OK
Настроить базу данных для phpmyadmin с помощью dbconfig-common? Yes
Введите ваш пароль и нажмите OK
Включите расширение PHP MySQLi и перезапустите Apache2, чтобы изменения вступили в силу:
pi@raspberrypi:/var/www/html $ sudo phpenmod mysqli
pi@raspberrypi:/var/www/html $ sudo service apache2 restart
Когда вы перейдёте по IP-адресу вашего RPi с добавлением /phpmyadmin (в моём случае http://192.168.1.86/phpmyadmin), вы, вероятно, увидите страницу ошибки «Not Found» в браузере:
Если это произошло, вам нужно переместить папку phpmyadmin в /var/www/html. Выполните следующую команду:
pi@raspberrypi:/var/www/html $ sudo ln -s /usr/share/phpmyadmin /var/www/html/phpmyadmin
Теперь, если вы просмотрите список файлов, должна отобразиться папка phpmyadmin:
pi@raspberrypi:/var/www/html $ ls
phpmyadmin
Перезагрузите веб-страницу (http://192.168.1.86/phpmyadmin) — вы должны увидеть страницу входа в веб-интерфейс phpMyAdmin:
Введите определённое вами имя пользователя (должно быть Username = root) и пароль, заданный во время установки.
Нажмите кнопку Go для входа. Загрузится новая страница:
Вот и всё! Ваша плата Raspberry Pi подготовлена с LAMP-сервером: Apache2, MySQL, PHP. Мы также решили включить phpMyAdmin в эту установку для более удобного управления базами данных через веб-интерфейс.
Дополнительный шаг (рекомендуется)
Для управления вашими веб-страницами следует изменить права доступа к каталогу /var/www/html/. Для этого выполните следующие команды:
pi@raspberrypi:~ $ ls -lh /var/www/
pi@raspberrypi:~ $ sudo chown -R pi:www-data /var/www/html/
pi@raspberrypi:~ $ sudo chmod -R 770 /var/www/html/
pi@raspberrypi:~ $ ls -lh /var/www/
После выполнения этих команд вы увидите примерно следующее:
Заключение
Надеемся, это руководство было полезным! На вашем Raspberry Pi теперь установлен LAMP-сервер с phpMyAdmin, который позволяет создавать интересные IoT-проекты, например:
ESP32/ESP8266: Публикация данных на LAMP-сервер Raspberry Pi
Визуализация показаний датчиков из любой точки мира (ESP32/ESP8266 + MySQL + PHP)
ESP32/ESP8266: Запись данных в базу MySQL с помощью PHP и Arduino IDE
Узнайте больше о домашней автоматизации с Raspberry Pi: Создайте систему домашней автоматизации за $100
Спасибо за чтение.