Instalar ubuntu 20.04 Server no Raspberry
Os termos rpi, pi e raspberry são sinónimos.Vai ser usado por defeito o ip 192.168.1.88 e o gateway 192.168.1.254.
Fazer o download da imagem com o rpi-imager para o microSD card que vai funcionar na placa raspberry
https://www.raspberrypi.org/software/Atenção à formatação da microSD, se o processo parar e não concluir, uma das causas é a deficiente formatação. Pode formatar usando um utilitário para windows (SD CARD FORMATTER).
O processo pode demorar muito tempo (em alguns casos mais de uma hora), por isso, tenha paciência até estar concluído.
Primeira instalação
Após a conclusão do NOOBS, inserir o SD Card na placa rpi.
Se usarmos a saída HDMI, na primeira vez que iniciar, o login é ubuntu, a password ubuntu é solicitado de imediato que crie uma nova pass.
Podemos sem a saída hdmi ligada aceder diretamente através de ssh. Primeiro vamos verificar nossa rede qual o ip e dispositivo.
Linux ou OSX
Windows
O resultado linux windowsnota: no windows se o computador já funcionou com outras placas sem terminar a sessão os IPs anteriores vão aparecer se forem diferentes do atual.
ligação por ssh
Para ligar através de terminal pode-se usar o putty ou usar o terminal diretamente no caso do linux ou OSX
Irá aparecer uma indicação de uma chave a primeira ver que ligarmos, digitamos "yes". Já estamos no nosso rpi a primeira coisa que vamos fazer é atualizar o sistema.Vai demorar algum tempo até terminar (em alguns casos mais de 10 minutos)
Alterar a porta de acesso pelo ssh
Um dos hobbies preferidos de alguns aprendizes de "Ácaro" é tentar aceder aos sistemas através de ssh, fazem a ligação e experimentam milhões de password até entrarem. Este tipo de ataque pode ser feito facilmente ao rpi se não tivermos medidas de proteção. Assim, a primeira medida para evitar estes ataques é mudar a porta do ssh, normalmente uso uma porta acima de 49000, neste caso vamos mudar para 49814 como exemplo. Existem outras medidas de proteção (firewall etc etc)
Vamos alterar este ficheiro em duas linhas O maxsessions permite que existam mais de uma ligação, isso será útil no funcionamento de dispositivos externos por ssh, por defeito, apenas uma ligação é permitida com este protocolo de comunicação. Agora podemos ligar ao nosso raspberry com outros acessos.Nota: No caso de ligação com o putty, deve ser alterada a porta de 22 para 49814.
Acesso root
Para executar um comando com acesso administrativo, podemos usar o comando "sudo" antes do que pretendemos executar, por exemplo,
este comando pode ser executado sem permissões especiais se o ficheiro não tiver proteção de escrita e a pasta de destino permitir, mas, se existir alguma proteção preciamos de acesso administrativo (acesso root) usamos então
Mas, no caso da instalação, se estamos sistematicamente a usar comandos que necessitam de permissão administrativa, podemos digitar
sudo -i e deixamos de precisar de colocar sudo.
IP fixo na rede, por cabo e por wi-fi
Este procedimento aplica-se apenas às versões 20.04 e 20.10 a versão 22.04 tem algumas alterações. Não pode se executado em versões anteriores à 20.04.
Precisamos de aceder facilmente ao rpi, se o ip mudar sempre que exista uma nova ligação, não conseguimos automatizar o sistema para aceder facilmente, é por isso fundamental fixar tanto o ip por cabo "eth0" como da rede wifi "wlan0".
Como ip dinâmico podemos usar o ARP para saber qual o ip, mas, se usarmos um webserver torna-se incomodo e inútil o ip estar sempre a mudar.Desde o ubuntu 18.04, o ip pode ser gerido dentro da pasta /etc/netplan, com o netplan.
ATENÇÃO: Os ficheiros de configuração do NETPLAN tem estrutura organizacional, usem "espaços" e não "tabs".
Na pasta /etc/netplan digitamos ll ou ls -l e encontramos um ficheiro de configuração de rede yaml.
Editamos o ficheiro
A edição de ficheiros no linux pode ser feita com um dos dois editores que vêm por defeito "NANO" e "VI" mas, quem não está muito familiarizado pode usar uma ligação com o WINSCP(https://winscp.net) e editar com um programa com interface gráfico. Nos próximos passos, onde está "nano" pode ser usado "vi" ou, no caso da gestão com o winscp, deve ser feito um acesso com permissão root.
Verificamos que primeiro passo é desligar a configuração automática criando o ficheiro com
e inserindo
Agora vamos fixar o nosso ip em 192.168.1.88 alterando o ficheiro 50-cloud-init.yaml
Como este ficheiros yaml definem o nosso acesso à internet e facilmente ficam sem funcionar porque usamos a tab em vez do espaço ou qualquer um das mil e uma possibilidade de estragar a configuração, vamos fazer uma cópia de segurança.
editamos a configuração
Uma das config que estou a usar
Verificamos se a configuração está correta com
(atenção este ficheiro é muito sensivel e, em caso de erro, fica-se de imediato sem rede)
No caso de não existir erro podemos aplicar de imediato a configuração
Podemos ver que temos mais um interface, o wlan0 que é o Wi-Fi
podemos assim criar um novo ficheiro de configuraçãoNeste caso usamos o ip 192.168.2.40 para o wi-fi no grupo 192.168.2.x
Verificar no router qual o ip disponível para a rede wi-fi.
Podemos agora verificar se estão ambas as placas a funcionar usando o comando o device wlan0 já terá um ip atribuido
ip addr
Já temos a nossa placa rpi instalada e configurada em termos de hardware e network, agora vamos instalar o software básico de funcionamento.
Instalar software no Raspberry
O computador já se encontra funcional mas, que programas vamos precisar para os nossos projetos. Necessitamos como base de um servidor de web, uma base de dados, linguagens de programação para interagir com o rpi. Começamos por instalar o LAMP (Linux, Apache, MySQL, PHP).
- APACHE: Servidor de Web;
- PHP: Linguagem de script open source de uso geral, para o desenvolvimento web que pode ser embutida dentro do HTML;
- MYSQL: Base de dados relacional;
- PHPMYADMIN: Gestor de base de dados mysql;
- PYTHON: Linguagem de programação;
- PIP: Package Installer for Python.
Como instalar modules python
Por exemplo o module tinha a designação de gpiozero
para desinstalar
Permissões dos ficheiros
Por defeito os ficheiros(FILES) de trabalho têm permissões 0644 e as directorias(DIR) 0755
Também cada ficheiro tem permissões de escrita ou leitura (atributos), que nos é dado pelo chmod
Para alterar as permissões
Cada ficheiro tem um user e grupo atribuido
Se o ficheiro for criado pelo user rpi, o owner será rpi.
Criar file test
Atribuir user/grupo