Installer un serveur WEB et PHP sur Raspberry Pi

Quels sont les Serveurs WEB les plus adaptés au Raspberry Pi ?
A quoi sert PHP ?
Comment installer le serveur WEB NGINX avec prise en compte de PHP ?

Introduction


Comme promis dans l'article sur le choix de l'OS, je vais vous montrer comment installer un serveur WEB ou serveur HTTP, c'est la même chose...

Un serveur HTTP, c'est le programme qui fourni les pages WEB à votre navigateur lorsqu'il en fait la demande via le protocole réseau du même nom. Ce logiciel me sera très utile dans le cadre de mon projet de régulation de température. Il permettra en effet d'afficher les pages WEB dans lesquelles je pourrais superviser et contrôler le système.

PHP est un langage de scripting multi usage qui est très populaire dans le milieu du WEB pour construire des sites internet. Au delà du code HTML, Javascript et CSS qui vont servir respectivement à décrire le contenue, l’interaction et la présentation des composants d'une page WEB, le PHP permet de générer dynamiquement tout ou partie d'une page. Par exemple, je pourrai facilement construire une page qui affiche dynamiquement la température ou l'état d'activation du chauffage centrale...


Le choix du serveur HTTP


Des serveurs HTTP, il en existe plein, codés dans tous les langages, pour toutes les OS, plus ou moins performants, plus ou moins lourds, ...
Mon choix en peu arbitraire mais motivé par des soucis de performances et de légèreté système se portera sur le serveur Russe NGINX. Ce comparatif appuie ma décision, on voit clairement qu'il se défend bien au niveau performances en tout cas.


Installation de NGINX et PHP


C'est parti !

  • On commence par mettre à jour l'OS :
$ sudo apt-get update
$ sudo apt-get upgrade

  •  On continue avec l'installation des paquets :

$ sudo apt-get install nginx php5-fpm php5-cgi php5-cli php5-common

  • Création de l'utilisateur www-data et de son groupe qui exécutera le NGINX :

$ sudo useradd www-data
$ sudo groupadd www-data
$ sudo usermod -g www-data www-data

  • Création du répertoire qui servira de racine pour le serveur WEB et affectation à l'utilisateur www-data :

$ sudo mkdir /var/www
$ sudo chmod 775 /var/www -R
$ sudo chown www-data:www-data /var/www

  • Edition du fichier de configuration de NGINX :

$ sudo nano /etc/nginx/sites-enabled/default

Commenter les lignes suivantes en ajoutant un #

# listen [::]:80 default_server ipv6only=on;
...
# root /usr/share/nginx/www;

Ajouter la ligne suivante au niveau de la dernière ligne commentée

root /var/www;

  • Créer le fichier /etc/nginx/sites-available/rpi :
$ nano /etc/nginx/sites-available/rpi

copier la configuration suivante dans le fichier :

server {
  listen   80; ## listen for ipv4
  server_name  rpi;

  access_log  /var/log/nginx/rpi.access.log;
  error_log   /var/log/nginx/rpi.error.log;

  error_page 550 /550.php;

  root   /var/www;

  location / {
    root   /var/www;
    index  index.php index.html index.htm;
  }

  ## Parse all .php file in the /var/www directory
  location ~ \.php$ {
    fastcgi_split_path_info ^(.+\.php)(.*)$;
    fastcgi_pass   127.0.0.1:9000;
    fastcgi_index  index.php;
    fastcgi_param  SCRIPT_FILENAME  /var/www$fastcgi_script_name;
    include fastcgi_params;
    fastcgi_param  QUERY_STRING     $query_string;
    fastcgi_param  REQUEST_METHOD   $request_method;
    fastcgi_param  CONTENT_TYPE     $content_type;
    fastcgi_param  CONTENT_LENGTH   $content_length;
    fastcgi_intercept_errors        on;
    fastcgi_ignore_client_abort     off;
    fastcgi_connect_timeout 60;
    fastcgi_send_timeout 180;
    fastcgi_read_timeout 180;
    fastcgi_buffer_size 128k;
    fastcgi_buffers 4 256k;
    fastcgi_busy_buffers_size 256k;
    fastcgi_temp_file_write_size 256k;
  }

  ## Disable viewing .htaccess & .htpassword
  location ~ /\.ht {
    deny  all;
  }
}
  • Créer le lien symbolique suivant pour activer la configuration de site précédente:
