Плата Raspberry PI при очень небольших тратах (по сравнению с полноценными серверами) обеспечивает полноценные функции веб-сервера. Студенты и школьники, обучающиеся IT-специальностям смогут запускать своих боевых хомяков без опасности нарушить работу дата-центра университета или компьютерной сети лаборатории кафедры.
LAMP - это сервер, состоящий из следующих элементов (каждый из которых составляет аббревиатуру LAMP):
- Linux - Операционная система.
- Apache - Web-сервер.
- MySQL - Система управления базами данных
- Php - Серверные сценарии - для создания динамических страниц.
Алгоритм установки:
2. Накатываем его на Micro SD флэш-карту.
3. Если планируется тип подключения - wi-fi, то в корне флэш-карты создаем два файла:
- первый файл называем ssh и сохраняем пустым.
- второй файл называем wpa_supplicant.conf и прописываем в него следующие строки:
ctrl_interface=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=RU
network={
ssid="Имя вашей wi-fi сети"
psk="Пароль от вашей wi-fi сети"
key_mgmt=WPA-PSK
}
Стоит отметить, что кавычки для имени и пароля wi-fi сети являются обязательными.
Если планируется подключение через сетевой кабель, данные файлы создавать не надо.
4. Вставляем флэш-карту в соответствующий разъем и запускаем Raspberry Pi.
5. Смотрим на роутере в сетевом окружении ip-адрес нашей Raspberry Pi, и через PuTTy заходим в консоль.
6. При необходимости меняем логин и пароль, запускаем конфигуратор:
sudo raspi-config
В первую очередь заходим в Advanced Options и раскрываем образ диска на весь объем нашей флэш-карты командой Expand Filesystem.
Далее идем в Localisation Option и выставляем необходимый нам язык в Locale (удаляем отметку en_GB.UTF-8 UTF-8 и выставляем ее на ru_RU.UTF-8 UTF-8)
Перегружаемся:
sudo reboot
7. Обновляем систему:
sudo apt-get update -y && sudo apt-get upgrade -y
8. Устанавливаем веб-сервер - Apache:
sudo apt-get install apache2 -y
После окончания установки можем проверить работу веб-сервера Apache через веб-браузер, зайдя на страницу нашей Raspberry Pi по адресу "http://IP-адрес Raspberry Pi". Получаем следующее (192.168.0.20 - мой RPi IP-адрес):
9. Установка PHP:
sudo apt-get install php -y
Проверим соответствие установки нашим требованиям:
pi@raspberrypi:~ $ php -v
PHP 7.0.33-0+deb9u11 (cli) (built: Jul 12 2021 18:15:58) ( NTS )
Для теста работы PHP и веб-сервера создадим простейшую php страницу на нашем веб-сервере. Создадим файл test.php:
sudo nano /var/www/html/test.php
и вставим в него следующую строку:
<?php phpinfo(); ?>
Вернемся на наш веб-сервер и проверим, что получилось (добавим после ip-адреса нашей RPi - "/test.php":
10. Установка серверной базы данных.
Вместо стандартной в LAMP СУБД MySQL установим MariaDB. Причина этого в том, что полноценная MySQL потребляет овермного ресурсов Raspberry Pi, и для полноценной работы был разработан полноценный форк - MariaDB (с сохранением действующих команд MySQL):
sudo apt-get install mariadb-server php-mysql -y
В целях обеспечения безопасности СУБД пропишем в конфигурации БД базовые запреты:
sudo mysql_secure_installation
Будут заданы следующие вопросы (указываем последующие предложенные ответы):
- Enter current password for root (enter for none)
Пароль root в новой установке пуст, поэтому просто нажимаем клавишу ENTER или используем свой пароль root.
- Set root password? [Y/n]
Предлагаю ответить Y (да)
- New password:
Вводим новый пароль root
- Re-enter new password:
Подтверждаем наш новый пароль root.
- Remove anonymous users? [Y/n]
Удаляем анонимных пользователей - предлагаю ответить Y (да).
- Disallow root login remotely? [Y/n]
Запрещаем удаленный вход root - предлагаю ответить Y (да).
- Remove test database and access to it? [Y/n]
Удаляем тестовую базу данных и доступ к ней - предлагаю ответить Y (да).
- Reload privilege tables now? [Y/n]
Внести изменения? Ответьте да.
Теперь наш сервер LAMP готов!
11. Установка веб-интерфейса для СУБД.
Полезным инструментом для управления базой данных на сервере LAMP является phpMyAdmin . Его устанавливаем с помощью следующей команды:
sudo apt-get install phpmyadmin -y
На экранах настройки phpmyadmin пишем следующее:
- apache (обязательно) выделяем пробелом и жмем ОК.
- выбираем Да, чтобы настроить базу данных для phpmyadmin с помощью dbconfig-common.
- прописываем из пункта 10 пароль phpmyadmin и нажимаем ОК.
- подтверждаем пароль phpmyadmin и нажимаем ОК.
Предоставляем пользователю phpmyadmin права доступа к СУБД для управления СУБД:
подключимся к MariaDB правами суперпользователя (пароль из п. 10) для трансляции политики безопасности БД (не забудем использовать точки с запятой в конце каждой командной строки, как показано ниже):
sudo mysql -uroot -p
grant all privileges on *.* to 'phpmyadmin'@'localhost';
flush privileges;
quit
С помощью веб-браузера переходим на страницу входа phpMyAdmin, используя IP-адрес Raspberry PI, за которым следует «/phpmyadmin/»:
В качестве имени пользователя указываем "phpmyadmin" и пароль из п.10 и попадаем на домашнюю страницы веб-интерфейса СУБД:
ИТОГ: LAMP установлен на нашей Raspbewrry Pi. Теперь можно экспериментировать и экспериментировать в IT дальше.
Первоисточник данной статьи - работа Giuseppe Cassibba.
#raspberrypi, #raspberry pi, #LAMP