Dlaczego nie użyć stosu WAMP?

28

Jest to kanoniczne pytanie dotyczące użycia stosu * AMPP.

Niedawno rozmawiałem z kilkoma doświadczonymi ludźmi, którzy zasugerowali mi, aby nie używać stosu WAMP, zamiast tego osobno instalują apache, mysql i php.

Nie rozumiem jednak, dlaczego to zasugerowali, więc czy ktoś może mi powiedzieć?

Czy jest jakaś szczególna wada WAMP lub szczególna zaleta polegająca na zainstalowaniu ich wszystkich osobno?

Ponieważ sam stos WAMP składa się z apache, mysql i php, to jaka jest różnica między używaniem stosu WAMP a instalowaniem ich osobno?

Matang
źródło
3
Co ze stosem WIMP? (Windows, IIS, MSSQL Server, ASP.net) Raczej podoba mi się skrót.
HopelessN00b
@ HopelessN00b, WIMP jest zajęty. Było to rozszerzenie systemu operacyjnego dla maszyn Commodore 64 (mniej więcej w czasie Windows 2) i oznaczało „Windows, Ikony, Myszy i Wskaźniki”.
John Gardeniers,
@John Gardeniers WIMP był już na tym etapie akronimem stylu interfejsu użytkownika „Ikony Windows i menu rozwijane”, z którego wszyscy teraz korzystamy.
Euan M

Odpowiedzi:

37

Ponieważ sam stos WAMP składa się z apache, mysql i php, to jaka jest różnica między używaniem stosu WAMP a instalowaniem ich osobno?

Istnieje wiele różnic, choć trzy najbardziej niepokojące to:

  1. niepewna konfiguracja
  2. trudność i opóźnienie w ulepszeniach
  3. niestandardowe konfiguracje / lokalizacje binarne

Aby rozwinąć # 1: WAMP, MAMP, LAMPP, XAMPP itp. Zostały zaprojektowane jako instalatory stosów jednym kliknięciem, które ułatwiają programistom szybkie rozpoczęcie pracy przy możliwie najniższym oporze. W związku z tym wiele wartości konfiguracyjnych celowo pozostawia się w bardzo niepewnym stanie. Jest to OK dla prac programistycznych, ale niezwykle głupie w produkcji.

Następnie, dla # 2, producenci systemów operacyjnych bardzo łatwo aktualizują swój stos LAMP o najnowsze aktualizacje funkcji i łatki bezpieczeństwa. Kiedy ich paczki zostają wydane na oficjalne repozytorium, przeszły przez wiele testów, a szanse na złamanie czegokolwiek w twoim systemie są dość niskie. W przeważającej większości przypadków możesz ulepszyć wszystko za pomocą jednego polecenia.

Wreszcie # 3: instalatory za pomocą jednego kliknięcia umieszczają swoje pliki w bardzo niestandardowych lokalizacjach. Jako taki, kiedy ty (lub ktokolwiek inny) idziesz do rozwiązywania problemów, pozostajesz w całym systemie plików, powiedzmy, plik php.ini. Po zainstalowaniu stosu LAMP z repozytorium pakietu dystrybucji wszystko będzie w oczekiwanej, dobrze znanej lokalizacji.

EEAA
źródło
1
Czuję, że jednocześnie odpowiadamy na te same pytania przez cały tydzień.
MDMarra
2
Zastrzeżenie: Napisałem to, zakładając, że korzystasz z Linuksa, ale najwyraźniej tak nie jest. Wiele z tych samych punktów nadal obowiązuje w systemie Windows. Powinienem jednak stwierdzić, że naprawdę powinieneś być uruchomiony na Linuksie. Będziesz miał o wiele przyjemniejsze wrażenia.
EEAA,
@MDMarra Hah, do tej pory nie zauważyłem. Chyba muszę wrócić i spojrzeć na naszą historię. :)
EEAA
21

Po pierwsze, apache, php i MySQL to aplikacje * nix przeniesione do systemu Windows. Zazwyczaj preferowane jest uruchamianie narzędzi na ich rodzimych platformach w środowiskach produkcyjnych.

Po drugie, wstępnie skonfigurowane * pakiety AMP mają zazwyczaj bardzo wrażliwe konfiguracje od razu po wyjęciu z pudełka. Większość paczek jest dostarczana z plikiem Readme stwierdzającym, że są one przeznaczone tylko do użytku przez programistów, a nie do produkcji z tego powodu.

Jeśli naprawdę chcesz się rozwijać w środowisku naśladującym produkcję, zastosujesz konfigurację podobną do środowiska produkcyjnego i nie dostaniesz tego w pakietach WAMP lub LAMP.

MDMarra
źródło
6

Jeśli pytanie brzmi - używając Windows jako mojej platformy, dlaczego niektórzy ludzie mówią mi, żebym instalował Apache, PHP i MySQL osobno, a nie jako część dystrybucji WAMP ...

