Zorin OS Forum

Communauté francophone d'utilisateurs de Zorin OS
Qui a dit que Linux était compliqué ?



Bienvenue Invité, Pas encore membre ? Créer un compte  


[Resolu] Nginx/Apache Problème avec l'installation de LAMP

#21
(Modification du message : 17/10/2018, 18:35 par Mickael.)

Bon déjà de ce coté la tout est ok.

On va oublier apache et on va faire avec NGINX Grand sourire
Code :
$ sudo -s

$ apt-get update

$ apt-get install nginx


Tout le monde est un génie. Mais si on juge un poisson sur sa capacité à grimper à un arbre, il passera sa vie à croire qu’il est stupide.
Répondre en citant

#22
(Modification du message : 17/10/2018, 18:50 par Mickael.)

N'oublie pas les droit d'utilisateur :
Code :
chmod 777 /var/www/html/

(J'ai rien trouvé de mieux que du 777 pour avoir accès au dossier ... si quelqu'un a une meilleur idée à proposer...)

Tout le monde est un génie. Mais si on juge un poisson sur sa capacité à grimper à un arbre, il passera sa vie à croire qu’il est stupide.
Répondre en citant

#23

Dit moi si sur localhost tu as un truc dans ce style :
   

Tout le monde est un génie. Mais si on juge un poisson sur sa capacité à grimper à un arbre, il passera sa vie à croire qu’il est stupide.
Répondre en citant

#24

Oui, mais il fallait encore supprimer l'index.html du répertoire "/var/www/html", sinon c'était encore Apache !  Langue  Il n'est pas agressif, nginx, avec son index.nginx-debian.html !
Autre progrès, le fichier de test, au lieu de s'afficher, se télécharge ! On avance, on avance !

Consultant : Personne qui consulte, qui demande avis et conseil. (TLFI)
Répondre en citant

#25
(Modification du message : 17/10/2018, 23:20 par Mickael.)

Bon c'est une bonne chose !!

 Comme Nginx ne contient pas de traitement PHP natif, contrairement à certains autres serveurs Web, nous devrons installer php-fpm , qui signifie "fastCGI process manager". Nous dirons à Nginx de transmettre les requêtes PHP à ce logiciel pour traitement.
Code :
sudo apt-get install php-fpm

Nos composants PHP sont maintenant installés, mais nous devons apporter une légère modification à la configuration pour rendre notre configuration plus sécurisée.

Ouvre le fichier de configuration principal php-fpm avec les privilèges root:
Code :
sudo nano /etc/php/7.0/fpm/php.ini

