Raspberry pi : Développer une petite application web sur Raspberry
Intoduction
Le Raspberry Pi est un nano-ordinateur basé sur une architecture ARM (conçu par David Braden) permet l'exécution de plusieurs variantes du système d'exploitation libre Linux et des logiciels compatibles.
Destiné à encourager l'apprentissage de la programmation informatique, il est fourni nu c'est a dire la carte mère seule (dans le but de diminuer les coûts et de permettre l'utilisation de matériel de récupération).
Cette machine, de la taille d'une carte de crédit, est idéale pour fonctionner en serveur.
On appelle serveur Web aussi bien le matériel informatique que le logiciel, qui joue le rôle de serveur informatique sur un réseau local.Nous allons donc l'utiliser pour installer un serveur Web sous Raspbian «wheezy» sur le réseau local
I) Préparation du Raspberry (de base)
a) Le branchement
Processeur : ARM 700MHz ;
RAM : 256 Mo ;
2 Sorties vidéo : Composite et HDMI ;
1 Sortie audio stéréo Jack 3 5 mm (sortie son 5.1 sur la prise HDMI) ;
2 Port USB 2.0 ;
1 Port ethernet ;
b) Installer Rasbian « wheezy »
Il s'agit du système d'exploitation associé recommandé par le fabricant du Raspberry Pi.
Il faut le télécharger sur le site suivant : http://www.raspberrypi.org/dowloads.
Et copier ensuite l'image du système 2013-05-25-wheezy-raspbian.img sur une carte SD.
c) Préparer la carte SD
Sous Linux, il faut d'abord déterminer le chemin du périphérique correspondant à la carte SD avec la commande df
(disk free : espace libre et utilisé par les partitions).
$ df -h..../dev/sdb1 299G 70G 229G 36% /media/DONNEES /dev/sdc1 3,9G 0 3,9G 0% /media/ADFB-008C
Chercher la ligne correspondant à la carte mémoire : il s'agit de la ligne avec la valeur qui se rapproche le plus de la carte SD, ici 3,9Go pour une carte de 4Go.
Puis, démontez la partition :
$ sudo umount /dev/sdcMaintenant, vous pouvez copier l'image sur le carte SD :
$ sudo dd bs=1M if=~/2013-05-25-wheezy-raspbian.img of=/dev/sdc
d) Le premier démarage
Insérer la carte SD
login : pi
mot de passe : rapberry
Pour afficher l'interface graphique: startx
e) Configurer le raspberry
Mettre le clavier en AZERTY
sudo nano /etc|default|Keyboard
avant
après
Mettre le système en francais
sudo raspi-config
change-Locale (langue de l'environnement local)[fr_FR-UTF-8uniquement]
change-Timezone (établir l'heure locale de Raspbian)[Ocean Indien> Reunion]
Faire les mises à jour
sudo apt-get update
sudo apt-get upgrate
II) Prépararation plus approfondie
a) Créer une adresse IP fixe
Nous avons créé une adresse IP fixe, c'est la pratique de base pour un serveur web, elle reste la même se qui facilite son identification et ses paramétrages .
sudo etc/network/interfaces
b) Installer SSh (Secure Shell)
Le serveur SSH permet d'établir un contrôle sécurisé à distance avec le Raspberrypi (accéder au système grâce au terminal).
sudo apt-get install openssh-server
pour l'activer : sudo service ssh start
pour arrêter : sudo service ssh stop
pour relancer : sudo service ssh restart
c) Installer VNC (Virtual Network Computing)
Le serveur VNC permet lui d'accéder au système via un autre ordinateur, celui-ci est utilisé comme écran à distance.
sudo apt-get install tightvncserver
pour activer vnc sur le raspberrypi: vncserver :1
Il faut l'utiliser en parallèle avec le logiciel libre Remmina => 172.18.40.26.1
d) Installer le serveur FTP (Pure-FTPd)
Le serveur FTP (File Transfer Protocol) est un protocole utilisé sur Internet pour l'échange de fichiers, il permet de récupérer et d'envoyer des fichiers sur un serveur .
sudo apt-get install pure-ftpd
=>FileZilla est un client polyvalent et compatible ainsi que simple d'utilisation. (organisation)
III) Le serveur LAMP
Un serveur LAMP est serveur Web. Il fait référence aux quatre composantes d'un tel serveur Web :
Linux : le système d'exploitation constituant la base du système.
Apache : le serveur HTTP qui gère la communication avec le client.
MySQL : le système de gestion de base de données.
PHP : le langage de script utilisé pour générer les pages dynamiques.
a) Le serveur HTTP (Apache)
Apache est le plus populaire des serveurs HTTP. Il est produit par la « Apache Software Foundation » (c'est un logiciel libre fourni sous la licence spécifique Apache) .
sudo apt-get install apache2
Le contenu de cette page provient du fichier /var/www/index.html. Les sites Web seront gérés par Apache et devront se situer à l'emplacement /var/www.
Nous avons configurer Apache, c'est à dire : tirer root en tant qu'utilisateur pour avoir mains mise sur les droits, ceci afin d'accéder librement et de pourvoir faire les modifications désirés (exemple : renommer les dossiers)
sudo leafpad /etc/apache2.conf/
b) Le système MySQL et le langage PHP
sudo apt-get install php5
sudo apt-get install mysql-server
sudo apt-get install libapache2-mod-php5
sudo apt-get install php5-mysql
sudo apt-get install phpmyadmin
(mot de passe sql: qwa123ty)
Conclusion
J'ai pu réaliser mon serveur web malgès mon manque de connaissance en informatique.
Grace à ce projet, j'ai pu acquérir les bases en informatique. Créer un serveur web a était pour moi, un projet très captivant et a solicité toutes mes capacités et beaucoup de mon temps.
J'ai pu découvrir ce que c'était qu'un Raspberry pi, le manipuler mais aussi découvrir différent langage, système et méthode dans le cadre de la création de serveur. De plus, ce projet m'a permit de mettre en avant mon site réalisé au cours de l'année (« CILAOS »).
Sources: