Raspberry Pi: Установка Apache + MySQL + PHP (LAMP-сервер)

В этом руководстве вы узнаете, как установить LAMP-сервер (L inux, A pache, M ySQL, P HP) на Raspberry Pi. LAMP — это программный стек, который используется для веб-разработки. На Raspberry Pi будет установлена ОС Raspbian, и вы будете использовать phpMyAdmin для удобного управления базой данных через веб-интерфейс.

Установка на Raspberry Pi Apache + PHP + MySQL + phpMyAdmin LAMP-сервер

Предварительные требования

Прежде чем продолжить, убедитесь в следующем:

Если вас интересует домашняя автоматизация и вы хотите создать полноценную систему умного дома, рекомендуем скачать курс по домашней автоматизации.

После того как ваша плата Raspberry Pi подготовлена с ОС Raspbian, вы можете продолжить выполнение этого руководства.

Вы можете выполнять следующие команды как на Raspberry Pi, настроенном в качестве настольного компьютера, так и через SSH-подключение.

Обновление и апгрейд

Перед началом процесса установки откройте окно терминала и выполните следующие команды для обновления вашего Pi:

pi@raspberrypi:~ $ sudo apt update && sudo apt upgrade -y

Установка Apache2 на Raspberry Pi

Apache2 — это наиболее широко используемое программное обеспечение веб-сервера. Вкратце, веб-сервер — это программа, которая обрабатывает запросы на доступ к веб-странице. Затем, в зависимости от запрошенной страницы, сервер генерирует документ для отправки вам (.html, .php и т.д.).

Обзор LAMP-сервера Apache2 на Raspberry Pi

Чтобы установить Apache2 на Raspberry Pi, выполните следующую команду:

pi@raspberrypi:~ $ sudo apt install apache2 -y
Raspberry Pi установка Apache2 LAMP-сервер

Вот и всё! 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
Raspberry Pi смена каталога и IP-адрес RPi

В моём случае IP-адрес Raspberry Pi — 192.168.1.86. Если вы откроете IP-адрес вашего RPi в любом браузере локальной сети, должна загрузиться подобная веб-страница (http://192.168.1.86):

Raspberry Pi Apache2 установлен

Установка 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"; ?>
Raspberry Pi создание тестового PHP-файла 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, созданного ранее.

Raspberry Pi проверка PHP-файла Hello World в веб-браузере

Если всё работает, можно удалить index.php из каталога /var/www/html:

pi@raspberrypi:/var/www/html $ sudo rm index.php

Установка MySQL (MariaDB Server) на Raspberry Pi

MySQL (часто произносится как My SQL) — это популярная реляционная база данных с открытым исходным кодом.

Установите 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

В окне терминала должно появиться следующее:

Raspberry Pi MySQL MariaDB безопасная установка
  • Вам будет предложено ввести текущий пароль для root (введите надёжный пароль): нажмите Enter

  • Введите Y и нажмите Enter, чтобы установить пароль root

  • Введите пароль в строке New password: и нажмите Enter. Важно: запомните этот пароль root, он понадобится позже

  • Введите Y, чтобы удалить анонимных пользователей

  • Введите Y, чтобы запретить удалённый вход root

  • Введите Y, чтобы удалить тестовую базу данных и доступ к ней

  • Введите Y, чтобы перезагрузить таблицы привилегий

После завершения установки вы увидите сообщение: «Thanks for using MariaDB!».

Raspberry Pi MySQL 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

Raspberry Pi установка phpMyAdmin

Включите расширение 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 на Raspberry Pi

Если это произошло, вам нужно переместить папку 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
Raspberry Pi перемещение phpMyAdmin в /var/www/html папка phpMyAdmin

Перезагрузите веб-страницу (http://192.168.1.86/phpmyadmin) — вы должны увидеть страницу входа в веб-интерфейс phpMyAdmin:

Raspberry Pi страница входа phpMyAdmin

Введите определённое вами имя пользователя (должно быть Username = root) и пароль, заданный во время установки.

Нажмите кнопку Go для входа. Загрузится новая страница:

Raspberry Pi phpMyAdmin после входа

Вот и всё! Ваша плата 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 изменение прав каталога /var/www/html

Заключение

Надеемся, это руководство было полезным! На вашем Raspberry Pi теперь установлен LAMP-сервер с phpMyAdmin, который позволяет создавать интересные IoT-проекты, например:

Узнайте больше о домашней автоматизации с Raspberry Pi: Создайте систему домашней автоматизации за $100

Спасибо за чтение.