Ce que nous recherchons dans ce fichier est le paramètre qui définit cgi.fix_pathinfo . Ceci sera commenté avec un point-virgule (Clin d’oeil et sera réglé sur "1" par défaut.

Il s'agit d'un paramètre extrêmement peu sécurisé car il indique à PHP d'essayer d'exécuter le fichier le plus proche qu'il peut trouver si le fichier PHP demandé est introuvable. Cela permettrait essentiellement aux utilisateurs de créer des requêtes PHP d'une manière qui leur permettrait d'exécuter des scripts qu'ils ne devraient pas être autorisés à exécuter.

Nous allons changer ces deux conditions en supprimant la mise en commentaire de la ligne et en la plaçant sur "0" comme ceci:
Code :
cgi.fix_pathinfo=0

Enregistrez et fermez le fichier lorsque vous avez terminé.

Maintenant, il suffit de redémarrer notre processeur PHP en tapant:
Code :
sudo systemctl redémarrer php7.0-fpm

Configurez Nginx pour utiliser le processeur PHP

Maintenant, nous avons tous les composants requis installés. Le seul changement de configuration dont nous avons encore besoin consiste à dire à Nginx d’utiliser notre processeur PHP pour le contenu dynamique.

Nous faisons cela au niveau du bloc serveur (les blocs serveur sont similaires aux hôtes virtuels Apache). Ouvrez le fichier de configuration de bloc de serveur Nginx par défaut en tapant:
Code :
sudo nano /etc/nginx/sites-available/default

Actuellement, avec les commentaires supprimés, le fichier de blocage du serveur par défaut de Nginx se présente comme suit:
Code :
server {
listen 80 default_server;
listen [::]:80 default_server;

root /var/www/html;
index index.html index.htm index.nginx-debian.html;

server_name _;

location / {
try_files $uri $uri/ =404;
}
}

Nous devons apporter quelques modifications à ce fichier pour notre site.
 
  • Premièrement, nous devons ajouter index.php tant que première valeur de notre directive index afin que les fichiers nommés index.php soient servis, s’ils sont disponibles, lorsqu’un répertoire est demandé.
  • Nous pouvons modifier la directive server_name pour qu'elle pointe vers le nom de domaine ou l'adresse IP publique de notre serveur.
  • Pour le traitement PHP proprement dit, il suffit de décommenter un segment du fichier qui traite les requêtes PHP en supprimant les symboles dièse (#) situés devant chaque ligne. Ce sera l' location ~\.php$ bloc d'emplacement, le fastcgi-php.conf inclus, et le socket associé à php-fpm .
  • Nous allons également décommenter le bloc d’emplacement traitant des fichiers .htaccess en utilisant la même méthode. Nginx ne traite pas ces fichiers. Si l'un de ces fichiers se retrouvait dans la racine du document, il ne devrait pas être transmis aux visiteurs.

Les modifications que vous devez apporter figurent en rouge dans le texte ci-dessous:
   

Lorsque vous avez apporté les modifications ci-dessus, vous pouvez enregistrer et fermer le fichier.

Testez votre fichier de configuration pour les erreurs de syntaxe en tapant:
Code :
sudo nginx -t

Si des erreurs sont signalées, revenez en arrière et revérifiez votre fichier avant de continuer.

Lorsque vous êtes prêt, rechargez Nginx pour apporter les modifications nécessaires:
Code :
sudo systemctl reload nginx




C'est fini on va maintenant créer un fichier pour tester :
Code :
sudo nano /var/www/html/info.php

Y écrire :
Code :
<?php
phpinfo();
?>

Sauvegarder et vous rendre sur localhost/info.php

J'ai fais un mini tuto lol

Tout le monde est un génie. Mais si on juge un poisson sur sa capacité à grimper à un arbre, il passera sa vie à croire qu’il est stupide.
Répondre en citant

#26
(Modification du message : 18/10/2018, 07:37 par jlb.)

Un maxi merci pour ton mini tuto, @Mickael Sourire
(17/10/2018, 23:19)Mickael a écrit : Maintenant, il suffit de redémarrer notre processeur PHP en tapant:
Code :
sudo systemctl redémarrer php7.0-fpm

Il faut juste remettre la commande ci-dessus dans sa langue natale...
Code :
sudo systemctl restart php7.0-fpm

... et le tour est joué ! 

   

Consultant : Personne qui consulte, qui demande avis et conseil. (TLFI)
Répondre en citant

#27

Ah super !!! On y est arrivé quand Apache fait des siennes il reste Nginx Langue dans le fond je préfère Apache car j’ai plus l’habitude, mais c’est vraiment juste une question d’habitude car Nginx est vraiment plus sécurisé Grand sourire

Tu veux un « raccourcie » sur le bureau du dossier de destination ?

Tout le monde est un génie. Mais si on juge un poisson sur sa capacité à grimper à un arbre, il passera sa vie à croire qu’il est stupide.
Répondre en citant

#28

De toute manière pour faire ton "raccourcie" ou plutôt un lien symbolique il faut juste faire ceci :
Code :
ln -s /emplacement/nom_du_fichier_source /emplacement/nom_du_lien

 /emplacement/nom_du_fichier_source correspond dans ton cas à : /var/www/html/
et
/emplacement/nom_du_lien un truc dans le style : /home/jean/Desktop/html

De ce fait tout les fichiers poser dans /home/jean/Desktop/html son en réalité dans /var/www/html/

Les liens symboliques peuvent être utilisé pour plein d'utilisation sous linux car contrairement a Windows le chemin /home/jean/Desktop/html sera bien reconnu comme un vrai chemin et non pas comme un "raccourcie"

Tout le monde est un génie. Mais si on juge un poisson sur sa capacité à grimper à un arbre, il passera sa vie à croire qu’il est stupide.
Répondre en citant

#29
(Modification du message : 18/10/2018, 13:13 par jlb.)

Merci pour le "raccourci", @Mickael  !  Sourire

Malheureusement, il y a encore un petit (?) problème : je viens de mettre le dossier du CMS que tu sais dans le répertoire "/var/www/html", je me suis connecté à "http://localhost/nom_du_répertoire" et ça me fait une superbe erreur 502 :

   

Consultant : Personne qui consulte, qui demande avis et conseil. (TLFI)
Répondre en citant

#30
(Modification du message : 18/10/2018, 08:49 par jlb.)

Quelques recherches plus tard...

C'est normal que "/run/php/php7.0-fpm.sock" mentionné dans le fichier de configuration soit vide ?

   

Consultant : Personne qui consulte, qui demande avis et conseil. (TLFI)
Répondre en citant




Utilisateur(s) parcourant ce sujet :
1 visiteur(s)



Réalisé par ZORIN OS .FR