Недавно я разговаривал с опытными людьми, и они посоветовали мне не использовать стек WAMP, а установить apache, mysql и php отдельно.
Я не понимаю, почему они это предложили, может ли кто-нибудь объяснить это мне?
Есть ли какой-то особый недостаток в WAMP и есть ли преимущество в установке всех этих компонентов по отдельности?
Поскольку стек WAMP сам состоит из apache, mysql и php, тогда в чем разница между использованием стека WAMP и установкой их всех по отдельности?
Ответ 1
Различий много, но три наиболее тревожных из них следующие:
Небезопасная конфигурация.
Сложность и задержка в обновлении.
Нестандартные конфигурации/бинарные файлы.
Расшифруем #1: WAMP, MAMP, LAMPP, XAMPP и т. д. разработаны как программы установки стека в один клик, что позволяет разработчикам быстро и с минимальными сложностями приступить к работе. Поэтому многие значения конфигурации намеренно оставлены в очень небезопасном состоянии. Это нормально для разработки, но невероятно глупо делать это в производстве.
Затем, для #2, поставщики ОС делают очень простым обновление вашего LAMP-стека последними обновлениями функций и патчами безопасности. Когда их пакеты попадают в официальные репозитории, они уже прошли множество тестов, и вероятность того, что они сломают что-то в вашей системе, довольно низка. В подавляющем большинстве случаев вы сможете обновить все с помощью одной команды.
Наконец, #3: программы установки в один клик размещают свои файлы в очень нестандартных местах. Поэтому, когда вы (или кто-либо другой) приступаете к устранению неполадок, вам приходится искать по всей файловой системе, скажем, файл php.ini. Когда вы устанавливаете стек LAMP из репозитория пакетов вашего дистрибутива, все будет находиться в ожидаемом, хорошо известном месте.
Ответ 2
Если вопрос заключается в использовании Windows в качестве целевой платформы, почему некоторые люди советуют мне установить Apache, PHP и MySQL отдельно, а не как часть дистрибутива WAMP...
Основная причина в том, что некоторые люди имели негативный опыт использования WAMP-дистрибутивов типа «все включено», которые поставляются с FTP-сервером, почтовым сервером, JSP-сервером, DNS-сервером, имеют проблемы с возможностью обновления, безопасностью ... и вообще создают беспорядок.
И в конце концов, эти люди предпочитают устанавливать и настраивать Apache, PHP и MySQL по-своему. А другие, вероятно, считают, что вы получите больше опыта, делая все это самостоятельно. Но не все WAMP такие, некоторые из них представляют собой хорошо продуманные платформы, которые должным образом решают вопросы безопасности, обновления и конфигурации.
Существует около дюжины или около того WAMP, которые вы можете протестировать, чтобы увидеть, как они конкурируют друг с другом. Я всегда рекомендую попробовать — WampServer, UniformServer, Wamp-Developer Pro, и Xampp, чтобы увидеть, подходит ли один из них для ваших нужд, и если нет, то либо установить свою собственную установку/фреймворк WAMP, либо перейти на окружение LAMP.
Ответ 3
Ответ непосредственно от XAMPP. (Я делюсь, даже если это не прямой вопрос xampp, так как он указан как канонический вопрос для стека AMPP)
Готов ли XAMPP к производству?
XAMPP не предназначен для производственного использования, а только для сред разработки. То, как настроен XAMPP — это быть максимально открытым, чтобы позволить разработчику все, что он/она хочет. Для среды разработки это прекрасно, но в производственной среде это может оказаться фатальным.
Вот список недостающих средств безопасности в XAMPP:
Администратор MySQL (root) не имеет пароля.
Демон MySQL доступен по сети.
ProFTPD использует пароль «lampp» для пользователя «daemon».
PhpMyAdmin доступен по сети.
Демопакет XAMPP доступен по сети.
Пользователи по умолчанию в Mercury и FileZilla известны.
Все эти моменты могут представлять огромный риск для безопасности. Особенно если XAMPP доступен через сеть и людям вне вашей локальной сети. Также может помочь использование брандмауэра или (NAT) маршрутизатора. В случае использования маршрутизатора или брандмауэра ваш компьютер обычно недоступен через сеть. Устранение этих проблем зависит от вас. В качестве небольшой помощи существует «Консоль безопасности XAMPP».
Пожалуйста, защитите XAMPP, прежде чем публиковать что-либо в сети. Брандмауэра или внешнего маршрутизатора достаточно только для низкого уровня безопасности. Для немного большей безопасности вы можете запустить «XAMPP Security console» и назначить пароли.
Если вы хотите, чтобы ваш XAMPP был доступен из интернета, вам следует обратиться к следующему URI, который может устранить некоторые проблемы:
http://localhost/security/
С помощью консоли безопасности вы можете установить пароль для пользователя MySQL «root» и phpMyAdmin. Вы также можете включить аутентификацию для демо-страниц XAMPP.
Этот веб-инструмент не устраняет никаких дополнительных проблем безопасности! Особенно FTP-сервер FileZilla и почтовый сервер Mercury вы должны защитить самостоятельно.
Ответ 4
Во-первых, apache, php и MySQL — это все *nix-приложения, перенесенные на Windows. В производственных средах обычно предпочитают использовать инструменты на их родных платформах.
Во-вторых, предварительно сконфигурированные пакеты *AMP обычно имеют крайне уязвимые конфигурации из коробки. Большинство пакетов поставляются с readme, в котором говорится, что они предназначены только для dev, но не для production.
Если вы действительно хотите разрабатывать в среде, имитирующей производственную, вы будете использовать конфигурацию, аналогичную вашей производственной среде, и вы не получите этого с пакетами WAMP или LAMP.
Web