Créer un site avec PluXml et Nginx
Vous avez pu lire l'article vous permettant de créer un site avec PluXml et Apache, mais préférez-vous utiliser ou tester Nginx.
Le serveur Apache est souvent choisi par les administrateurs car il est puissant, extensible et peut interpréter un grand nombre de langages. Il gère les contenus dynamiques en mode natif.
Nginx, en plus de surmonter le nombre de connexion simultanées, est légé, adapté aux machines ayant des ressousrces matériel minimum, et il est réactif en charge. Il ne gère pas les contenus dynamiques en mode natif. Pour le PHP, il faut le configurer.
Entre ces deux serveur Web puissant, Nginx sera le plus légé pour un petit ordinateur comme un Raspberry Pi.
Pré-requis :
Cette fois ci, pour le fonctionnement de PluXml, nous avons fait le choix du serveur Web Nginx, de PHP5-FPM pour la communication du serveur Web avec PHP5 et de PHP5-GD pour la gestion des images.
Nous allons l'installer sur un ordinateur miniature, la Raspberry Pi pour la distribution Rasbian. Cela vous permettra d'avoir votre site Web chez vous pour un faible coût.
Installation :
1- Installer un serveur web de type LAMP (Linux - Apache (Nginx) - MySQL - PHP) :
L'installation de la base de donnée MySQL n'est pas nécessaire.
Comme serveur Web, nous avons vu Apache et maintenant nous installerons Nginx :
$ sudo add-apt-repository ppa:nginx/stable
$ sudo apt-get update
$ sudo apt-get install nginx-full php5 php5-gd php5-fpm
Démarrer le service Nginx :
$ sudo service nginx start
2- Vérifier que Nginx fonctionne :
Lancer le test de configuration :
$ sudo service nginx configtest
Testing nginx configuration: nginx.
Nous allons aussi vérifier que Nginx fonctionne correctement en nous rendant sur l’adresse de votre serveur Web, la Raspberry Pi.
Pour ce faire, taper votre adresse local dans votre navigateur à partir de cette machine :
http://localhost
Vous devriez alors obtenir une page avec le message Welcome to nginx! Votre serveur Web Nginx fonctionne.
Arrêter le serveur Web :
$ sudo service nginx stop
3- Vérifier que PHP fonctionne :
Supprimer le fichier index.html dans le répertoire /var/www/html/ :
$ rm /var/www/html/index.html
Si il n'existe pas, créez le fichier index.php qui servira à la vérification :
$ echo "<?php phpinfo(); ?>" > /var/www/html/index.php
Cette commande permet l'affichage des informations PHP lors de l'ouverture du fichier index.php du répertoire /var/www/html/. Vérifiez-le à votre adresse local :
http://127.0.0.1/
Normalement, si vous voyez PHP Version suivit du numéro de version, c’est que PHP fonctionne.
PHP 7.0 dans l'exemple.
Configuration :
1- Description de Nginx :
- /etc/nginx/ : dossier contenant les fichiers de configuration de Nginx
- sites-available/: dossier contenant la liste des fichiers de configuration des sites disponibles
- sites-enabled/: dossier contenant la liste des fichiers de configuration des sites actifs
- nginx.conf: le fichier de configuration principal
- conf.d/: dossier contenant des fichiers de configuration supplémentaires
2- Configuration de Nginx pour PHP :
Nous allons autoriser Nginx à diffuser du contenu en utilisant PHP :
$ sudo nano /etc/nginx/sites-available/default
Chercher les lignes pour les décommenter (supprimer #) :
#listen 80; ## listen for ipv4; this line is default and implied
#listen [::]:80 default ipv6only=on; ## listen for ipv6
Cela afin de permettre à Nginx d'écouter sur le port 80 (http) les requêtes IPv4 et IPv6.
Modifier la liste d'index, afin de prioriser les pages en *.php par :
root /var/www/votresite;
index index.php index.html index.htm;
... Le contenu de ce fichier de configuration avec prise en compte des variables .htaccess, du mod_rewrite pour PHP et FastCGI doit se rapprocher de cette configuration :
server { # Cacher le fichier version : # Ligne très importante pour éviter le vol de mot de passe location / { |
Afin de rendre votre site accéssible depuis l'extérieur, modifiez dans /etc/nginx/sites-available/default :
server_name votresite.fr;
Modifier le fichier php.ini comme demandé dans /etc/nginx/sites-available/default :
$ sudo nano /etc/php5/fpm/php.ini
Pour une configuration sécurisé de PHP, supprimer le point-virgule et en modifier la valeur de 1 à 0 :
cgi.fix_pathinfo=0
Démarrer Nginx et redémarrer php5-fpm :
$ sudo service php5-fpm reload && sudo service nginx start
Tapez l'adresse de votre site dans votre navigateur pour configurer PluXml si vous l'avez déjà installé :
http://localhost/install.php
Sinon, c'est le moment de d'installer et de configurer votre PluXml dans cet article.
Amusez-vous bien !
Remarque :
1- Le mod-rewrite d'URL pour Nginx :
Ce mode est a configurer pour ce serveur Web dans le fichier de configuration :
$ sudo nano /etc/nginx/sites-available/default
# Définir les règles d'URL Rewriting : |
Via l'administration de PluXML, activez l'URL Rewriting dans le menu Paramètres/Configuration avancée, Vous verrez les liens de votre site n'affiche plus certains caractères http://localhost/index.php?article16/creer-un-site-avec-pluxml-configuration mais sont plus compréhensibles http://localhost/creer-un-site-avec-pluxml-configuration
Merci websetnet et au site du comparatif Apache vs Nginx !