Perché non utilizzare uno stack WAMP?


28

Questa è una domanda canonica sull'uso dello stack di * AMPP.

Recentemente ho avuto un colloquio con alcune persone esperte e mi hanno suggerito di non usare uno stack WAMP, e invece di installare apache, mysql e php separatamente.

Non capisco perché lo abbiano suggerito, quindi qualcuno può dirmelo?

C'è un particolare svantaggio di WAMP o un particolare vantaggio nell'installarli tutti separatamente?

Poiché uno stack WAMP stesso è composto da apache, mysql e php, qual è la differenza tra l'utilizzo dello stack WAMP e l'installazione di tutti separatamente?


3
Che dire di uno stack WIMP? (Windows, IIS, MSSQL Server, ASP.net) Mi piace piuttosto l'acronimo.
HopelessN00b,

@ HopelessN00b, WIMP è preso. Era un'estensione del sistema operativo per le macchine Commodore 64 (all'epoca di Windows 2) e stava per "Windows, icone, mouse e puntatori".
John Gardeniers,

@John Gardeniers WIMP era già stato preso da quel palco come acronimo dello stile di interfaccia utente "Windows Icons Mice and Pull-down Menus" che ora tutti usiamo.
Euan M,

Risposte:


37

Poiché uno stack WAMP stesso è composto da apache, mysql e php, qual è la differenza tra l'utilizzo dello stack WAMP e l'installazione di tutti separatamente?

Ci sono molte differenze, sebbene le tre più preoccupanti siano:

  1. configurazione non sicura
  2. difficoltà e ritardo negli aggiornamenti
  3. configurazioni / posizioni binarie non standard

Per espandere su # 1: WAMP, MAMP, LAMPP, XAMPP, ecc. Sono progettati per essere installatori di stack con un clic che consentono agli sviluppatori di lavorare rapidamente e con la minima resistenza possibile. Pertanto, molti dei valori di configurazione vengono lasciati intenzionalmente in uno stato molto insicuro. Questo è OK per il lavoro di sviluppo, ma incredibilmente stupido da fare in produzione.

Quindi, per # 2, i fornitori di sistemi operativi rendono molto semplice mantenere aggiornato lo stack LAMP con gli aggiornamenti delle funzionalità e le patch di sicurezza più recenti. Quando i loro pacchetti vengono rilasciati ai loro repository ufficiali, sono stati sottoposti a numerosi test e le probabilità che rompano qualsiasi cosa sul tuo sistema sono abbastanza basse. Nella maggior parte delle volte, puoi aggiornare tutto con un solo comando.

Infine, # 3: gli installatori con un clic posizionano i loro file in posizioni molto non standard. Di conseguenza, quando tu (o chiunque altro) vai a risolvere i problemi, rimani alla ricerca in tutto il tuo filesystem, per esempio, per il tuo file php.ini. Quando si installa uno stack LAMP dal repository di pacchetti della propria distribuzione, tutto sarà in una posizione prevista e ben nota.


1
Sento che abbiamo risposto contemporaneamente alle stesse domande per tutta la settimana.
MDMarra,

2
Avvertenza: ho scritto questo supponendo che stavate girando su Linux, cosa che a quanto pare non lo siete. Molti degli stessi punti sono ancora validi su Windows. Dovrei sostenere, tuttavia, che dovresti davvero essere in esecuzione su Linux. Avrai un'esperienza molto più piacevole.
EEAA

@MDMarra Hah, non l'ho notato fino ad ora. Immagino di dover tornare indietro e guardare la nostra storia. :)
EEAA

21

Prima di tutto, apache, php e MySQL sono tutte * nix applicazioni portate su Windows. Di solito si preferisce eseguire strumenti sulle loro piattaforme native in ambienti di produzione.

In secondo luogo, i pacchetti AMP preconfigurati generalmente hanno configurazioni estremamente vulnerabili. La maggior parte dei pacchetti viene fornita con un readme che afferma che sono solo per l'uso da parte degli sviluppatori e non per la produzione a causa di ciò.

Se vuoi davvero sviluppare un ambiente che imita la produzione, utilizzerai una configurazione simile al tuo ambiente di produzione e non lo otterrai con i pacchetti WAMP o LAMP.


6

