Contexte
Mon Raspberry Pi est enfin arrivé ce week-end :
Grosso modo il s’agit d’un mini PC sur une architecture ARM avec un port Ethernet…pour 40E ! Idéal pour un petit serveur web communicant avec mes montages Arduino 😉 Plus d’info sur le Raspberry Pi sur la page officiel ICI.
Hardware
Tout d’abord le matériel… il suffit de 3 choses :
- Câble alimentation micro usb capable de fournir plus de 700 mA (la majorité des chargeurs de portable feront l’affaire MAIS pas un port USB de PC dont le courant est limite (200mA si ma mémoire est bonne)),
- Cable ethernet,
- Carte SD de 4Go et classe 4 au minimum
Le clavier, la souris, et la sortie HDMI sont inutile puisque j’utilise putty pour me connecter sur le Pi (même la première fois).
Software
Installation
J’ai choisi d’installer une distribution spécialement dédié au Pi (base sur Debian) : Raspbian. Il s’agit d’une des distributions conseillées sur le site officiel dont l’image et la présentation sont disponible ICI.
La création de la carte SD est assez simple et clairement détaillé ICI.
Une fois la carte terminée est mise en place… le Raspberry peut effectuer son premier boot. Le Pi va obtenir en adresse IP grâce au serveur DHPC présent sur notre réseau. Cette adresse nous servira pour pouvoir se logger sur le Pi en SSH avec Putty. Il est maintenant possible de se connecter sur le Pi en utilisant putty (attendre qq minutes après la mise sous tension pour laisser le temps au boot de se terminer).
Le login par défaut est “user:pi // pass:raspberry).
Bonus :
Dans mon cas je souhaite que mon Raspberry garde toujours la même adresse IP donc je vais modifier la table d’adressage DHCP de mon serveur pour que l’adresse MAC de mon Pi soit toujours associe à l’IP 192.168.0.6.Pour cela il faut l’adresse MAC que l’on obtient avec ifconfig :
pi@raspberrypi ~ $ ifconfig
eth0 Link encap:Ethernet HWaddr b8:27:eb:df:0e:2e
inet addr:192.168.0.9 Bcast:192.168.0.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:158 errors:0 dropped:0 overruns:0 frame:0
TX packets:132 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:13571 (13.2 KiB) TX bytes:15732 (15.3 KiB)
Puis il suffit d’ajouter cette adresse dans le serveur DHCP avec lP 192.168.0.6
Mise à jour
La version de Raspbian disponible au moment où j’écris cet article présente certains bugs en particulier pour le module lighttpd (dont on aura besoin pour le serveur WEB) qui empêche l’installation. On va donc mettre a jour la version avec APT:
pi@raspberrypi ~ $ sudo apt-get update ... pi@raspberrypi ~ $ sudo apt-get upgrade ...
Installation du serveur Web
Rien de plus simple….a condition d’avoir mis a jour sa version !
pi@raspberrypi ~ $ sudo apt-get instal lighttpd
et si tout se passe bien vous devriez être capable d’ouvrir une page web sur l’IP de votre Pi qui devrait ressemble à :
Il faut ensuite activer la gestion du php en commençant par :
pi@raspberrypi /var/www $ sudo apt-get install php5-cgi
il suffit ensuite d’activer le support des modules ds lighttpd avec :
pi@raspberrypi /var/www $ sudo lighttpd-enable-mod fastcgi Enabling fastcgi: ok Run /etc/init.d/lighttpd force-reload to enable changes pi@raspberrypi /var/www $ sudo lighttpd-enable-mod fastcgi-php Enabling fastcgi-php: ok Run /etc/init.d/lighttpd force-reload to enable changes
On peut tester le résultat avec la page d’exemple suivante :
pi@raspberrypi /var/www $ cat test.php <html> <head> <title>PHP Test</title> </head> <body> <?php phpinfo(); ?> </body> </html>
Installation du serveur FTP
Pour le serveur FTP j’ai choisi vsftpd pour sa légèreté et rapidité. L’installation se déroule sans pb avec APT :
pi@raspberrypi ~ $ sudo apt-get install vsftpd Reading package lists... Done Building dependency tree Reading state information... Done The following NEW packages will be installed: vsftpd 0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. Need to get 149 kB of archives. After this operation, 329 kB of additional disk space will be used. Get:1 http://mirrordirector.raspbian.org/raspbian/ wheezy/main vsftpd armhf 2.3.5-3 [149 kB] Fetched 149 kB in 5s (27.8 kB/s) Preconfiguring packages ... Selecting previously unselected package vsftpd. (Reading database ... 54581 files and directories currently installed.) Unpacking vsftpd (from .../vsftpd_2.3.5-3_armhf.deb) ... Processing triggers for man-db ... Setting up vsftpd (2.3.5-3) ... Starting FTP server: vsftpd.
Apres l’installation il n’est pas encore possible de se connecter sur le Pi. On obtient pour le moment l’erreur suivante (avec le user pi) :
Statut : Connexion à 192.168.0.9:21... Statut : Connexion établie, attente du message d'accueil... Réponse : 220 (vsFTPd 2.3.5) Commande : USER pi Réponse : 530 This FTP server is anonymous only. Erreur : Impossible d'établir une connexion au serveur
Alors que la connexion fonctionne bien pour les utilisateurs anonymes. On va donc changer la configuration du daemon pour interdire les connections anonyme et autoriser les utilisateurs a se logger:
pi@raspberrypi ~ $ grep local_enable /etc/vsftpd.conf #local_enable=YES devient pi@raspberrypi ~ $ grep local_enable /etc/vsftpd.conf local_enable=YES
et
pi@raspberrypi ~ $ grep anonymous_en /etc/vsftpd.conf anonymous_enable=YES devient pi@raspberrypi ~ $ grep anonymous_en /etc/vsftpd.conf anonymous_enable=NO
la connexion anonyme est maintenant interdite et il est possible de se logger avec l’utilisateur Pi:
L’installation est terminée 😉
Pingback: Merge ! | Djynet
Pingback: Installation de Sqlite3 | Djynet