Por que não usar uma pilha WAMP?

28

Esta é uma pergunta canônica sobre o uso da pilha de um * AMPP.

Recentemente, tive uma conversa com algumas pessoas experientes e elas me sugeriram não usar uma pilha WAMP e instalar o apache, mysql e php separadamente.

Eu não entendo por que eles sugeriram isso, no entanto, alguém pode me dizer?

Existe uma desvantagem específica do WAMP, ou uma vantagem específica para instalar todos eles separadamente?

Como uma pilha WAMP em si é composta por apache, mysql e php, qual é a diferença entre usar a pilha WAMP e instalá-las todas separadamente?

matang
fonte
3
E uma pilha WIMP? (Windows, IIS, MSSQL Server, ASP.net) Gosto bastante do acrônimo.
precisa
@ HopelessN00b, o WIMP é utilizado. Era uma extensão do sistema operacional para as máquinas Commodore 64 (na época do Windows 2) e significava "Windows, Icons, Mice and Pointers".
John Gardeniers
@ John Gardeniers O WIMP já foi adotado nessa fase como um acrônimo para o estilo de interface do usuário "Windows Icons Mouses and Pull-down Men" que todos nós agora usamos.
precisa

Respostas:

37

Como uma pilha WAMP em si é composta por apache, mysql e php, qual é a diferença entre usar a pilha WAMP e instalá-las todas separadamente?

Existem muitas diferenças, embora as três mais preocupantes sejam:

  1. configuração insegura
  2. dificuldade e atraso nas atualizações
  3. configurações não padrão / localizações binárias

Para expandir o número 1: WAMP, MAMP, LAMPP, XAMPP etc. foram projetados para serem instaladores de pilha com um clique que facilitam o trabalho dos desenvolvedores com rapidez e com a menor resistência possível. Como tal, muitos dos valores de configuração são intencionalmente deixados em um estado muito inseguro. Isso é bom para o trabalho de desenvolvimento, mas é incrivelmente estúpido na produção.

Então, para o número 2, os fornecedores de sistemas operacionais tornam muito fácil manter sua pilha LAMP atualizada com as atualizações de recursos e patches de segurança mais recentes. Quando seus pacotes são lançados em seus repositórios oficiais, eles passam por muitos testes e as chances de eles quebrarem qualquer coisa em seu sistema são bastante baixas. Na grande maioria das vezes, você pode atualizar tudo com um único comando.

Por fim, # 3: os instaladores com um clique colocam seus arquivos em locais muito fora do padrão. Como tal, quando você (ou qualquer outra pessoa) resolve problemas, fica pesquisando em todo o sistema de arquivos, digamos, o seu arquivo php.ini. Quando você instala uma pilha LAMP do repositório de pacotes da sua distribuição, tudo fica em um local conhecido e esperado.

EEAA
fonte
1
Sinto como se estivéssemos respondendo simultaneamente às mesmas perguntas a semana toda.
MDMarra
2
Advertência: Eu escrevi isso assumindo que você estava executando no Linux, o que aparentemente você não está. Muitos dos mesmos pontos ainda são válidos no Windows. Devo afirmar, no entanto, que você realmente deveria estar rodando no Linux. Você terá uma experiência muito mais agradável.
EEAA
@MDMarra Hah, eu não notei até agora. Acho que preciso voltar e olhar para a nossa história. :)
EEAA 29/11
21

Primeiro, apache, php e MySQL são todos os aplicativos * nix portados para o Windows. Geralmente, é preferível executar ferramentas em suas plataformas nativas em ambientes de produção.

Em segundo lugar, os pacotes * AMP pré-configurados geralmente têm configurações extremamente vulneráveis ​​prontas para uso. A maioria dos pacotes é fornecida com um leia-me informando que eles são apenas para uso do desenvolvedor e não para produção por causa disso.

Se você realmente deseja desenvolver em um ambiente que imita a produção, você usará uma configuração semelhante ao seu ambiente de produção e não conseguirá isso com os pacotes WAMP ou LAMP.

MDMarra
fonte
6

Se a pergunta for - usando o Windows como minha plataforma, por que algumas pessoas me diriam para instalar o Apache, PHP e MySQL separadamente, em vez de fazer parte de uma distribuição WAMP ...

