Un premier tuto sur ce ptit jouet pour geek qu’est le Raspberry. On va prendre contact avec la bête et lui installer un système. Étant plutôt du coté Red Hat, je vais tester la Fedora pour PI, appelée Pidora. On en profitera pour préparer la couche web (Apache, PHP et mysql). (Article de mai 2014, Pidora n’a pas bougé de version depuis …)
Introduction
Mini article pour mini serveur, on va installer un LAMP basé sur un Red Hat like. On reste en terrain connu donc à par le mode d’installation du système. En effet, on va installer le système du Raspberry à partir d’une autre machine, équipé d’un lecteur de cartes SD.
Pour la carte, j’ai pas de préco particulière, j’ai fait des tests avec des cartes de 4G ayant des perfs de merde, ça ne semble pas pénaliser le système.
Installation du système
La distribution Pidora est disponible à partir de son site officiel :
http://pidora.ca/
On récupère l’archive contenant l’image du système :
cd /tmp/
wget http://pidora.ca/pidora/releases/20/images/Pidora-2014-R3.zip
unzip Pidora-2014-R3.zip
On copie ensuite l’image sur une carte SD (branchée en direct ou via un périphérique USB genre un appareil photo)
umount /dev/sdb
dd if=/tmp/Pidora-2014-R3.img of=/dev/sdb bs=4M
On peut ensuite faire démarrer le RPI (avec la SD en place bien-sur ^^).
Configuration du système
Si vous êtes en DHCP, le RPI va récupérer une IP, connectez vous en SSH avec le root (faire quelques pings au pif pour trouver son IP).
Si vous n’êtes pas en DHCP sur votre LAN, ben euh … bonne chance :D Je n’avais pas de quoi brancher le RPI sur un écran à cette époque mais on doit pouvoir configurer le Pidora avec un écran HDMI et un clavier USB.
Mot de passe root par défaut : raspberrypi. On pense à le changer :
passwd
Resize la partition root et mise à jour :
vim /boot/headless
RESIZE
yum install vim -y
yum update -y
Ce fichier /boot/headless est spécifique à cette distribution, on peut y paramétrer des comportements au démarrage, dont le redimensionnement de la partition On reboot la machine, afin d’effectuer l’extension de l’espace disque et appliquer un éventuel nouveau noyau.
Installation couche web
On installe les paquets “classiques” pour cette architecture moins classique ;-)
yum install httpd.armv6hl mariadb-server php.armv6hl php-mysqlnd.armv6hl
Démarrage au boot d’Apache et MariaDB :
chown mysql:mysql /var/log/mariadb -R
systemctl enable mariadb
systemctl enable httpd
On configure rapidement Apache :
rm /etc/httpd/conf.d/welcome.conf
vim /etc/httpd/conf/httpd.conf
DocumentRoot "/var/www/<nom_projet>/public"
<Directory "/var/www/<nom_projet>/public">
mkdir /var/www/<nom_projet>
On démarre les services :
systemctl start httpd
systemctl start mariadb
On définit le MdP root pour MariaDB :
mysqladmin -u root password '<admin_pass>'
mysqladmin -u root -p create <nom_projet>
Via SCP ou autre, on récupère notr eprojet web et on le déploie :
mysql -u root -p <nom_projet> < /root/<nom_projet>.sql
cd /var/www/
tar zxvf /root/<nom_projet>.tar.gz
chown apache:apache <nom_projet> -R
Avec son navigateur, on va sur l’URL suivante pour vérifier que la couche web fonctionne :
http://<ip_RPI>/
Si tout est OK, on va sauvegarder la carte SD dans un fichier img. On éteint le RPI (avec halt -p encore mieux), on remet la carte SD dans notre lecteur du début. Puis on lance la commande dd dans l’autre sens :
dd if=/dev/mmcblk0 of=/root/<mon_projet>-sdcard.img
On a ainsi une image prête à l’emploi pour d’autres Raspberry Pi ou pour faire une restauration de son Horti’Buddy pendant le dev. Il faudra une procédure un peu plus poussée pour la vraie sauvegarde une fois en production.
Conclusion
Encore un article succinct mais bon, pour le coup pas besoin d’en mettre une tonne, on est en terrain connu ! Cette distrib me plait car très proche de la Red Hat mais j’ai une petite crainte sur la pérennité du projet Pidora. En effet, il n’y a pas eu de nouvelle version entre mes tests de mai 2014 et maintenant, pas bon signe …
Tout mon projet PHP/MySQL fonctionne nickel, on ressent une latence lors de requêtes select mais ça reste raisonnable. L’OS démarre rapidement et je n’ai pas eu de problème avec la couche réseau (par contre, quelle galère le yum update avec ma 512k non dégroupée).
Références
La doc Pidora pour le resize.