Назад | Перейти на главную страницу

Почему бы не использовать стек WAMP?

Это канонический вопрос об использовании стека * AMPP.

Недавно я разговаривал с некоторыми опытными людьми, и они предложили мне не использовать стек WAMP, а вместо этого установить apache, mysql и php отдельно.

Я не понимаю, почему они предложили это, так может ли кто-нибудь мне сказать?

Есть ли у WAMP особый недостаток или особое преимущество в установке их всех по отдельности?

Поскольку сам стек WAMP состоит из apache, mysql и php, то какая разница между использованием стека WAMP и их установкой по отдельности?

Поскольку сам стек WAMP состоит из apache, mysql и php, то какая разница между использованием стека WAMP и их установкой по отдельности?

Есть много различий, но наиболее тревожными являются три:

  1. небезопасная конфигурация
  2. сложность и отставание в обновлениях
  3. нестандартные конфигурации / бинарные локации

Чтобы расширить # 1: WAMP, MAMP, LAMPP, XAMPP и т. Д. Разработаны как установщики стека одним щелчком мыши, которые упрощают Разработчики чтобы приступить к работе быстро и с наименьшим сопротивлением. Таким образом, многие значения конфигурации намеренно оставлены в очень небезопасном состоянии. Это нормально для разработки, но невероятно глупо делать в продакшене.

Затем, на втором месте, поставщики ОС делают это очень легко поддерживать ваш стек LAMP в обновленном состоянии с помощью самых последних обновлений функций и исправлений безопасности. Когда их пакеты выпускаются в официальные репозитории, они проходят много испытаний, и шансы, что они что-нибудь сломают в вашей системе, довольно низки. В подавляющем большинстве случаев вы можете обновить все с помощью одной команды.

Наконец, # 3: установщики одним щелчком помещают свои файлы в очень нестандартные локации. Таким образом, когда вы (или кто-либо другой) приступаете к устранению неполадок, вам остается искать по всей файловой системе, скажем, файл php.ini. Когда вы устанавливаете стек LAMP из репозитория пакетов вашего дистрибутива, все будет в ожидаемом, хорошо известном месте.

Прежде всего, apache, php и MySQL - это приложения * nix, перенесенные на Windows. Обычно в производственной среде предпочтительно запускать инструменты на собственных платформах.

Во-вторых, предварительно настроенные * AMP-пакеты обычно имеют чрезвычайно уязвимые конфигурации из коробки. Большинство пакетов поставляются с файлом readme, в котором говорится, что они предназначены только для разработчиков, а не для производства из-за этого.

Если вы действительно хотите разрабатывать в среде, имитирующей производственную среду, вы будете использовать конфигурацию, аналогичную вашей производственной среде, и вы не получите этого с пакетами WAMP или LAMP.

Если вопрос в том, что я использую Windows в качестве платформы, почему некоторые люди говорят мне устанавливать Apache, PHP и MySQL отдельно, а не как часть дистрибутива WAMP ...

Основная причина в том, что у некоторых людей был негативный опыт использования WAMP-дистрибутивов типа «все, включая кухонную раковину», которые поставляются с FTP-сервером, почтовым сервером, JSP-сервером, DNS-сервером, имеют проблемы с возможностью обновления, безопасностью ... и это вообще беспорядок.

И, в конце концов, эти люди предпочли бы устанавливать и настраивать Apache, PHP и MySQL по-своему. А другие, вероятно, думают, что вы приобретете больше опыта, делая все самостоятельно.

Но не все WAMP такие, и некоторые из них представляют собой тщательно продуманные фреймворки, которые должным образом работают с безопасностью, возможностью обновления и конфигурациями.

Существует около десятка WAMP, которые вы можете протестировать, чтобы увидеть, как они сочетаются друг с другом. Всегда рекомендую попробовать - WampServer, UniformServer, Вамп-Разработчик Pro, и Xampp чтобы увидеть, соответствует ли один из них вашим потребностям, а если нет, либо настроить собственную установку / фреймворк WAMP, либо использовать среду LAMP.

Ответ прямо от XAMPP. (Я разделяю, даже если это не прямой вопрос о xampp, поскольку он указан как канонический вопрос для Стек AMPP)

Готово ли производство XAMPP?

XAMPP не предназначен для производственного использования, а только для сред разработки.. Настройка XAMPP должна быть максимально открытой, чтобы разработчик мог все, что он хочет. Для сред разработки это замечательно, но в производственной среде это может быть фатальным.

Вот список отсутствующих средств защиты в 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.

Все точки могут представлять огромную угрозу безопасности. Особенно, если XAMPP доступен через сеть и людей за пределами вашей локальной сети. Также может помочь использование межсетевого экрана или маршрутизатора (NAT). В случае использования маршрутизатора или брандмауэра ваш компьютер обычно недоступен по сети. Решение этих проблем зависит от вас. В качестве небольшой помощи есть "Консоль безопасности XAMPP".

Пожалуйста, защитите XAMPP перед публикацией чего-либо в Интернете. Брандмауэра или внешнего маршрутизатора достаточно только для низкого уровня безопасности. Для немного большей безопасности вы можете запустить «Консоль безопасности XAMPP» и назначить пароли.

Если вы хотите, чтобы ваш XAMPP был доступен из Интернета, вам следует перейти к следующему URI, который может исправить некоторые проблемы:

 http://localhost/security/

С помощью консоли безопасности вы можете установить пароль для пользователя MySQL «root» и phpMyAdmin. Вы также можете включить аутентификацию для демонстрационных страниц XAMPP.

Этот веб-инструмент не устраняет никаких дополнительных проблем с безопасностью! Вы должны защитить себя, особенно FTP-сервер FileZilla и почтовый сервер Mercury.

Несколько хороших ответов, но не забывайте, что НИКАКАЯ из установок по умолчанию не является очень безопасной, поскольку они предназначены для использования в самом широком диапазоне ситуаций.

Серьезно, если вы думаете, что установка Apache по умолчанию в Linux безопасна ... угадайте еще раз.