Чому б не використовувати стек 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, іконки, миші та покажчики".
Джон Гарденєр

На цьому етапі WIMP @John Gardeniers вже був сприйнятий як абревіатура для інтерфейсу інтерфейсу "Миші з іконками Windows та меню, що випадає", який ми зараз використовуємо.
Euan M

Відповіді:


37

Оскільки сам стек WAMP складається з apache, mysql та php, то яка різниця між використанням стека WAMP та їх встановленням окремо?

Існує багато відмінностей, хоча три найбільш тривожні:

  1. незахищена конфігурація
  2. складність і відставання в оновленнях
  3. нестандартні конфігурації / бінарні місця

Для розширення на №1: WAMP, MAMP, LAMPP, XAMPP тощо призначені для встановлення стека одним клацанням, що полегшує роботу розробникам швидку роботу і з найменшим можливим опором. Таким чином, багато значень конфігурації навмисно залишаються в дуже небезпечному стані. Це добре для роботи з розробки, але неймовірно нерозумно робити на виробництві.

Тоді для №2 постачальники ОС роблять це дуже легко оновити стек LAMP оновленими останніми оновленнями функцій та виправленнями безпеки. Коли їхні пакети звільняються на офіційні репортажі, вони пройшли багато тестування, і шанси їх зламати що-небудь у вашій системі досить низькі. У переважній більшості часу ви можете оновити все за допомогою однієї команди.

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


1
Я відчуваю, що ми цілий тиждень одночасно відповідали на одні і ті ж запитання.
MDMarra

2
Caveat: Я написав це, припускаючи, що ви працюєте на Linux, що, очевидно, ви не є. Багато хто з тих же моментів все ще справедливий для Windows. Я хотів би сказати, що ви дійсно повинні працювати на Linux. У вас буде набагато приємніше враження.
EEAA

@MDMarra Hah, я досі не помічала. Я думаю, мені потрібно повернутися назад і подивитися на нашу історію. :)
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/

За допомогою консолі безпеки ви можете встановити пароль для "root" користувача MySQL та phpMyAdmin. Ви також можете ввімкнути аутентифікацію для демо-сторінок XAMPP.

Цей веб-інструмент не виправляє додаткових проблем із безпекою! Особливо сервер FileZilla FTP і поштовий сервер Mercury, який ви повинні захистити.


-3

Деякі хороші відповіді, але не забувайте, що НІКОЛЬНІ встановлення за замовчуванням не є дуже безпечними, оскільки вони повинні бути використані у найширшому діапазоні ситуацій.

Якщо серйозно, якщо ви думаєте, що встановлення Apache за замовчуванням на Linux захищене ... здогадайтесь ще раз.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.