WARNING Nós não sugerimos que ninguém tente rodar um site de face pública em um Raspberry Pi, ou mesmo em qualquer servidor baseado em casa/escritório. Não fizemos nenhuma tentativa de tornar o servidor web seguro, pois não foi um problema para o nosso projeto. Mais pesquisas seriam necessárias para endurecer a pilha LAMP antes que o servidor pudesse ser exposto na internet.
Instalar Linux
- Instalar o sistema operacional Raspbian (baseado no Debian Linux)
- Utilizar a IU para definir uma senha de login e desabilitar o login automático
- Utilizar a IU para definir um endereço IP fixo e nome de host personalizado
- Reboot e login com sua nova senha
- Atualizar com o sudo apt-actualiza-te e sudo apt-get dist-upgrade (um bom momento para ir e fazer uma xícara de chá, pois demora um pouco)
- Um último reboot como um ou mais dos upgrades é obrigado a requerê-lo
Instalar Apache
sudo apt-get install apache2 -y
Teste localmente por abrindo o navegador do Pi e visitando http://localhost/ e opcionalmente testando também através de um computador em rede visitando http://your-pi’s-ip-address
Os arquivos serão armazenados em /var/wwww/html/ – para facilitar a vida dei a todos os usuários acesso de escrita a esta pasta:
sudo chmod -R 777 /var/www/html
Saberemos se isso funcionou quando testarmos o PHP no próximo passo.
Instalar PHP
sudo apt-get install php libapache2-mod-php -y
Pode testar o PHP substituindo o ficheiro index.html padrão por um ficheiro index.php (sugira que contém phpinfo();) em /var/wwww/html – se achar que não pode apagar, criar ou modificar ficheiros neste directório então verifique duas vezes as permissões no passo acima
TIP Até agora o processo tem sido à prova de tolice mas achei que configurar correctamente o MySQL e que os utilizadores são um pouco de processo de tentativa e erro. Foram necessárias várias tentativas para criar o sistema abaixo – o que pode não estar certo para você ou ainda estar correto quando você ler isto. Este pode ser um bom momento para fazer uma imagem do cartão SD do seu Pi para que você possa experimentar e voltar rapidamente a este passo se necessário.
Install MySQL Server
sudo apt-get install mysql-server php-mysql -y
A instalação não pede mais uma senha para root, em vez disso você precisa executar
sudo mysql_secure_installation
e responder a algumas perguntas. Lembre-se aqui que estamos lidando com o usuário root do MySQL NÃO o usuário root do Linux, então você pode usar senhas diferentes se quiser – apenas mantenha bons registros.
Restart Apache:
sudo service apache2 restart
Tente agora entrar no MySQL como o novo usuário root digitando a senha que você acabou de configurar quando solicitado:
mysql -u root -p
Se seu acesso for negado, então você precisará executar os seguintes passos adicionais.
Primeiro use sudo para entrar no MySQL:
sudo mysql -u root
Acesso à tabela MySQL:
USE mysql;
E agora a parte mágica:
UPDATE user SET plugin='mysql_native_password' WHERE User='root';
então
FLUSH PRIVILEGES;
agora
quit
e
service mysql restart
então tente entrar novamente como acima – ou seja, sem usar sudo. Se você não consegue iniciar o Googling – não prossiga até que você tenha dado este passo.
Instalar o PHPMyAdmin (opcional)
Pode não necessitar disto mas para o meu projecto decidi instalar a GUI de administração MySQL com a qual estou mais familiarizado – PHPMyAdmin.
sudo apt-get install phpmyadmin
(confirme que quer continuar, seleccione o servidor apache2, clique yes para configuração de pacotes, PROVIDE A PASSWORD e grave-a. Se você deixar a senha em branco ela cria uma aleatória para você mas, até onde eu posso ver, nunca lhe diz o que é!
Editar o arquivo /etc/apache2/apache2.conf adicionando a linha
include /etc/phpmyadmin/apache.conf
ao final do arquivo.
Restart Apache:
sudo /etc/init.d/apache2 restart
Teste visitando http://localhost/phpmyadmin e logon com o nome de usuário phpmyadmin e a senha que você forneceu durante a configuração.
Instalar Filezilla FTP Client (opcional)
Existem muitas maneiras de lidar com o FTP, mas eu escolho manter o que sei e instalar o Filezilla:
sudo apt-get install filezilla
O passo mais importante!
Quando estiver satisfeito, certifique-se de que tudo está funcionando para que você possa se recuperar rapidamente de qualquer problema. Os SD Cards não são muito robustos ou de longa duração, então espere que falhe e planeje de acordo. Você vai agradecer a si mesmo por isso!
Conclusion
Com a excepção de instalar o MySQL o processo é incrivelmente rápido e fácil. O servidor resultante é confiável e mais do que capaz de executar a ferramenta de administração baseada em WordPress que queríamos trazer para dentro de casa. O servidor web baseado em Pi agora fica ao lado da nossa unidade NAS baseada em Pi e estamos nos perguntando o que podemos construir a seguir!