Выбираем WEB Server (WAMP) для работы с Magento под Windows локально.

Добрый день друзья.  Давно созревал написать данную статью.
Давайте начнем с того, что определим цели и средства, которые нам требуются для работы с Magento. Что мы имеем:

Цель:  программирования под CMS Magento (back-end) построенние интеграционных / юнит тестов,  использование базового функционала существующих тестов, дебагг.
Средства:  использование только операционной системы Windows 7, 8 или 10.

Если вы Linux пользователь то вам здесь делать нечего 🙂
Бывает так, что иногда для разработки приходится использовать только операционную систему Windows, особенно когда Вы ранее были пользователем Linux и остаетесь им в домашних условиях , но прийдя на работу, есть требование использовать только Microsoft-овский продукт. Что делает неопытный человек первым ?  заходит в Google и пишет что-то типа «Лучший локальный  web сервер Windows». Конечно же мы находим множество подобных решений в интернете таких как OpenServer, XAMPP, WAMP и им подобные, но начиная использование подобных решений уже очень быстро становится понятно, что все это выглядит не так как хотелось бы. Вот пример статьи на ХАБРЕ с анализом разных плтфор web разработки под Windows.

Первое с чем мы сталкиваемся, особенно в OpenServer, — настройка PHPUnit,  как это сделать под Windows, используя его убогие CMD возможности думаю объяснять не нужно. Второе — ужасно убогая командная строка, как по функциональности так и по внешнему виду начинает угнетать уже через несколько минут ее активного использования. Пробуя все остальное из подобных решений , я не нашел чего-то более сверхъестественного чем того требовали мои запросы.

Я хочу чтобы у меня под Windows был локальный сервер который был один в один как например запущенная Ubuntu. Да вообще — я хочу чтобы  у меня был запущена Ubuntu и работала как localhost!

Vagrant —  то, что предложили мне друзья. Смотри в его сторону.  Vagrant согласен, он может реализовать мои потребности, но в последнее время с ним возникают какие-то странности. То разработички допускают ошибки в кодировках конфигурируемых файлови Vagrant просто не может нормально работать в среде Windows отличной от EN локализации,  то он просто не инсталится сетуя на недоступность сервиса или просто какой-то неопознанный глюк. Вобщем и целом это решение изначально разрабатывалось для работы с Ruby и под PHP его пока что использовать рано. Не впечатлил.

В итоге я пришел к решению, которое полностью удовлетворило все потребности для организации локального UNIX сервера в среде Windows.
Я использую:

Windows 8.1 (x64)
VMware Workstation 11 (так же можно использовать VMware Player)
Ubuntu Descktop 14.04 (LXDE — чтобы не загружать оперативную память Unity средой)

Я потратил примерно несколько дней на настройку полноценного локалхоста для работы с Magento,  используя все эти средства и теперь,  моя Windows  используется только как Хостмашина имеющая ubuntu 14.04 (x64) как сервер. Работает Xdebug,  файлы проектов расшарени и доступны в Windows из Ubuntu.

ИТОГ повествования: Если вы собираетесь заниматься разработкой под CMS Magento и Вам обязательно требуется использовать для этого Windows,  смотрите в сторону описанной выше комбинации , с виртуализацией Ubuntu как гостевой машины под цели сервера, в противном случае вы не получите той производительности  и эффективности работы с Magento, какой хотелось бы. Используя OpenServer и им подобные, Вас могут ожидать различного рода подводные камни, вот лишь некоторые из них : сложность в запуске phpunit, нестабильная работа pear, нестабильная работа самого приложения Magento. Очень часто у меня были результаты работы системы отличные от нормальных, проводя одни и те же действия под Ubuntu и Windows XAMPP (например)  я получал разные результаты, при условии что правильный результат работы был именно при использовании Ubuntu.

Дополнение к выше сказанному,  если у Вас нет возможности использовать UNIX среду для разработки в среде Windows под Magento, по причине отсутствия знаний или лени, из всех доступных ныне web платформ могу выделить только XAMPP.  Это решение ну хоть как-то отдаленно пыталось работать корректно и в целом оптимизировано в отличии от остальных.  Если бы не было вообще возможности использовать UNIX  в среде Windows то XAMPP  был бы наверно единственным, на чем я смог бы, скрипя зубами, остановится.
Ну и важно понимать, что вся эта информация актуальная только для back-end программистов, работающий с Magento.  Если вы занимаетесь исключительно фронтом и до бэкенда Вам дела нет, то даже не парьтесь и смело используйте XAMPP.

Удачи в разработке, надеюсь этот пост поможет Вам принять правильное решение!

Оставьте комментарий