O Raspberry Pi começou como um dispositivo barato para ajudar os alunos a aprender sobre ciência da computação, mas o Raspberry Pi também o torna um servidor de teste barato. Com um sistema operacional de servidor em um Raspberry Pi, você pode configurar rapidamente um servidor de teste em casa.
Recentemente, decidi reinstalar meu Raspberry Pi 3B + para usá-lo como um servidor de teste para novos projetos da web. Meu ambiente de produção é um servidor de rack Intel executando Red Hat Enterprise Linux, então ele realmente não corresponde ao Raspberry Pi no nível de hardware. Mas na camada de aplicação, Linux no Raspberry Pi ainda está “Linux”, Apache em Raspberry Pi ainda está “Apache” e PHP 7 em Raspberry Pi ainda é “PHP 7”. Contanto que meu Raspberry Pi esteja configurado como um servidor, em vez de uma distribuição Linux centrada em desktop, meu trabalho no Raspberry Pi será facilmente transferido para meu ambiente de produção com Red Hat Enterprise Linux na Intel.
Embora não haja Red Hat Enterprise Linux para Raspberry Pi, O Servidor Fedora está perto o suficiente para minhas necessidades. Eu tentei instalar o Fedora 33 Servidor ARM no Raspberry Pi, mas não consegui fazer com que a rede sem fio funcionasse imediatamente, apesar de um nota na página Fedora ARM que a rede sem fio é suportada por padrão no Fedora 33. O problema parece ser que o Fedora 33 Servidor ARM sem inclusão wpa_supplicant
. Apesar disto, Consegui fazer tudo funcionar instalando o Fedora 33 ARM mínimo.
Baixe a imagem do Fedora 33 ARM Minimal del portal web de Fedora ARM. Você pode encontrar o local do download no wiki. Especificamente, para instalar Fedora 33 Minimal en Raspberry Pi 3, você precisará baixar Fedora-Minimal-33-1.3.aarch64.raw.xz do Imagem compatível com Aarch64 para Raspberry Pi 3.
Assim que tiver a imagem mínima do Fedora 33, você pode instalá-lo em um cartão microSD para inicializar no Raspberry Pi mais tarde. Em sua estação de trabalho ou servidor Linux, conecte seu cartão microSD e execute este comando:
# arm-image-installer --image = Fedora-Minimal-33-1.3.aarch64.raw.xz --media = / dev / sdb --target = rpi3
Esse comando grava a imagem mínima do Fedora 33 no cartão microSD. Meu desktop Linux não tem um slot microSD embutido, portanto, usei um leitor de cartão microSD USB, que apresenta o microSD em /dev/sdb
. Dependendo do seu sistema, você pode precisar usar um dispositivo de destino de mídia diferente.
Instalação do Fedora 33 O mínimo no microSD basicamente baixa uma imagem pré-instalada no cartão. Você precisará fazer toda a configuração mais tarde, quando iniciar o microSD no Raspberry Pi pela primeira vez.
Conecte seu Raspberry Pi a um monitor HDMI e um teclado USB, conecte o microSD e ligue-o. A primeira inicialização vai demorar um pouco enquanto você faz algumas tarefas de configuração inicial, durante o qual o Fedora lhe pede as configurações locais, incluindo fuso horário, senha de root e conta de usuário.
Uma vez que meu sistema estava instalado e funcionando, Consegui entrar como o root
Nome do usuário. Como não tenho um cabo de rede longo o suficiente para obter este Raspberry Pi, Eu precisava configurar uma rede sem fio. Na linha de comando, execute a ferramenta de linha de comando do Network Manager nmcli
para listar as redes sem fio disponíveis:
# nmcli lista de dispositivos wi-fi
E nmcli
encontre sua rede sem fio, então conecte-se a ela com isso nmcli
Comando “ligar”. Substituir $SSID
com o nome da sua rede wireless:
# nmcli dispositivo wi-fi conectar $ SSID --ask
Depois disso, O Network Manager cria automaticamente uma entrada para você no /etc/NetworkManager/system-connections
diretório, então o sistema se conectará a esta rede toda vez que você iniciar o Raspberry Pi.
Como executo o Raspberry Pi como um servidor na minha rede doméstica, além disso, preciso ter certeza de que o Raspberry Pi obtém o mesmo endereço IP sempre que se conecta à rede. Em uma rede doméstica, você pode fazer isso através do seu roteador sem fio. A maioria dos roteadores permite que você reconheça um endereço MAC e atribua a ele um endereço IP reservado.. Meu roteador doméstico emite endereços IP de 10.0.0.100, então dei ao Raspberry Pi um endereço IP reservado abaixo desse intervalo, sobre 10.0.0.11:
Acho que a maneira mais fácil de gerenciar meus sistemas Linux é com a ferramenta Cockpit. O Cockpit facilita o teste de seus servidores Linux por meio de um navegador da web, permitindo que você veja os registros, gerenciar armazenamento, configurar contas de usuário e instalar serviços. Fedora 33 ARM Minimal não instala o Cockpit por padrão, mas você pode instalá-lo facilmente como um pacote usando dnf
:
# dnf -y instale o cockpit
Depois de instalar o Cockpit, você precisa se certificar de que o serviço Cockpit está funcionando e ele irá reiniciar toda vez que você reiniciar o sistema. Fedora usa systemd
, então você precisa iniciar o serviço e habilitá-lo para cada reinicialização com esses dois comandos de “controle do sistema”:
# systemctl iniciar o cockpit # systemctl habilitar cockpit.socket
O firewall padrão do Fedora irá prevenir conexões com o seu dispositivo, então você também precisa abrir a porta no firewall local para aceitar conexões com o Cockpit. Você pode adicionar o serviço Cockpit usando o firewall-cmd
ferramenta de linha de comando:
# firewall-cmd --add-service = cockpit --permanent # firewall-cmd --recarregar
Agora você deve conseguir navegar em seu navegador para https://10.0.0.11:9090/ controlar seu Raspberry Pi remotamente.
Con Cockpit, pode completar qualquer outra tarefa de configuração do sistema que você precisa. Para terminar de configurar este Raspberry Pi como um servidor web, eu instalei o apache httpd
servidor web e PHP 7, então usei o Cockpit para configurar tudo para corresponder ao meu sistema de produção o mais próximo possível:
Você não precisa de um servidor caro para configurar um ambiente de servidor de teste robusto. Com um sistema operacional de servidor como o Fedora 33 ARM mínimo, você pode configurar rapidamente um servidor de teste barato em casa em um Raspberry Pi. E com Cockpit, você pode gerenciar tudo diretamente de seu navegador.