$ sudo ln -s /etc/nginx/sites-available/rpi /etc/nginx/sites-enabled/rpi

  • Editer le fichier de configuration de php-fpm :
$ sudo nano /etc/php5/fpm/pool.d/www.conf

Commenter la ligne suivante en ajoutant un ;

; listen = /var/run/php5-fpm.sock

Ajouter la ligne suivante juste au dessous de la dernière ligne commentée

listen = 127.0.0.1:9000

Modifier les valeurs ci-dessous afin d'optimiser les paramètres d'exécution
...
pm.max_children = 2
...
pm.min_spare_servers = 1
...
pm.max_spare_servers = 2
...

  • Re-démarrer les services :
$ sudo service php5-fpm restart
$ sudo service nginx restart


Raspberry Pi is my hobby

36 commentaires

#1 lundi 09 décembre 2013 @ 11:12 jeromef a dit :

hello merci pour le tuto... mais au restart de Nginx, j'ai toujours un

Restarting nginx: nginx: [emerg] invalid number of arguments in "root" directive in /etc/nginx/sites-enabled/default:26
nginx: configuration file /etc/nginx/nginx.conf test failed

J'ai fouillé et essayé de modifier quelques param mais sans succès... Un indice ?

Merci d'avance

#2 mercredi 12 mars 2014 @ 22:26 charlynux a dit :

a tu résolu le problème car j'ai le même?

#3 dimanche 10 août 2014 @ 19:33 vinz a dit :

Bonjour,

Jeromef, charlynux,

J'arrive un peut tard mais bon.
J'avais la même erreur, il me manquait une accolade à la fin d'une de mes directives.

Cordialement,

#4 dimanche 10 août 2014 @ 19:43 vinz a dit :

et aussi un ;

#5 lundi 08 décembre 2014 @ 16:49 Coiffure a dit :

Tu sais vraiment plein de choses, c'est dingue ! Bravo en tout cas

#6 mercredi 17 juin 2015 @ 01:13 Julien a dit :

Hello,

Je voulais vous informer que vous avez une erreur 404 votre image http://saysblog.net/themes/defaut/img/favicon. Sinon j'aime bien votre site ;)

#7 mardi 30 juin 2015 @ 04:52 Sofia a dit :

Merci pour ce superbe article

#8 mardi 07 juillet 2015 @ 03:36 Serrurier Paris 15 a dit :

Hello,

Super, merci pour l'info

#9 samedi 25 juillet 2015 @ 12:20 assurance chien macif a dit :

Hello,

Super, merci pour l'info

#10 mardi 28 juillet 2015 @ 16:40 prix assurance chien a dit :

Hello,

Super, merci pour l'info

#11 jeudi 06 août 2015 @ 11:18 calcul endettement net a dit :

Bonjour,
Avez vous un lien pour que je puisse télécharger l'article en PDF pour l'imprimer ?
Bien à vous

#12 mercredi 12 août 2015 @ 07:51 formation vtc pole emploi a dit :

Je vous remercie infiniment pour toutes ces informations

#13 vendredi 21 août 2015 @ 13:55 urbiz.fr: code promo paypal eb a dit :

J’adore votre site internet et je le visite très souvent
Je me permet donc de mettre un lien vers le mien.C’est un guide ou vous trouverez des codes promos à utiliser sur vos sites préférés.
Patrick de http://www.urbiz.fr/

#14 lundi 24 août 2015 @ 02:28 code promo uber 2014 a dit :

