Установка Magento 2 в деталях
Поделитесь этим сайтом с друзьями!
Если вам оказалась полезна или просто понравилась эта статья, тогда не стесняйтесь - поддержите материально автора. Это легко сделать закинув денежек на Yoomoney № 410011416229354. Или на телефон +7(928)274-0281. Даже небольшая сумма может помочь написанию новых статей :) Или поделитесь ссылкой на эту статью со своими друзьями. |
Опубликовано: Последнее обновление этой статьи: В этой статье описаны важные детали, которые нужно знать об установке Magento 2, до того как начинать установку. Нюансы о которых не пишут в большинстве инструкций. Magento это CMS для реализации Интернет-магазина или маркетплейса. Система гораздо более сложная в установке, чем например такие популярные магазинные CMS как OpenCart, PrestaShop, CS-Cart и т.п. В Интернет много материалов об установке этой CMS. Но в этой статье акцент на деталях, о которых редко пишут в инструкциях. О таких деталях, которые нужно знать, прежде чем браться за установку, если вы впервые сталкиваетесь с этой системой. Весь материал разделен на части, в порядке от начала к концу процесса. Сервер для Magento 2 (железо)Magento 2, система очень прожорливая. Более прожорливая чем даже Битрикс. На виртуальный хостинг ее не установить. Во всяком случае на обычный виртуальный хостинг, разве что на какой-то специализированный тариф для высоконагруженных систем. Так, что с вероятностью более 90%, под Magento 2 нужно арендовать виртуальный или даже физический сервер. Основные характеристики сервера под Magento 2 это:
Это минимальные требования. Если проект, который будет работать на Magento 2, высоко нагружен (много товаров в каталоге, высокая посещаемость) тогда по размеру памяти и особенно по процессору нужно увеличение. Откуда такие требования, для магазинной CMS? Ведь большинство подобных систем работают даже на виртуальном хостинге.
Вот и получается что 8 Гб это минимум для Magento 2. Magento 2 на виртуальный хостингеТехнически это возможно. Но если пробовать установить Magento 2 на виртуальный хостинг, тогда нужно искать тариф, на котором есть:
Если вы хотите установить версию 2.4.х тогда дополнительно нужно:
Ну и конечно физический сервер, на котором работает этот тарифный план, должен быть достаточно мощным, а главное там параллельно не должно быть высоконагруженных проектов.
Веб-сервер для Magento 2 (программный сервер)Magento 2 конечно можно установить на WAMP (Windows Apache MySQL PHP). Но лучше на Linux (LAMP), например на Ubuntu 20.04 или 18.04. Хотя бы по той причине что разработка этой системы, в первую очередь выполняется под Linux. И основной компонент, PHP, тоже родом из Linux. Поэтому, устанавливая Magento на WAMP, вы рискуете получить лишние проблемы. Выбор версии Magento 2. Версия 2.3.хЭто последняя версия Magento в которой:
При этом, версия 2.3.х не дружит с PHP 7.4, ей нужен PHP 7.3 или меньше. Кроме этого, версия 2.3.х имеет особенность при работе с MySQL 8. Если вы будете использовать MySQL 8 и Magento 2.3.х тогда пользователя БД Magento нужно создавать с плагином авторизации mysql_native_password. Дело в том, что в MySQL 8 по умолчанию используется новый плагин для хеширования паролей. И Magento 2.3.х с ним не дружит. Поэтому нужно:
Версия 2.4.хВ этой версии Magento есть важные особенности, в отличии от предыдущих:
Требования версии 2.4.х:
ComposerПри установке самой Magento 2, а также при установке модулей, активно используется Composer. Так что, перед установкой Magento, нужно вначале установить Composer. Еще одна важная деталь, применительно к использованию Composer - для переменной memory_limit (PHP) нужно установить значение 4 Гб. На лимите в 2 Гб, Composer может обрушить PHP с фатальной ошибкой.
PHPПо совместимости версий, я написал выше. Требования по расширениям и переменным описаны в официальных документах. Настоятельно рекомендую прочитать эту страницу внимательно, до того, как начнете устанавливать. Важно. Редактируя настройки в php.ini, нужно дублировать это в двух ini файлах:
Поскольку работать с Magento 2 придется не только через браузер, но и через терминал, например установка модулей через Composer или настройка через php bin/magento. Выше я писал про то, что значение memory_limit нужно установить в 4 Гб, - в первую очередь это нужно сделать в cli php.ini, в ini для apache можно указать меньшее значение.
Дистрибутив Magento 2Официалы, в своих доках, советуют устанавливать Magento 2 через Composer. Для специалиста, который хорошо знает систему, и хорошо знает что ему нужно сделать в итоге, это хороший способ. Но если вы раньше не работали с Magento 2, то начинать я советую с установки их архива. Вот на этой странице есть все версии Magento 2 в архивах zip и tar . Причем я советую скачивать архив с опцией "Include sample data". Это уже почти полностью готовый к работе дистрибутив с небольшим набором демо товаров. Очень удобно для ознакомления с системой. Установка из архива еще и быстрее чем через Composer. На Ubuntu это выглядит примерно так:
И потом переходите в папку сайта Magento и запускаете установку. Или запускаете установку из браузера, если версия Magento меньше чнм 2.4.
Права доступаОдна из проблем, при установке и обслуживании Magento, заключается в расколбасе между правами доступа к файлам и папкам Magento. Многие работы (установка, установка модулей, обслуживание) нужно делать в терминале. Соответственно файлы и папки получают владельца и права того пользователя, от которого вы это будете делать. В то же время для некоторых папок нужен доступ записи для Apache. Таким образом, вам нужно согласовать права доступа между владельцем и Apache. Или добавить владельца в группу к Apache. Или добавить Apache в группу к пользователю. И для файлов и папок Magento дать права записи для группы владельца. Симптомы проблемы с правами доступа - при обращении, к сайту Magento, страницы не загружаются или выдают ошибку 500. Это значит что Apache не может произвести запись в файлы Magento. Для Ubuntu это может быть примерно так:
В первой команде локальный пользователь (под которым будет работа с Magento в терминале) с логином <username> добавляется в группу к Apache (на Ubuntu это группа www-data). Далее устанавливаются права на файлы и папки и устанавливается владелец и группа для папок и файлов. Права нужно установить после распаковки архива, перед началом установки. Помимо может потребоваться восстановление прав доступа, после установки модулей. Рекомендую прочитать описание ситуации по правам доступа на официальном сайте Magento.
Установка Magento 2И наконец собственно установка. Я не буду давать какие-то точные инструкции, по той причине что ситуации могут разные. Вместо этого я опишу общий порядок установки и укажу примерные команды. Проверить сервер подходит ли он для Magento по "железу" . Проверить программный сервер - версии Apache, MySQL, PHP, наличие необходимых модулей и настроек PHP. Официальный список требований к программному серверу для Magento 2 . Проверьте наличие Composer. Если хотите установить Magento 2.4.х, проверьте наличие Elasticsearch - как установить и проверить Elasticsearch. Создать базу данных MySQL и пользователя этой БД, для Magento. Скачать zip архив дистрибутива Magento 2, с опцией "Include sample data". Если вы читаете эту статью, значит вы мало что знаете про Magento. Поэтому zip архив с опцией "Include sample data". Закачать этот архив на сервер, где вы будете его устанавливать. Как вариант, можно сразу на сервер закачать архив, если вы знаете URL, нужной вам версии Magento. Распаковать этот архив в корневую папку сайта, где будет работать Magento. Папки и файлы Magento должны быть в папке, которая указана в директиве DocumentRoot для сайта Magento. Затем установить права доступа на файлы и папки Magento. После этого можно запускать установку. Примерно вот так можно установить Magento 2 на Ubuntu 20.04
И наконец сама установка: php bin/magento setup:install --base-url=http://mag.com/ \
Примечание 2. Если будете устанавливать версию 2.4.х, тогда в команду установки нужно будет добавить параметры Elasticsearch: --search-engine=elasticsearch7 --elasticsearch-host=localhost --elasticsearch-port=9200 Примечание 3. Если будете устанавливать версию 2.3.х, тогда установку можно выполнить через браузер, как на большинстве CMS.
Сопутствующие статьиЧто такое Интернет-магазин и как его создать Сравнение четырех CMS для Интернет-магазина
Иван Сухов, 2021 г.
Поделитесь этим сайтом с друзьями!
Если вам оказалась полезна или просто понравилась эта статья, тогда не стесняйтесь - поддержите материально автора. Это легко сделать закинув денежек на Yoomoney № 410011416229354. Или на телефон +7(928)274-0281. Даже небольшая сумма может помочь написанию новых статей :) Или поделитесь ссылкой на эту статью со своими друзьями. |
Copyright digital.workshop 1999 - 2021.
Это произведение доступно по лицензии Creative Commons Attribution-NoDerivs 3.0. |
Developed by digital.workshop |