Aller au contenu
Règlement du forum ×
IPTV et arnaques ×

Module pour Apache ou CGI ?


Messages recommandés

Bonjour,

 

Après quelques années de plusieurs essais et bêtatest que ce soit sur mon serveur à la maison ou sur un serveur dédié, je n'arrive toujours pas à comprendre c'est quoi la différence entre installer un programme en tant que module pour Apache ou l'installer en CGI.

 

C'est quoi la différence par exemple d'installer PHP5 en CGI avec php5-cgi en comparaison avec libapache2-mod-php5 ?

 

Pareil pour les autres scripts et modules (SuPHP etc ...), je n'arrive pas à comprendre ce truc et comme je ne me suis pas trop cassé la tête à comprendre le CGI que je rechigne, je ne sais pour quelle raison (alors qu'il est peut être celui qu'il me faut), il me reste toujours ce point d'interrogation.

 

Si quelqu'un a la gentillesse de m'expliquer c'est quoi la différence et l'impacte sur le fonctionnement d'un serveur dans sa globalité, ça m'aidera à beaucoup avancer :)

 

Merci d'avance.

(Est ce que j'en ai marre de creuser ? Non :D, je ne lâche pas l'affaire :D)

Lien vers le commentaire
Partager sur d’autres sites

Bon... en gros... c'est 2 philosophies... 2 manière de fonctionner :

 

1/ Le CGI :

Le CGI signifie Common Gateway Interface ce qui est en soit déjà parlant, c'est une interface pour les serveurs HTTP. En simple, une interface indique comment envoyer des données à un programme et comment lire les réponses (données de sortie) de celui-ci.

 

Donc, les programmes contenus dans le répertoire CGI sont indépendant du serveur HTTP, ils sont exécutés par l'interpréteur du langage dans lequel il sont codés (php, python, perl, script bash/csh...).

 

Quand l'utilisateur envoie une requête qui fait appel à un programme CGI, apache exécute le programme CGI en lui fournissant les différentes variables (celle d'un formulaire par exemple) et il va récupérer les données en sortie du programme exécuté... il ne va donc pas se charger à proprement dit de l'exécution du code du programme CGI (il laisse faire l'interpréteur du langage concerné).

 

A chaque fois qu'un visiteur fait une requête sur un programme CGI, apache exécute le programme... donc plus y'a de demande plus y'a de programmes en exécution simultanément ce qui bouffe rapidement les ressources systèmes. La solution à cela est d'utiliser les modules d'apache ou d'utiliser FastGCI qui est une amélioration de l'interface CGI.

 

Par contre, niveau sécurité, il semblerait que le CGI offrirait une meilleure protection (paramétrage plus fin) que les modules.

 

2/ Les modules :

Les modules s'est en quelque sorte une intégration directe d'un interpréteur (par exemple l'interpréteur de PHP) au serveur apache, cela implique donc un changement plus profond.

En gagne en ressource, par contre, cela implique que les programmes exécutés par un module, le sont avec les droits d'apache ce qui peut être dangereux.

 

Voilà pour les explications !

Lien vers le commentaire
Partager sur d’autres sites

Merci pour ces explications HAVOC :) ça m'a toujours paru du chinois en parlant de CGI mais là je comprends mieux grâce à tes explications.

 

Au fait, ce qui m'a poussé à poser cette question est le fait que j'utilise Nginx avec PHP5 qui roule en FastGCI vu qu'il n'y a pas de module PHP5 pour NGINX, donc je me suis dis et si je testais Apache2 avec PHP5 en CGI c'est faisable.

 

Alors je me suis lancé en installant le module libapache2-mod-fcgid pour Apache ainsi que php5-cgi et ça marche. Mais je ne sais pas si c'est la meilleure façon de procéder.

 

Bref ! Il est vrai qu'avec PHP5 en CGI, j'arrive à mieux configurer certaines choses que je ne pouvais pas faire avec PHP en module pour Apache.

 

Autre chose, j'ai voulu installé la fameux suPHP et c'est là que je me suis rendu compte que j'ai passé 1 mois pour découvrir qu'il fonctionne avec PHP en CGI et non pas en tant que module pour Apache.

 

Voilà grossomodo l'histoire :)

 

Donc si j'ai bien compris, en résumé, si l'on installe PHP en module avec Apache, ceci voudras dire que PHP démarrera avec Apache automatiquement mais si PHP est installé en CGI, il fonctionnera "on va dire" indépendamment d'Apache ?

 

Merci encore man, j'aurais certainement d'autres questions ;)

Pour ceux et celles qui veulent creuser encore plus loin avec moi, je tiens à partager avec vous ce lien et n'oubliez pas bien sur de cliquer sur les liens ressources en bas de la page que vous allez ouvrir :)

Lien vers le commentaire
Partager sur d’autres sites

