Найти тему

Raspberry Pi & LAMP сервер

LAMP
LAMP

Плата Raspberry PI при очень небольших тратах (по сравнению с полноценными серверами) обеспечивает полноценные функции веб-сервера. Студенты и школьники, обучающиеся IT-специальностям смогут запускать своих боевых хомяков без опасности нарушить работу дата-центра университета или компьютерной сети лаборатории кафедры.

LAMP - это сервер, состоящий из следующих элементов (каждый из которых составляет аббревиатуру LAMP):

  • Linux - Операционная система.
  • Apache - Web-сервер.
  • MySQL - Система управления базами данных
  • Php - Серверные сценарии - для создания динамических страниц.

Алгоритм установки:

  1. Скачиваем с официального сайта необходимый образ.

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-адрес):

Итог установки Apache
Итог установки Apache

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":

Результат работы страницы test.php
Результат работы страницы 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

С подпиской рекламы не будет

Подключите Дзен Про за 159 ₽ в месяц