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


28

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

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

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

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

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


3
Как насчет стека WIMP? (Windows, IIS, MSSQL Server, ASP.net) Мне скорее нравится аббревиатура.
HopelessN00b

@ HopelessN00b, WIMP занят. Это было расширение ОС для компьютеров Commodore 64 (примерно во времена Windows 2) и обозначало «Windows, значки, мыши и указатели».
Джон Гарденье

@John Gardeniers WIMP на этом этапе уже воспринимался как аббревиатура для пользовательского интерфейса «Мыши и выпадающие меню Windows Icons», который мы все сейчас используем.
Euan M

Ответы:


37

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

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

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

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

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

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


1
Я чувствую, что мы одновременно отвечали на одни и те же вопросы всю неделю.
MDMarra

2
Предостережение: я написал это, предполагая, что вы работаете в Linux, а вы, очевидно, нет. Многие из тех же пунктов по-прежнему верны в Windows. Я должен заявить, однако, что вы действительно должны работать на Linux. У вас будет гораздо более приятный опыт.
EEAA

@MDMarra Ха, я не заметил до сих пор. Я думаю, мне нужно вернуться и посмотреть на нашу историю. :)
EEAA

21

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

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

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


6

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

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

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

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

Есть около дюжины WAMP, которые вы можете протестировать, чтобы увидеть, как они складываются друг с другом. Я всегда рекомендую попробовать - WampServer , UniformServer , Вамп-Developer Pro и Xampp , чтобы увидеть , если один из них соответствуют вашим потребностям, а если нет, либо создать свою собственные установки пользовательских WAMP / рамку, или идти с окружающей средой ЛАМПЫ ,


3
Вы не ошибаетесь в том, что делаете, но я утверждаю, что самый безопасный и самый эффективный код - это код, который вам никогда не придется запускать, а самая гибкая структура - это вообще не фреймворк, так что вам не о чем беспокоиться о нарушении чужих правил и о том, чтобы допустить, чтобы их предположения о безопасности, возможности обновления или конфигурации были верными, и нарушении структуры Это действительно зависит от требований и навыков человека, выполняющего развертывание - если это система с выходом в Интернет, то среда не заменит понимание того, как правильно настроить все компоненты самостоятельно.
Роб Моир

3
Я пойду дальше и скажу, что если человеку нужно использовать какую-либо систему стилей WAMP, потому что у него нет опыта, навыков и уверенности, чтобы делать это с использованием составных частей, то этот человек не должен размещать ее в Интернете. WAMP в любой форме подходит для интрасети, но не для Интернета.
Джон Гарденье

3

Ответ прямо из 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 вы должны обезопасить себя.


-3

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

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.