Głównym powodem jest to, że niektórzy ludzie mieli negatywne doświadczenia podczas korzystania z dystrybucji WAMP typu „wszystko łącznie z zlewem kuchennym” dostarczanej z serwerem FTP, serwerem poczty, serwerem JSP, serwerem DNS, mają problemy z aktualizacją, bezpieczeństwem ... i to generalnie psuje rzeczy.

Na koniec ludzie ci wolą instalować i konfigurować Apache, PHP i MySQL na swój własny sposób. Inni prawdopodobnie myślą, że zdobędziesz więcej doświadczenia, robiąc to wszystko samemu.

Ale nie wszystkie WAMP są takie, a niektóre są bardzo przemyślanymi ramami, które w odpowiedni sposób radzą sobie z bezpieczeństwem, możliwością aktualizacji i konfiguracjami.

Istnieje około kilkunastu WAMP-ów, które możesz przetestować, aby zobaczyć, jak się ze sobą zestawiają. Zawsze polecam wypróbować - WampServer , UniformServer , Wamp-Developer Pro i Xampp, aby sprawdzić, czy któryś z nich pasuje do twoich potrzeb, a jeśli nie, albo skonfigurować własną niestandardową instalację / platformę WAMP, albo przejść ze środowiskiem LAMP .

właściwa rzecz
źródło
3
Nie mylisz się co do tego, co robisz, ale uważam, że najbezpieczniejszym i najbardziej wydajnym kodem jest kod, którego nigdy nie musisz uruchamiać, a najbardziej elastycznym środowiskiem jest w ogóle brak ram, więc nie musisz się martwić o łamaniu czyichś reguł i zapobieganiu, aby ich założenia dotyczące bezpieczeństwa, możliwości aktualizacji lub konfiguracji były prawdziwe i łamaniu frameworka. To naprawdę zależy od wymagań i umiejętności osoby wykonującej wdrożenie - jeśli jest to system z dostępem do Internetu, struktura nie zastąpi zrozumienia, jak samodzielnie poprawnie skonfigurować wszystkie komponenty.
Rob Moir,
3
Pójdę dalej i powiem, że jeśli dana osoba musi korzystać z dowolnego systemu w stylu WAMP, ponieważ nie ma doświadczenia, umiejętności i pewności, aby to zrobić przy użyciu części składowych, to ta osoba nie powinna umieszczać go w Internecie. WAMP, w dowolnej formie, jest odpowiedni dla intranetu, ale nie dla Internetu.
John Gardeniers,
3

Odpowiedź bezpośrednio od XAMPP. (Dzielę się, nawet jeśli nie jest to bezpośrednie pytanie xampp, ponieważ jest wymienione jako pytanie kanoniczne dla stosu AMPP )

Czy produkcja XAMPP jest gotowa?

XAMPP nie jest przeznaczony do użytku produkcyjnego, ale tylko do środowisk programistycznych . Sposób, w jaki XAMPP jest skonfigurowany, ma być otwarty, aby umożliwić programistom wszystko, czego chce. W środowiskach programistycznych jest to świetne, ale w środowisku produkcyjnym może być śmiertelne.

Oto lista brakujących zabezpieczeń w 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.

Wszystkie punkty mogą stanowić ogromne zagrożenie bezpieczeństwa. Zwłaszcza jeśli XAMPP jest dostępny przez sieć i osoby spoza Twojej sieci LAN. Może także pomóc w korzystaniu z zapory ogniowej lub routera (NAT). W przypadku routera lub zapory komputer zwykle nie jest dostępny przez sieć. To od Ciebie zależy, czy naprawisz te problemy. Niewielką pomocą jest „Konsola bezpieczeństwa XAMPP”.

Zabezpiecz XAMPP przed opublikowaniem czegokolwiek online. Zapora ogniowa lub router zewnętrzny są wystarczające tylko dla niskiego poziomu bezpieczeństwa. Aby uzyskać nieco większe bezpieczeństwo, możesz uruchomić „Konsolę bezpieczeństwa XAMPP” i przypisać hasła.

Jeśli chcesz, aby Twój XAMPP był dostępny przez Internet, powinieneś przejść do następującego identyfikatora URI, który może rozwiązać niektóre problemy:

 http://localhost/security/

Za pomocą konsoli bezpieczeństwa możesz ustawić hasło dla użytkownika MySQL „root” i phpMyAdmin. Możesz także włączyć uwierzytelnianie w demopage XAMPP.

To narzędzie internetowe nie rozwiązuje żadnych dodatkowych problemów związanych z bezpieczeństwem! Zwłaszcza serwer FTP FileZilla i serwer poczty Mercury, które musisz zabezpieczyć.

yagmoth555 - GoFundMe Monica
źródło
-3

Kilka dobrych odpowiedzi, ale nie zapominaj, że ŻADNA z domyślnych instalacji nie jest bardzo bezpieczna, ponieważ są przeznaczone do użycia w jak najszerszym zakresie sytuacji.

Poważnie, jeśli uważasz, że domyślna instalacja Apache w systemie Linux jest bezpieczna ... zgadnij jeszcze raz.

Skywalker
źródło