Excellent article. je vous remercie pour l'effort :)
J'édite un site internet concernant les codes promo uber , n'hésitez pas a me rendre visite.

#15 vendredi 28 août 2015 @ 04:28 code promo amazon jouet a dit :

Excellent article. !!

#16 mercredi 02 septembre 2015 @ 01:31 générateur de kamas dofus grat a dit :

Article très intéressant , c’est un plaisir de vous lire.

#17 lundi 07 septembre 2015 @ 18:42 urgence serrurier paris 15 a dit :

Article très intéressant , c’est un plaisir de vous lire.

#18 jeudi 17 septembre 2015 @ 16:09 serrurier paris 16 a dit :

Article très intéressant , c’est un plaisir de vous lire.

#19 vendredi 18 septembre 2015 @ 23:31 urgence serrurier paris 16 a dit :

Article très intéressant , c’est un plaisir de vous lire.

#20 vendredi 25 septembre 2015 @ 08:29 acheter kamas paypal a dit :

Article très intéressant , c’est un plaisir de vous lire.

#21 mercredi 07 octobre 2015 @ 11:34 acheter kamas dofus paypal a dit :

Point de vue intéressant, y aura t-il une suite ?

#22 dimanche 18 octobre 2015 @ 07:07 serrurier a paris 1 a dit :

Point de vue intéressant, y aura t-il une suite ?

#23 mardi 20 octobre 2015 @ 23:27 voyance par mail a dit :

Article interessant , je le met dans mes favoris et je le partage avec mes amis , merci beaucoup

#24 mardi 27 octobre 2015 @ 04:14 serrurier a paris a dit :

Article interessant , je le met dans mes favoris et je le partage avec mes amis , merci beaucoup

#25 mardi 27 octobre 2015 @ 12:44 serrurier fichet paris a dit :

Article interessant , je le met dans mes favoris et je le partage avec mes amis , merci beaucoup

#26 mardi 03 novembre 2015 @ 17:50 test psychotechnique permis de a dit :

Article interessant , je le met dans mes favoris et je le partage avec mes amis , merci beaucoup

#27 mardi 03 novembre 2015 @ 23:52 entrainement test psychotechni a dit :

Article interessant , je le met dans mes favoris et je le partage avec mes amis , merci beaucoup

#28 mercredi 18 novembre 2015 @ 09:57 serrurier a dit :

Je suis d'accord avec vous

#29 mercredi 18 novembre 2015 @ 23:26 fichet paris a dit :

Je suis d'accord avec vous

#30 samedi 28 novembre 2015 @ 14:29 Kloe a dit :

Bonjour, où se trouve le flux RSS de votre blog ? Je ne l'ai pas trouvé.

Kloe

#31 mercredi 23 décembre 2015 @ 00:41 Maxence a dit :

Salut, super quel plaisir de lire ce genre d' info, je partage cette page sur mes reseaux sociaux

#32 lundi 18 janvier 2016 @ 15:29 serrurier paris a dit :

Je suis d'accord avec vous

#33 lundi 25 janvier 2016 @ 09:38 depannage electricite bruxelle a dit :

Votre site est il à jour ? je souhaite mettre un lien sur mon site depannage electricite bruxelles http://plombierbruxellespro.be/

#34 lundi 25 janvier 2016 @ 21:17 déboucher un évier a dit :

Votre site est il à jour ? je souhaite mettre un lien sur mon site déboucher un évier http://plombierbruxellespro.be/

#35 mardi 01 mars 2016 @ 23:29 serrurier-meudon-services.fr a dit :

Votre site est il à jour ? je souhaite mettre un lien sur mon site serrurier-meudon-services.fr http://serrurier-meudon-services.fr

#36 mercredi 13 avril 2016 @ 09:26 serrurier meudon a dit :

Merci beaucoup pour ce post. Continuez.

Écrire un commentaire

Quelle est la première lettre du mot qiay ? :