Frage Warum nicht einen WAMP-Stack verwenden?


Das ist ein kanonische Frage über die Verwendung eines * AMPP-Stacks.

Ich hatte kürzlich ein Gespräch mit einigen erfahrenen Leuten und sie schlugen mir vor, keinen WAMP-Stack zu verwenden und stattdessen Apache, MySQL und PHP separat zu installieren.

Ich verstehe nicht, warum sie das vorgeschlagen haben, also kann mir das jemand sagen?

Besteht ein besonderer Nachteil von WAMP oder ein besonderer Vorteil bei der separaten Installation?

Da ein WAMP-Stack selbst aus Apache, MySQL und PHP besteht, was ist dann der Unterschied zwischen der Verwendung des WAMP-Stacks und der separaten Installation?


27
2017-11-29 21:58


Ursprung


Was ist mit einem WIMP-Stack? (Windows, IIS, MSSQL Server, ASP.net) Ich mag das Akronym. - HopelessN00b
@ HopelessN00b, WIMP ist genommen. Es war eine Betriebssystemerweiterung für Commodore 64 Maschinen (etwa zu der Zeit von Windows 2) und stand für "Windows, Icons, Mäuse und Zeiger". - John Gardeniers
@John Gardeniers WIMP wurde von dieser Stufe bereits als Akronym für den UI-Stil "Windows Icons Mice and Pull-Down Menus" übernommen, den wir jetzt alle verwenden. - Euan M


Antworten:


Da ein WAMP-Stack selbst aus Apache, MySQL und PHP besteht, was ist dann der Unterschied zwischen der Verwendung des WAMP-Stacks und der separaten Installation?

Es gibt viele Unterschiede, obwohl die drei beunruhigendsten sind:

  1. unsichere Konfiguration
  2. Schwierigkeit und Verzögerung bei Upgrades
  3. Nicht-Standardkonfigurationen / binäre Speicherorte

Um auf # 1 zu erweitern: WAMP, MAMP, LAMPP, XAMPP, etc. sind als Ein-Klick-Stack-Installer konzipiert, die es einfach machen Entwickler schnell und mit möglichst wenig Widerstand zur Arbeit kommen. Daher sind viele der Konfigurationswerte absichtlich in einem sehr unsicheren Zustand belassen. Das ist OK für die Entwicklungsarbeit, aber unglaublich dumm in der Produktion zu tun.

Dann, für # 2, machen OS-Anbieter es sehr Es ist einfach, den LAMP-Stack mit den neuesten Feature-Updates und Sicherheitspatches zu aktualisieren. Wenn ihre Pakete in ihren offiziellen Repos veröffentlicht werden, haben sie viele Tests durchlaufen und die Chancen, dass sie irgendetwas in Ihrem System brechen, sind ziemlich gering. In der überwiegenden Mehrheit der Zeit können Sie alles mit einem einzigen Befehl aktualisieren.

Schließlich # 3: Ein-Klick-Installer legen ihre Dateien in sehr Nicht-Standard-Standorte. Wenn Sie (oder irgendjemand) zur Fehlersuche gehen, durchsuchen Sie Ihr gesamtes Dateisystem nach Ihrer php.ini-Datei. Wenn Sie einen LAMP-Stapel aus dem Paket-Repo Ihrer Distribution installieren, befindet sich alles an einem erwarteten, bekannten Speicherort.


36
2017-11-29 22:05



Ich fühle mich, als hätten wir die ganze Woche die gleichen Fragen beantwortet. - MDMarra
Vorbehalt: Ich schrieb dies unter der Annahme, dass Sie auf Linux laufen, was Sie offensichtlich nicht tun. Viele der gleichen Punkte gelten auch unter Windows. Ich sollte jedoch einwenden, dass Sie wirklich unter Linux laufen sollten. Sie werden eine viel angenehmere Erfahrung haben. - EEAA
@MDMarra Hah, ich habe es bis jetzt nicht bemerkt. Ich denke, ich muss zurückgehen und unsere Geschichte betrachten. :) - EEAA


Vor allem Apache, PHP und MySQL sind alle * nix Anwendungen, die auf Windows portiert werden. Es wird normalerweise bevorzugt, Tools auf ihren nativen Plattformen in Produktionsumgebungen auszuführen.

Zweitens haben vorkonfigurierte * AMP-Pakete in der Regel äußerst verwundbare Konfigurationen aus der Box. Die meisten Pakete werden mit einer Readme ausgeliefert, die besagt, dass sie nur für den Entwickler und nicht für die Produktion gedacht sind.

Wenn Sie wirklich in einer produktionsähnlichen Umgebung entwickeln möchten, verwenden Sie eine Konfiguration, die Ihrer Produktionsumgebung ähnelt, und Sie erhalten diese nicht mit WAMP- oder LAMP-Paketen.


21
2017-11-29 22:04





Wenn die Frage ist - Windows als meine Plattform zu verwenden, warum sollten mir einige Leute sagen, dass ich Apache, PHP und MySQL separat installieren soll, anstatt als Teil einer WAMP-Distribution?

