Warum nicht einen WAMP-Stack verwenden?

28

Dies ist eine kanonische Frage zur Verwendung des Stacks eines * AMPP.

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 getrennt zu installieren.

Ich verstehe jedoch nicht, warum sie dies vorgeschlagen haben. Kann mir das jemand sagen?

Gibt es einen besonderen Nachteil von WAMP oder einen besonderen Vorteil, wenn alle separat installiert werden?

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?

matang
quelle
3
Was ist mit einem WIMP-Stack? (Windows, IIS, MSSQL Server, ASP.net) Mir gefällt das Akronym eher.
HopelessN00b
@ HopelessN00b, WIMP ist vergeben. Es war eine Betriebssystemerweiterung für Commodore 64-Computer (etwa zur Zeit von Windows 2) und stand für "Windows, Icons, Mäuse und Zeiger".
John Gardeniers
@John Gardeniers WIMP wurde zu diesem Zeitpunkt bereits als Akronym für den UI-Stil "Windows Icons Mäuse und Pulldown-Menüs" verwendet, den wir jetzt alle verwenden.
Euan M

Antworten:

37

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. Schwierigkeiten und Verzögerung bei Upgrades
  3. Nicht-Standard-Konfigurationen / Binärspeicherorte

Erweiterung Nr. 1: WAMP, MAMP, LAMPP, XAMPP usw. wurden als Ein-Klick-Stack-Installer entwickelt, die Entwicklern den schnellen Einstieg mit möglichst geringem Widerstand erleichtern . Daher werden viele Konfigurationswerte absichtlich in einem sehr unsicheren Zustand belassen. Das ist in Ordnung für die Entwicklungsarbeit, aber unglaublich dumm, das in der Produktion zu tun.

Für die Nummer 2 machen es die Betriebssystemhersteller sehr einfach, Ihren LAMP-Stack mit den neuesten Funktionsaktualisierungen und Sicherheitspatches auf den neuesten Stand zu bringen. Wenn ihre Pakete an ihre offiziellen Repos freigegeben werden, haben sie viele Tests durchlaufen und die Wahrscheinlichkeit, dass sie irgendetwas auf Ihrem System kaputt machen, ist ziemlich gering. In den allermeisten Fällen können Sie alles mit einem einzigen Befehl aktualisieren.

Schließlich # 3: Ein-Klick-Installer platzieren ihre Dateien an sehr ungewöhnlichen Orten. Wenn Sie (oder eine andere Person) Probleme beheben, durchsuchen Sie das gesamte Dateisystem nach beispielsweise Ihrer php.ini-Datei. Wenn Sie einen LAMP-Stack aus dem Paket-Repository Ihrer Distribution installieren, befindet sich alles an einem erwarteten, bekannten Ort.

EEAA
quelle
1
Ich habe das Gefühl, wir haben die ganze Woche gleichzeitig die gleichen Fragen beantwortet.
MDMarra
2
Einschränkung: Ich habe dies geschrieben, vorausgesetzt, Sie haben Linux verwendet, was Sie anscheinend nicht sind. Viele der gleichen Punkte gelten immer noch für Windows. Ich sollte jedoch einreichen, 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
21

Zunächst einmal sind Apache, PHP und MySQL alles * nix-Anwendungen, die auf Windows portiert sind. In der Regel wird es bevorzugt, Tools auf ihren nativen Plattformen in Produktionsumgebungen auszuführen.

Zweitens weisen vorkonfigurierte * AMP-Pakete im Allgemeinen extrem anfällige Konfigurationen auf. Die meisten Pakete werden mit einer Readme-Datei ausgeliefert, aus der hervorgeht, dass sie nur für Entwickler und aus diesem Grund nicht für die Produktion bestimmt sind.

Wenn Sie wirklich in einer Umgebung entwickeln möchten, die die Produktion nachahmt, verwenden Sie eine Konfiguration, die Ihrer Produktionsumgebung ähnelt, und das bekommen Sie mit WAMP- oder LAMP-Paketen nicht.

MDMarra
quelle
6

Wenn die Frage lautet: Verwenden Sie Windows als meine Plattform, warum sollten mich manche Leute auffordern, Apache, PHP und MySQL separat zu installieren, anstatt als Teil einer WAMP-Distribution ...