Se la domanda è: l'utilizzo di Windows come piattaforma, perché alcune persone dovrebbero dirmi di installare Apache, PHP e MySQL separatamente anziché come parte di una distribuzione WAMP ...

Il motivo principale è che alcune persone hanno avuto un'esperienza negativa usando distribuzioni WAMP di tipo "tutto compreso il lavello della cucina" che viene fornito con un server FTP, un server di posta, un server JSP, un server DNS, hanno problemi di aggiornabilità, sicurezza ... e che generalmente fanno un casino di cose.

E alla fine, quelle persone preferiscono installare e configurare Apache, PHP e MySQL a modo loro. E altri probabilmente pensano che avrai più esperienza facendo tutto da solo.

Ma non tutti i WAMP sono così, e alcuni sono framework altamente pensati che trattano in modo adeguato sicurezza, aggiornabilità e configurazioni.

Ci sono circa una dozzina di WAMP che puoi testare, per vedere come si sovrappongono. Consiglio sempre di provare - WampServer , UniformServer , Wamp-Developer Pro e Xampp per vedere se uno di questi soddisfa le tue esigenze e, in caso contrario, per impostare la tua installazione / framework WAMP personalizzato o andare in un ambiente LAMP .


3
Non ti sbagli nel punto che stai sollevando, ma sostengo che il codice più sicuro ed efficiente sia il codice che non devi mai eseguire e che il framework più flessibile non è affatto framework quindi non devi preoccuparti di infrangere le regole di qualcun altro e impedire che le loro ipotesi di sicurezza, aggiornabilità o configurazione siano vere e infrangere il framework. Dipende davvero dai requisiti e dalle abilità della persona che esegue la distribuzione: se si tratta di un sistema rivolto a Internet, un framework non sostituisce la comprensione di come configurare correttamente tutti i componenti.
Rob Moir,

3
Andrò oltre e dirò che se una persona ha bisogno di usare qualsiasi sistema in stile WAMP perché non ha l'esperienza, l'abilità e la fiducia per farlo usando le parti componenti, quella persona non dovrebbe metterlo su Internet. WAMP, in qualsiasi sua forma, va bene per una rete intranet ma non per Internet.
John Gardeniers,

3

Una risposta direttamente da XAMPP. (Condivido, anche se non una domanda diretta di xampp, poiché è elencata come una domanda canonica per lo stack di AMPP )

La produzione XAMPP è pronta?

XAMPP non è pensato per l'uso in produzione ma solo per ambienti di sviluppo . Il modo in cui XAMPP è configurato è quello di essere il più aperto possibile per consentire allo sviluppatore tutto ciò che desidera. Per gli ambienti di sviluppo è fantastico, ma in un ambiente di produzione potrebbe essere fatale.

Ecco un elenco di sicurezza mancante 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.

Tutti i punti possono rappresentare un enorme rischio per la sicurezza. Soprattutto se XAMPP è accessibile tramite rete e persone esterne alla LAN. Può anche aiutare a usare un firewall o un router (NAT). In caso di router o firewall, il PC non è normalmente accessibile tramite la rete. Sta a te risolvere questi problemi. Come piccolo aiuto c'è la "Console di sicurezza XAMPP".

Proteggi XAMPP prima di pubblicare qualsiasi cosa online. Un firewall o un router esterno sono sufficienti solo per bassi livelli di sicurezza. Per un po 'più di sicurezza, puoi eseguire la "Console di sicurezza XAMPP" e assegnare le password.

Se vuoi avere il tuo XAMPP accessibile da Internet, dovresti andare al seguente URI che può risolvere alcuni problemi:

 http://localhost/security/

Con la console di sicurezza è possibile impostare una password per l'utente MySQL "root" e phpMyAdmin. Puoi anche abilitare un'autenticazione per i demopage XAMPP.

Questo strumento basato sul Web non risolve altri problemi di sicurezza! Soprattutto il server FTP FileZilla e il server di posta Mercury devi proteggerti.


-3

Alcune buone risposte, ma non dimenticare che NESSUNA delle installazioni predefinite è molto sicura in quanto è pensata per essere utilizzata nella più ampia gamma possibile di situazioni.

Scherzi a parte, se pensi che un'installazione predefinita di Apache su Linux sia sicura ... indovina ancora.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.