Donc si j'ai bien compris, en résumé, si l'on installe PHP en module avec Apache, ceci voudras dire que PHP démarrera avec Apache automatiquement mais si PHP est installé en CGI, il fonctionnera "on va dire" indépendamment d'Apache ?

 

Bah... en très imagé, on va dire que :

- Le module PHP c'est équivalent à apprendre à Apache à parler PHP par exemple.

- Le PHP via CGI, c'est Apache qui demande à PHP (l'interpréteur) d'exécuter un code PHP et de lui fournir le résultat par la suite. A chaque fois qu'il y a du code PHP, apache fait appelle à l'interpréteur PHP, l'interpréteur se charge donc en mémoire autant de fois qu'il y a de fichiers PHP à exécuter ce qui bouffe des ressources.

Lien vers le commentaire
Partager sur d’autres sites

  • Administrateurs
Donc si j'ai bien compris, en résumé, si l'on installe PHP en module avec Apache, ceci voudras dire que PHP démarrera avec Apache automatiquement mais si PHP est installé en CGI, il fonctionnera "on va dire" indépendamment d'Apache ?

Enfait avec PHP traité en CGI, la requètte PHP ne s'exécute pas avec l'user "apache" comme sur les modules, il s'execute avec l'user du fichier php executé, ce qui assure donc une meilleur sécurité vu que cela protège les autre utilisateurs système (dans ce cas on à plus besoin de l'Open BaseDir pour protéger les autres utilisateurs).

 

Exemple :

Le fichier "page.php" est crée par l'user "bof".

Tu le lance dans ton navigateur, et la requette sur le système est lancé par l'user "bof" ce qui l'empechera donc de modifier tout autre fichier n'appartenant pas à l'utilisateur et au groupe "bof".

 

Seul soucis comme cité plus haut, quand PHP est lancé en CGI cela bouf beaucoup plus de ressources! ^^

 

J'espère ne pas avoir dit de connerie mais c'est ce que j'ai remarqué avec mes serveurs :)

Lien vers le commentaire
Partager sur d’autres sites

Seul soucis comme cité plus haut, quand PHP est lancé en CGI cela bouf beaucoup plus de ressources! ^^

 

J'espère ne pas avoir dit de connerie mais c'est ce que j'ai remarqué avec mes serveurs :)

 

Effectivement cela consomme d'avantage de ressources, les modules sont chargé une bonne fois en mémoire alors que les CGI sont chargés en mémoire autant de fois qu'il y a d'exécutions.

 

Je te suggère d'installer FastCGI (appelé aussi FCGI) qui est une évolution du CGI.

Lien vers le commentaire
Partager sur d’autres sites

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

  • Messages

    • @popmpopm j'ai le Huawei HG8245H5 comme modem, je ne pense pas que le problème vient de la ligne en elle-même puisque le téléphone fixe marche ca doit être un problème de mal configuration.. D'ailleurs mon signal optique est plus mauvais que le tiens -30dbm et ma connexion est stable 24/7
    • Je confirme que Max_OTT et Raptor76 sont des personnes TRES sérieuses et sympas . Je suis abonné chez Max_OTT  depuis 2 mois et tout fonctionne parfaitement . Et comme vous le savez , j'en ai essayé des tonnes de serveurs qui ne marchaient pas !!! King , c'est un poil moins en VOD mais en qualité en direct , je n'ai JAMAIS eu la moindre coupure pendant les matchs de foot que ce soit de la L1 sur Prime en FHD ou des GROS matchs de Champions league sur Canal+ en 4K AUCUNE coupure .
    • Je ne vais pas le donné maintenant je vais attendre que l'événement ce poursuivre un peut d'abord ta quoi comme modem? Oui le fix marche bien avec la fibre mais pas de signale los pas d'internet 
    • @popmpopm tu as fais comment pour accéder au mode superadmin? j'ai pas bien compris le truc avec le numéro fixe.. de base c'était telecomadmin/admintelecom pour le huawei mais maintenant ca marche plus..
    • Enfin le superadmin ... Enfin tous les option  Je pense que le nom d'utilisateur et mot de passe de la connexion est le numéro de téléphone du fix avancé par 3 lettres et la même chose pour mp c'est ce que j'ai trouvé.. Je bidouille mais sans internet il mon installé le modem sans signal los mais le fix marche bizarre le technicien ma dit d'attendre 1 heure mais après 5 heure y'a rien j'ai appelé le 12 il mon dit que si elle ne serait pas activé par votre agence alors demain en va l'activé mais moi j'ai un doute lui même a appelé le 12 il ont dit que le signale ne pas stable alors m'a dit que peut être il ya du la poussière il a sifflet un peut dans le trou de la boîte 🤣🤣 moi ma conclusion c'est du bricolage tous ca je vais le contacté dimanche avant que ligne soit rétabli sinon je vais resté avec une connection de batata ellah yej3al el khir  
×
×
  • Créer...