Der Hauptgrund ist, dass einige Leute eine negative Erfahrung mit einem "alles einschließlich der Küche-Spüle" Typ WAMP-Distributionen, die mit einem FTP-Server, Mail-Server, JSP-Server, DNS-Server, Probleme mit Aufrüstbarkeit, Sicherheit haben ... und das macht im Allgemeinen ein Chaos der Dinge.

Letzten Endes würden diese Leute lieber Apache, PHP und MySQL auf ihre eigene Weise installieren und konfigurieren. Und andere denken wahrscheinlich, dass Sie mehr Erfahrung damit machen werden, alles selbst zu machen.

Aber nicht alle WAMPs sind so, und einige sind sehr durchdachte Frameworks, die in angemessener Weise mit Sicherheit, Aufrüstbarkeit und Konfigurationen umgehen.

Es gibt ungefähr ein Dutzend WAMPs, die du testen kannst, um zu sehen, wie sie gegeneinander gestapelt werden. Ich empfehle immer, es auszuprobieren - WampServer, UniformServer, Wamp-Entwickler Pro, und Xampp um zu sehen, ob einer von ihnen Ihren Bedürfnissen entspricht, und wenn nicht, um entweder Ihre eigene benutzerdefinierte WAMP-Installation / das eigene Framework einzurichten oder mit einer LAMP-Umgebung zu arbeiten.


6
2017-12-01 18:08



Sie sind nicht falsch in dem Punkt, den Sie machen, aber ich behaupte, dass der sicherste und effizienteste Code Code ist, den Sie nie ausführen müssen, und das flexibelste Framework ist überhaupt kein Rahmen Sie müssen sich also nicht darum sorgen, die Regeln anderer zu brechen und verhindern, dass ihre Sicherheit, Erweiterbarkeit oder Konfigurationsvoraussetzungen wahr sind und das Framework durchbrochen wird. Es hängt wirklich von den Anforderungen und Fähigkeiten der Person ab, die das Deployment durchführt - wenn es sich um ein internetbasiertes System handelt, ist ein Framework kein Ersatz für das Verständnis, wie man alle Komponenten selbst richtig konfiguriert. - Rob Moir
Ich werde weiter gehen und sagen, dass wenn eine Person verwenden muss irgendein WAMP-Stil-System, weil sie nicht die Erfahrung, Fähigkeit und Zuversicht haben, es mit den Komponenten zu tun, dann sollte diese Person es nicht ins Internet stellen. WAMP ist in jeder Form für ein Intranet, aber nicht für das Internet geeignet. - John Gardeniers


Eine Antwort direkt von XAMPP. (Ich teile, wenn auch nicht eine direkte xampp Frage, wie es als eine kanonische Frage für AMPPs Stapel)

Ist die XAMPP-Produktion bereit?

XAMPP ist nicht für den produktiven Einsatz gedacht, sondern nur für Entwicklungsumgebungen. Die Art, wie XAMPP konfiguriert ist, soll so offen wie möglich sein, um dem Entwickler alles zu erlauben, was er will. Für Entwicklungsumgebungen ist das großartig, aber in einer Produktionsumgebung könnte es fatal sein.

Hier eine Liste der fehlenden Sicherheit in 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.

Alle Punkte können ein großes Sicherheitsrisiko darstellen. Vor allem, wenn XAMPP über Netzwerk und Leute außerhalb Ihres LAN zugänglich ist. Es kann auch helfen, eine Firewall oder einen (NAT) Router zu verwenden. Im Falle eines Routers oder einer Firewall ist Ihr PC normalerweise nicht über das Netzwerk erreichbar. Es liegt an Ihnen, diese Probleme zu beheben. Als kleine Hilfe gibt es die "XAMPP Security Konsole".

Bitte sichern Sie XAMPP, bevor Sie etwas online veröffentlichen. Eine Firewall oder ein externer Router reichen nur für geringe Sicherheitsstufen aus. Für etwas mehr Sicherheit können Sie die "XAMPP Security Konsole" ausführen und Passwörter vergeben.

Wenn Sie möchten, dass Ihr XAMPP aus dem Internet erreichbar ist, sollten Sie zum folgenden URI gehen, der einige Probleme beheben kann:

 http://localhost/security/

Mit der Sicherheitskonsole können Sie ein Passwort für den MySQL-Benutzer "root" und phpMyAdmin festlegen. Sie können auch eine Authentifizierung für die XAMPP-Demopages aktivieren.

Dieses webbasierte Tool behebt keine zusätzlichen Sicherheitsprobleme! Vor allem den FileZilla FTP Server und den Mercury Mailserver müssen Sie sich sichern.


3
2017-12-19 15:57





Einige gute Antworten, aber vergessen Sie nicht, dass KEINE der Standardinstallationen sehr sicher sind, da sie in den verschiedensten Situationen verwendet werden sollen.

Ernsthaft, wenn Sie denken, dass eine Standardinstallation von Apache unter Linux sicher ist ... raten Sie mal.


-3
2018-04-05 03:13