Поиск по сайту:

Настройте тестовый сервер на Raspberry Pi


Raspberry Pi начинался как недорогое устройство, помогающее студентам изучать вычислительную технику, но Raspberry Pi также является недорогим тестовым сервером. С серверной операционной системой на Raspberry Pi вы можете быстро настроить тестовый сервер дома.

Недавно я решил переустановить свой Raspberry Pi 3B+, чтобы использовать его в качестве тестового сервера для новых веб-проектов. Моя производственная среда представляет собой стоечный сервер Intel под управлением Red Hat Enterprise Linux, поэтому на аппаратном уровне он не соответствует Raspberry Pi. Но на уровне приложений Linux на Raspberry Pi по-прежнему «Linux», Apache на Raspberry Pi по-прежнему «Apache», а PHP 7 на Raspberry Pi по-прежнему «PHP 7». Пока мой Raspberry Pi настроен как сервер, а не как дистрибутив Linux для настольных компьютеров, моя работа над Raspberry Pi будет довольно легко переноситься в мою производственную среду с Red Hat Enterprise Linux на Intel.

Хотя Red Hat Enterprise Linux для Raspberry Pi не существует, Fedora Server достаточно близок для моих нужд. Я попытался установить сервер Fedora 33 ARM на Raspberry Pi, но мне не удалось заставить беспроводную сеть работать из коробки, несмотря на примечание на странице Fedora ARM о том, что беспроводная сеть поддерживается по умолчанию в Fedora 33. Похоже, проблема что сервер Fedora 33 ARM не включает wpa_supplicant . Однако мне удалось заставить все работать, установив Fedora 33 ARM Minimal.

Загрузите минимальный образ Fedora 33 ARM с веб-сайта Fedora ARM. Вы можете найти место загрузки в вики. В частности, чтобы установить Fedora 33 Minimal на Raspberry Pi 3, вам необходимо загрузить Fedora-Minimal-33-1.3.aarch64.raw.xz из поддерживаемого aarch64 образа для Raspberry Pi 3.

Если у вас есть минимальный образ Fedora 33, вы можете установить его на карту microSD, чтобы позже загрузиться на Raspberry Pi. На вашей рабочей станции или сервере Linux вставьте карту microSD и выполните следующую команду:

# arm-image-installer --image=Fedora-Minimal-33-1.3.aarch64.raw.xz --media=/dev/sdb --target=rpi3

Эта команда записывает минимальный образ Fedora 33 на карту microSD. На моем настольном ПК с Linux нет встроенного слота для карт памяти microSD, поэтому я использовал USB-устройство чтения карт памяти microSD, которое представляет карту памяти по адресу /dev/sdb . В зависимости от вашей системы вам может потребоваться использовать другое целевое устройство мультимедиа.

Установка Fedora 33 Minimal на microSD фактически сбрасывает предварительно установленный образ на карту. После этого вам нужно будет выполнить всю настройку при первой загрузке microSD в Raspberry Pi.

Подключите Raspberry Pi к дисплею HDMI и USB-клавиатуре, вставьте microSD и включите его. Первая загрузка займет некоторое время, пока выполняются некоторые задачи начальной настройки, во время которых Fedora предложит вам ввести локальные настройки, включая часовой пояс, пароль root и учетную запись пользователя.

Как только моя система была запущена, я смог войти в систему как пользователь root. Поскольку у меня нет сетевого кабеля достаточной длины для подключения к Raspberry Pi, мне нужно было настроить беспроводную сеть. В командной строке запустите инструмент командной строки Network Manager nmcli, чтобы получить список доступных беспроводных сетей:

# nmcli device wifi list

Если nmcli находит вашу беспроводную сеть, подключитесь к ней с помощью этой nmcli команды «подключиться». Замените $SSID именем вашей беспроводной сети:

nmcli device wifi connect $SSID --ask

После этого Network Manager автоматически создаст для вас запись в каталоге /etc/NetworkManager/system-connections, поэтому система будет подключаться к этой сети каждый раз, когда вы загружаете Raspberry Pi.

Поскольку я запускаю Raspberry Pi в качестве сервера в моей домашней сети, мне также необходимо убедиться, что Raspberry Pi получает один и тот же IP-адрес каждый раз, когда он подключается к сети. В домашней сети это можно сделать через беспроводной маршрутизатор. Большинство маршрутизаторов позволяют распознавать MAC-адрес и назначать ему зарезервированный IP-адрес. Мой домашний маршрутизатор выдает IP-адреса, начинающиеся с 10.0.0.100, поэтому я дал Raspberry Pi зарезервированный IP-адрес ниже этого диапазона, 10.0.0.11:

Я считаю, что самый простой способ управлять своими системами Linux — это инструмент Cockpit. Cockpit позволяет легко управлять серверами Linux через веб-браузер, позволяя просматривать журналы, управлять хранилищем, настраивать учетные записи пользователей и устанавливать службы. Fedora 33 ARM Minimal не устанавливает Cockpit по умолчанию, но вы можете легко установить его как пакет, используя dnf:

dnf -y install cockpit

После того, как вы установили Cockpit, вам необходимо убедиться, что служба Cockpit запущена и будет перезапускаться при каждой перезагрузке системы. Fedora использует systemd , поэтому вам нужно запускать службу и включать ее для каждой перезагрузки с помощью этих двух команд «управления системой»:

# systemctl start cockpit
# systemctl enable cockpit.socket

Брандмауэр Fedora по умолчанию будет препятствовать подключениям к вашему устройству, поэтому вам также необходимо открыть порт в локальном брандмауэре, чтобы принимать подключения к Cockpit. Вы можете добавить службу Cockpit с помощью инструмента командной строки firewall-cmd:

# firewall-cmd --add-service=cockpit --permanent
# firewall-cmd --reload

Теперь вы сможете перейти в веб-браузере на https://10.0.0.11:9090/ для удаленного управления Raspberry Pi.

С Cockpit вы можете выполнять любые другие задачи по настройке системы, которые вам нужны. Чтобы завершить настройку этого Raspberry Pi в качестве веб-сервера, я установил веб-сервер Apache httpd и PHP 7, а затем использовал Cockpit, чтобы настроить все так, чтобы оно максимально соответствовало моей производственной системе:

Вам не нужен дорогой сервер для настройки надежной среды тестового сервера. С серверной операционной системой, такой как Fedora 33 ARM Minimal, вы можете быстро настроить недорогой тестовый сервер дома на Raspberry Pi. А с Cockpit вы можете управлять всем прямо из браузера.