O principal motivo é que algumas pessoas tiveram uma experiência negativa ao usar distribuições WAMP do tipo "tudo, incluindo a pia da cozinha", que vêm com um servidor FTP, servidor de correio, servidor JSP, servidor DNS, problemas de atualização, segurança ... e que geralmente fazem uma bagunça.

E no final do dia, essas pessoas preferem instalar e configurar o Apache, PHP e MySQL à sua maneira. E outros provavelmente pensam que você ganhará mais experiência fazendo tudo sozinho.

Mas nem todos os WAMPs são assim, e alguns são estruturas altamente complexas que lidam com segurança, capacidade de atualização e configurações de maneira adequada.

Existem cerca de uma dúzia de WAMPs que você pode testar, para ver como eles se empilham. Eu sempre recomendo experimentar - WampServer , UniformServer , Wamp-Developer Pro e Xampp para ver se um deles atende às suas necessidades e, se não, configurar sua própria instalação / estrutura WAMP personalizada ou usar um ambiente LAMP .

coisa certa
fonte
3
Você não está errado no que está dizendo, mas eu afirmo que o código mais seguro e mais eficiente é o código que você nunca precisa executar, e a estrutura mais flexível não é uma estrutura, portanto você não precisa se preocupar sobre violar as regras de outra pessoa e impedir que suas suposições de segurança, capacidade de atualização ou configuração sejam verdadeiras e violem a estrutura. Realmente depende dos requisitos e habilidades da pessoa que está realizando a implantação - se for um sistema voltado para a Internet, uma estrutura não substitui a compreensão de como você mesmo deve configurar corretamente todos os componentes.
precisa
3
Eu vou além e digo que, se uma pessoa precisa usar qualquer sistema de estilo WAMP, porque não possui experiência, habilidade e confiança para fazê-lo usando as partes componentes, essa pessoa não deve colocá-lo na Internet. O WAMP, em qualquer uma de suas formas, é bom para uma intranet, mas não para a Internet.
317 John Gardeniers 10:11
3

Uma resposta diretamente do XAMPP. (Eu compartilho, mesmo que não seja uma pergunta direta do xampp, pois está listada como uma pergunta canônica para a pilha do AMPP )

A produção do XAMPP está pronta?

O XAMPP não se destina ao uso em produção, mas apenas para ambientes de desenvolvimento . A maneira como o XAMPP está configurado deve ser o mais aberto possível para permitir ao desenvolvedor o que ele / ela deseja. Para ambientes de desenvolvimento, isso é ótimo, mas em um ambiente de produção pode ser fatal.

Aqui está uma lista de segurança ausente no 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.

Todos os pontos podem ser um enorme risco de segurança. Especialmente se o XAMPP estiver acessível via rede e pessoas fora da sua LAN. Também pode ajudar a usar um firewall ou um roteador (NAT). No caso de um roteador ou firewall, seu PC normalmente não está acessível via rede. Cabe a você corrigir esses problemas. Como uma pequena ajuda, existe o "XAMPP Security console".

Proteja o XAMPP antes de publicar qualquer coisa online. Um firewall ou um roteador externo são suficientes apenas para baixos níveis de segurança. Para um pouco mais de segurança, você pode executar o "XAMPP Security console" e atribuir senhas.

Se você deseja que seu XAMPP seja acessível pela Internet, você deve acessar o seguinte URI, que pode corrigir alguns problemas:

 http://localhost/security/

Com o console de segurança, você pode definir uma senha para o usuário "root" do MySQL e o phpMyAdmin. Você também pode ativar uma autenticação para as descompactas XAMPP.

Esta ferramenta baseada na Web não corrige nenhum problema de segurança adicional! Especialmente o servidor FTP do FileZilla e o servidor de correio Mercury, você deve proteger-se.

yagmoth555 - GoFundMe Monica
fonte
-3

Algumas boas respostas, mas não esqueça que NENHUMA das instalações padrão é muito segura, pois elas devem ser usadas na maior variedade possível de situações.

Sério, se você acha que uma instalação padrão do Apache no Linux é segura ... adivinhe novamente.

Skywalker
fonte