Pourquoi ne pas utiliser une pile WAMP?

28

Il s'agit d'une question canonique sur l'utilisation d'une pile * AMPP.

J'ai récemment eu une conversation avec des gens expérimentés et ils m'ont suggéré de ne pas utiliser une pile WAMP, et d'installer à la place apache, mysql et php séparément.

Je ne comprends pas pourquoi ils ont suggéré cela, alors quelqu'un peut-il me le dire?

Y a-t-il un inconvénient particulier de WAMP ou un avantage particulier à les installer tous séparément?

Puisqu'une pile WAMP elle-même est composée d'apache, mysql et php, alors quelle est la différence entre utiliser la pile WAMP et les installer toutes séparément?

matang
la source
3
Qu'en est-il d'une pile WIMP? (Windows, IIS, MSSQL Server, ASP.net) J'aime plutôt l'acronyme.
HopelessN00b
@ HopelessN00b, WIMP est pris. C'était une extension du système d'exploitation pour les machines Commodore 64 (à peu près à l'époque de Windows 2) et représentait «Windows, Icons, Mice and Pointers».
John Gardeniers
@John Gardeniers WIMP était déjà utilisé à ce stade comme acronyme du style d'interface utilisateur "Windows Icons Mice and Pull-down Menus" que nous utilisons tous.
Euan M

Réponses:

37

Puisqu'une pile WAMP elle-même est composée d'apache, mysql et php, alors quelle est la différence entre utiliser la pile WAMP et les installer toutes séparément?

Il existe de nombreuses différences, bien que les trois plus troublantes soient:

  1. configuration non sécurisée
  2. difficulté et retard dans les mises à niveau
  3. configurations non standard / emplacements binaires

Pour développer le n ° 1: WAMP, MAMP, LAMPP, XAMPP, etc. sont conçus pour être des installateurs de pile en un clic qui permettent aux développeurs de travailler rapidement et avec le moins de résistance possible. En tant que tel, de nombreuses valeurs de configuration sont intentionnellement laissées dans un état très peu sûr. C'est OK pour le travail de développement, mais incroyablement stupide à faire en production.

Ensuite, pour n ° 2, les fournisseurs de systèmes d'exploitation rendent très facile de garder votre pile LAMP mis à jour avec les mises à jour les plus récentes et des fonctionnalités correctifs de sécurité. Lorsque leurs packages sont publiés dans leurs dépôts officiels, ils ont subi de nombreux tests et les chances qu'ils cassent quoi que ce soit sur votre système sont assez faibles. Dans la grande majorité du temps, vous pouvez tout mettre à niveau avec une seule commande.

Enfin, # 3: les installateurs en un clic placent leurs fichiers dans des emplacements très non standard. En tant que tel, lorsque vous (ou quelqu'un d'autre) allez dépanner des choses, vous devez rechercher dans votre système de fichiers, par exemple, votre fichier php.ini. Lorsque vous installez une pile LAMP à partir du référentiel de packages de votre distribution, tout sera dans un emplacement prévu et bien connu.

EEAA
la source
1
J'ai l'impression que nous avons répondu simultanément aux mêmes questions toute la semaine.
MDMarra
2
Avertissement: j'ai écrit ceci en supposant que vous fonctionniez sous Linux, ce qui n'est apparemment pas le cas. Beaucoup des mêmes points restent valables sous Windows. Je dois dire, cependant, que vous devez vraiment tourner sous Linux. Vous aurez une expérience beaucoup plus agréable.
EEAA
@MDMarra Hah, je ne l'avais pas remarqué jusqu'à présent. Je suppose que je dois revenir en arrière et regarder notre histoire. :)
EEAA
21

Tout d'abord, apache, php et MySQL sont toutes des applications * nix portées sur Windows. Il est généralement préférable d'exécuter des outils sur leurs plates-formes natives dans des environnements de production.

Deuxièmement, les packages AMP préconfigurés * ont généralement des configurations extrêmement vulnérables prêtes à l'emploi. La plupart des packages sont livrés avec un fichier Lisezmoi indiquant qu'ils ne sont destinés qu'à une utilisation par les développeurs et non à la production pour cette raison.

Si vous voulez vraiment développer dans un environnement qui imite la production, vous utiliserez une configuration similaire à votre environnement de production et vous n'obtiendrez pas cela avec les packages WAMP ou LAMP.

MDMarra
la source
6

Si la question est - en utilisant Windows comme plate-forme, pourquoi certaines personnes me diraient-elles d'installer Apache, PHP et MySQL séparément plutôt que dans le cadre d'une distribution WAMP ...