Der Hauptgrund ist, dass einige Leute negative Erfahrungen mit der Verwendung von WAMP-Distributionen des Typs "Alles einschließlich Spülbecken" gemacht haben, die mit einem FTP-Server, Mail-Server, JSP-Server, DNS-Server geliefert werden, Probleme mit der Aktualisierbarkeit, Sicherheit ... und das macht im Allgemeinen ein Chaos der Dinge.

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

Aber nicht alle WAMPs sind so, und einige sind hoch durchdachte Frameworks, die Sicherheit, Aktualisierbarkeit und Konfigurationen auf angemessene Weise behandeln.

Es gibt ungefähr ein Dutzend WAMPs, die Sie testen können, um zu sehen, wie sie sich gegenüberstehen. Ich empfehle immer, WampServer , UniformServer , Wamp-Developer Pro und Xampp auszuprobieren , um festzustellen , ob einer von ihnen Ihren Anforderungen entspricht, und wenn nicht, entweder Ihre eigene benutzerdefinierte WAMP-Installation / Framework einzurichten oder mit einer LAMP-Umgebung zu arbeiten .

richtiges Zeug
quelle
3
Sie täuschen sich nicht in dem Punkt, den Sie anstreben, aber ich behaupte, dass der sicherste und effizienteste Code Code ist, den Sie niemals ausführen müssen, und das flexibelste Framework überhaupt kein Framework ist, sodass Sie sich keine Sorgen machen müssen Es geht darum, die Regeln eines anderen zu brechen und zu verhindern, dass die Annahmen zu Sicherheit, Aktualisierbarkeit oder Konfiguration zutreffen, und das Framework zu brechen. Es hängt wirklich von den Anforderungen und Fähigkeiten der Person ab, die die Bereitstellung durchführt. Wenn es sich um ein internetbasiertes System handelt, kann ein Framework nicht das Verständnis ersetzen, wie alle Komponenten selbst richtig konfiguriert werden.
Rob Moir
3
Ich gehe noch weiter und sage, wenn eine Person ein WAMP-System verwenden muss, weil sie nicht über die Erfahrung, das Können und das Selbstvertrauen verfügt, dies mithilfe der Komponenten zu tun, sollte diese Person es nicht ins Internet stellen. WAMP eignet sich in jeder Form für ein Intranet, jedoch nicht für das Internet.
John Gardeniers
3

Eine Antwort direkt von XAMPP. (Ich teile, auch wenn es sich nicht um eine direkte xampp-Frage handelt, da sie als kanonische Frage für den AMPP-Stack aufgeführt ist. )

Ist die XAMPP-Produktion fertig?

XAMPP ist nicht für die Produktion gedacht, sondern nur für Entwicklungsumgebungen . Die Art und Weise, wie XAMPP konfiguriert ist, soll so offen wie möglich sein, um dem Entwickler alles zu ermöglichen, was er will. Für Entwicklungsumgebungen ist das großartig, aber in einer Produktionsumgebung kann es fatale Folgen haben.

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. Besonders wenn XAMPP über ein Netzwerk und Personen außerhalb Ihres LAN erreichbar ist. Es kann auch hilfreich sein, 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-Sicherheitskonsole".

Sichern Sie XAMPP, bevor Sie etwas online veröffentlichen. Eine Firewall oder ein externer Router reichen nur für geringe Sicherheitsanforderungen aus. Für etwas mehr Sicherheit können Sie die "XAMPP-Sicherheitskonsole" ausführen und Kennwörter zuweisen.

Wenn Sie möchten, dass Ihr XAMPP über das Internet zugänglich ist, sollten Sie die folgende URI aufrufen, mit der einige Probleme behoben werden können:

 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-Demoseiten aktivieren.

Dieses webbasierte Tool behebt keine zusätzlichen Sicherheitsprobleme! Insbesondere den FileZilla-FTP-Server und den Mercury-Mail-Server müssen Sie sich sichern.

yagmoth555 - GoFundMe Monica
quelle
-3

Einige gute Antworten, aber vergessen Sie nicht, dass KEINE der Standardinstallationen sehr sicher ist, da sie in den unterschiedlichsten Situationen eingesetzt werden sollen.

Im Ernst, wenn Sie der Meinung sind, dass eine Standardinstallation von Apache unter Linux sicher ist, raten Sie noch einmal.

Skywalker
quelle