Créer un site avec PluXml et Nginx

Rédigé par O. Clotaire 11 commentaires
Classé dans : Linux, Raspberry Pi, PluXml, Web Mots clés : Linux, PluXml, Nginx, Web, blog, CMS, php

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 {
    listen   80; ## listen for ipv4; this line is default and implied
    listen   [::]:80 default ipv6only=on; ## listen for ipv6

    root /var/www/votresite;
    # Pour la gérer les erreurs par les logs :
    # error_log /var/www/votresite/logs/error.log;
# Prioriser l'indexation php :

    index index.php index.html index.htm;

    ###################################################
    # Rendre le site accessible depuis http://localhost/
    server_name localhost;

    # Cacher le fichier version :
    location /version {
         return 404;
    }

    # Ligne très importante pour éviter le vol de mot de passe
    location /data/configuration/users.xml {
         return 403;
    }

    location / {
        # First attempt to serve request as file, then
        # as directory, then fall back to index.html
        # try_files $uri $uri/ /index.html;
        # Uncomment to enable naxsi on this location
        # include /etc/nginx/naxsi.rules
        try_files $uri $uri/ /index.php?q=$uri&$args;
    }

    location ~ \.php$ {
        try_files $uri =404;
        ## NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
 
        ## With php5-cgi alone:
        # fastcgi_pass 127.0.0.1:9000;
 
        ## With php5-fpm:
        fastcgi_pass unix:/var/run/php5-fpm.sock;
        fastcgi_index index.php;
        include fastcgi_params;
    }

    location = /robots.txt {
        allow all;
        log_not_found off;
        access_log off;
    }

    location ~ /\. {
        deny all;
    }

    location ~* /(?:uploads|files)/.*\.php$ {
        deny all;
    }

}


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 :  
 }
  location / {
  rewrite api/v0(.*)$ /api_v0.php/$1 last;
  rewrite ^(.+)$ /index.php/$1 last;
 }

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 !

A PROPOS

  • Grace à mon expérience dans les Systèmes d'Information, j'ai le privilège de partager mon expérience en les centralisant sous la forme d’une base de connaissance.
  • Parfois certaines de nos questions ne trouvent pas toujours de réponse. Le domaine de l’informatique évolue rapidement, il est alors important de pouvoir profiter des solutions déjà expérimentés.
  • Ce site sera de plus en plus accessible.
  • Je vous remercie d’avance pour vos éventuelles remarques constructives permettant son amélioration.

11 commentaires

#1  - cbd shop a dit :

Fantastic site. A lot of usefᥙl information here.
I'm sеnding it to a few buԁdies ans alѕo sharing in delіci᧐ᥙs.
And of course, thank you in youг sweat!

Répondre
#2  - agence web paris a dit :

When someone writes an post he/she keeps the plan of a user in his/her brain that
how a user can be aware of it. So that's why this article is great.
Thanks!

Répondre
#3  - kamagra oral jelly a dit :

pas cher kamagra à vendre en ligne sans ordonnance

Répondre
#4  - Get More Info a dit :

I blog often and I genuinely appreciate your information. Your article has really peaked my interest.
I am going to bookmark your website and keep checking for new details about once
a week. I subscribed to your Feed as well.

Répondre
#5  - Get More Info a dit :

Hi there to every one, it's actually a fastidious for me to visit this website, it consists of useful Information.

Répondre
#6  - Check Our Top Pick a dit :

Good day I am so happy I found your blog, I really found you by error, while
I was browsing on Bing for something else, Regardless I am here now and would just like to say cheers for a incredible post and a all round enjoyable blog (I also
love the theme/design), I don’t have time to go through it all
at the minute but I have book-marked it and also added in your RSS feeds,
so when I have time I will be back to read more, Please do keep
up the great work.

Répondre
#7  - Click Here a dit :

Hi, I do think this is an excellent site.

I stumbledupon it ;) I am going to revisit once again since i have bookmarked it.
Money and freedom is the greatest way to change, may you be rich and continue to guide others.

Répondre
#8  - allure beauty box a dit :

My brother recommended I would possibly like this web
site. He was entirely right. This put up actually made my day.
You cann't imagine just how much time I had spent for
this info! Thanks!

Répondre
#9  - See Details a dit :

You made some really good points there. I looked on the internet for more info about the issue and found most people will go along with
your views on this website.

Répondre
#10  - Read More Here a dit :

I like the helpful info you supply on your articles. I'll bookmark your blog and check again right here frequently.
I'm somewhat sure I'll be told lots of new stuff proper right here!
Best of luck for the next!

Répondre
#11  - เล่นคาสิโนออนไลน์ บนเว็บไซต์อันดับ 1 a dit :

Thaat is a great tip particularly to those fresh to the blogosphere.
Simple but very accurate information… Appreciate
your sharing this one. A muset read post!

Répondre

Écrire un commentaire

 Se rappeler de moi sur ce site
Quelle est le premier caractère du mot pmk9g7 ?

Fil RSS des commentaires de cet article

↓