La raison principale est que certaines personnes ont eu une expérience négative en utilisant des distributions WAMP de type "tout y compris l'évier de cuisine" qui sont fournies avec un serveur FTP, un serveur de messagerie, un serveur JSP, un serveur DNS, ont des problèmes avec l'évolutivité, la sécurité ... et qui font généralement un gâchis de choses.

Et à la fin de la journée, ces personnes préfèrent installer et configurer Apache, PHP et MySQL à leur manière. Et d'autres pensent probablement que vous gagnerez plus d'expérience en faisant tout cela vous-même.

Mais tous les WAMP ne sont pas comme ça, et certains sont des cadres très élaborés qui traitent correctement la sécurité, la mise à niveau et les configurations.

Il y a environ une douzaine de WAMP que vous pouvez tester, pour voir comment ils se superposent. Je recommande toujours d'essayer - WampServer , UniformServer , Wamp-Developer Pro et Xampp pour voir si l' un d'entre eux correspond à vos besoins, et sinon, soit créer votre propre installation WAMP personnalisée / cadre, ou rendez - vous avec un environnement LAMP .

droit
la source
3
Vous ne vous trompez pas dans le point que vous soulevez, mais je soutiens que le code le plus sûr et le plus efficace est le code que vous n'avez jamais à exécuter, et le cadre le plus flexible n'est aucun cadre du tout , vous n'avez donc pas à vous inquiéter de briser les règles de quelqu'un d'autre et d'empêcher que ses hypothèses de sécurité, d'évolutivité ou de configuration soient vraies et de briser le cadre. Cela dépend vraiment des exigences et des compétences de la personne qui effectue le déploiement - s'il s'agit d'un système accessible sur Internet, un cadre ne peut pas remplacer la façon de configurer correctement tous les composants vous-même.
Rob Moir
3
J'irai plus loin et dirai que si une personne a besoin d'utiliser un système de style WAMP parce qu'elle n'a pas l'expérience, les compétences et la confiance pour le faire en utilisant les composants, alors cette personne ne devrait pas le mettre sur Internet. WAMP, sous toutes ses formes, convient parfaitement à un intranet mais pas à Internet.
John Gardeniers
3

Une réponse directement de XAMPP. (Je partage, même s'il ne s'agit pas d'une question xampp directe, car elle est répertoriée comme une question canonique pour la pile d'AMPP )

La production XAMPP est-elle prête?

XAMPP n'est pas destiné à une utilisation en production mais uniquement pour les environnements de développement . La façon dont XAMPP est configuré est d'être aussi ouverte que possible pour permettre au développeur tout ce qu'il veut. Pour les environnements de développement, c'est très bien, mais dans un environnement de production, cela peut être fatal.

Voici une liste de sécurité manquante dans XAMPP:

    The MySQL administrator (root) has no password.
    The MySQL daemon is accessible via network.
    ProFTPD uses the password "lampp" for user "daemon".
    PhpMyAdmin is accessible via network.
    The XAMPP demopage is accessible via network.
    The default users of Mercury and FileZilla are known.

Tous les points peuvent représenter un énorme risque pour la sécurité. Surtout si XAMPP est accessible via le réseau et des personnes extérieures à votre LAN. Il peut également être utile d'utiliser un pare-feu ou un routeur (NAT). Dans le cas d'un routeur ou d'un pare-feu, votre PC n'est normalement pas accessible via le réseau. C'est à vous de résoudre ces problèmes. Comme petite aide, il y a la "console de sécurité XAMPP".

Veuillez sécuriser XAMPP avant de publier quoi que ce soit en ligne. Un pare-feu ou un routeur externe ne sont suffisants que pour de faibles niveaux de sécurité. Pour un peu plus de sécurité, vous pouvez exécuter la "console de sécurité XAMPP" et attribuer des mots de passe.

Si vous souhaitez que votre XAMPP soit accessible depuis Internet, vous devez vous rendre à l'URI suivant qui peut résoudre certains problèmes:

 http://localhost/security/

Avec la console de sécurité, vous pouvez définir un mot de passe pour l'utilisateur MySQL "root" et phpMyAdmin. Vous pouvez également activer une authentification pour les démopages XAMPP.

Cet outil basé sur le Web ne résout aucun problème de sécurité supplémentaire! En particulier le serveur FTP FileZilla et le serveur de messagerie Mercury, vous devez vous sécuriser.

yagmoth555 - GoFundMe Monica
la source
-3

Quelques bonnes réponses, mais n'oubliez pas que AUCUNE des installations par défaut n'est très sécurisée car elles sont destinées à être utilisées dans le plus large éventail de situations.

Sérieusement, si vous pensez qu'une installation par défaut d'Apache sur Linux est sécurisée ... devinez encore.

Skywalker
la source