Web

Как использовать стек WAMP?

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

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

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

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

Ответ 1

Различий много, но три наиболее тревожных из них следующие:

  1. Небезопасная конфигурация.

  2. Сложность и задержка в обновлении.

  3. Нестандартные конфигурации/бинарные файлы.

Расшифруем #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:

  1. Администратор MySQL (root) не имеет пароля.

  2. Демон MySQL доступен по сети.

  3. ProFTPD использует пароль «lampp» для пользователя «daemon».

  4. PhpMyAdmin доступен по сети.

  5. Демопакет XAMPP доступен по сети.

  6. Пользователи по умолчанию в 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

Чтение/запись файла MS Word на PHP

Web

Сортировка многомерного массива по нескольким столбцам

Web

Использование password_hash для хеширования и проверки паролей в PHP

Web

Как подключиться к нескольким базам данных MySQL на одной веб-странице

×