Как установить Magento 2 на локальный хост
Опубликовано: 2021-04-12Оглавление
Обновлено 13 апреля 2021 г. Пользователи могут столкнуться с ошибкой 404 Not Found при попытке установить Magento 2.4.2. Следуйте предложенному решению в статье для достижения наилучшего результата.
Прошло довольно много времени с тех пор, как Magento представила свою версию 2.0. Благодаря более дружественному пользовательскому интерфейсу и улучшенной производительности, вполне вероятно, что многие существующие пользователи Magento 1 рано или поздно перейдут на Magento 2. Следуя этой тенденции, SimiCart также выпустила мобильное приложение Magento 2 в декабре 2016 года.
Сегодня мы покажем вам, как установить Magento 2.4 локально на Windows с использованием сервера XAMPP. Это руководство предназначено для нынешних пользователей Magento 2, а также для пользователей, которые совершенно не знакомы с Magento. Теперь давайте начнем!
Часть 1. Установка и настройка XAMPP
Шаг 1 : Загрузите XAMPP
Ссылка для скачивания: https://www.apachefriends.org/download.html
Мы рекомендуем устанавливать XAMPP с PHP версии 7.4.x, которую Magento рекомендует для M2.4. Также, согласно Magento, вы можете установить Magento 2.4 с PHP 7.3, но это не тестировалось и не рекомендовалось.
Шаг 2 : Установите XAMPP
После загрузки XAMPP дважды щелкните файл, чтобы установить его на свой компьютер.
Нажмите «Далее» .
Оставьте выбор по умолчанию, как на картинке. Нажмите «Далее» .
Выберите папку для установки. Расположение по умолчанию — C:\xampp . После этого нажмите Далее .
Нажмите «Далее» .
Нажмите «Далее» .
Теперь программа установки установит xampp на ваш компьютер. Пожалуйста, подожди минутку.
После завершения установки вы увидите вариант «Вы хотите запустить панель управления сейчас?». Держите его выбранным. Нажмите «Готово» , чтобы выйти из программы настройки и войти в панель управления XAMPP.
Шаг 3 : Настройте XAMPP
В панели управления XAMPP нажмите кнопку « Конфигурация » в строке «Apache» и нажмите « PHP (php.ini) ».
В файле php.ini
найдите эти строки и удалите ;
перед каждым рядом:
;расширение=междунар. ;расширение=мыло ;расширение=сокеты ;расширение=натрий ;расширение=xsl
Расширить memory_limit
до 4G:
memory_limit=4G
После того, как вы это сделаете, сохраните и закройте файл. Затем нажмите кнопку « Пуск » в двух строках Apache и MySQL, чтобы запустить их. Не закрывайте XAMPP после этого шага, просто дайте ему поработать.
Шаг 4 : Настройте файл hosts
Откройте C:\Windows\System32\drivers\etc\hosts
. Добавьте следующую строку в последнюю строку:
127.0.0.1 www.localhost.com
Шаг 5 : Создайте базу данных
Просмотрите URL-адрес http://localhost/phpmyadmin/
, чтобы получить доступ к странице phpMyAdmin. Введите имя базы данных (например, «Magento2») и нажмите « Создать ».
Запишите имя вашей базы данных, так как вы захотите установить на нее Magento позже (используя пользователя root
).
Часть 2. Установите Elasticsearch
Начиная с версии 2.4, Magento требует, чтобы Elasticsearch был поисковой системой по каталогу.
Загрузите Elasticsearch 7.6.0: https://www.elastic.co/downloads/past-releases/elasticsearch-7-6-0 (Magento 2.4.x тестируется только с Elasticsearch 7.6.x. Вы можете использовать другие версии 7.x). версии на ваше усмотрение, но мы рекомендуем использовать проверенную версию Elasticsearch.)
Извлеките ZIP-файл, который вы только что скачали. В окне терминала cd
в извлеченный каталог и выполните следующую команду:
.\bin\elasticsearch.bat
Когда установка будет завершена, вы можете проверить правильность установки Elasticsearch по адресу http://localhost:9200
, что должно дать вам что-то вроде этого:
{ "имя": "Cp8oag6", «имя_кластера» : «эластичный поиск», "cluster_uuid": "AT69_T_DTp-1qgIJlatQqA", "версия": { "номер": "7.6.0", "build_flavor": "по умолчанию", "тип_сборки": "смола", "build_hash": "f27399d", "build_date": "2016-03-30T09:51:41.449Z", "build_snapshot": ложь, "lucene_version": "8.7.0", "минимальная_версия_совместимости_провода": "1.2.3", "минимальная_индексная_совместимая_версия": "1.2.3" }, «слоган»: «Знаешь, для поиска» }
Часть 3: Загрузите Magento с помощью Composer
Поскольку некоторые плагины из Magento 2 не работают с composer 2.x, вам нужно использовать стабильную версию composer 1.x для загрузки Magento. Лучший способ сделать это — установить Composer-Setup.exe.
Эта установка установит последнюю версию композитора и настроит переменные среды PATH, чтобы вы могли удобно вызывать композитор из любого каталога. После завершения установки composer необходимо перейти на более раннюю версию 1.x с помощью composer self-update --1
, чтобы обеспечить наилучшую совместимость.
Затем cd
в C:\xampp\htdocs
и выполните следующую команду:
composer create-project --repository-url=https://repo.magento.com/ magento/project-community-edition=2.4.2 <имя каталога-установки>
Композитору потребуется некоторое время, чтобы загрузить и установить все необходимые модули. Когда все будет готово, вот что вы должны увидеть:
Часть 4: Установите Magento с помощью командной строки
Начиная с Magento 2.4, интерфейс командной строки является методом установки по умолчанию (и единственным) для Magento.
Во время установки Magento 2.4 вы можете столкнуться с некоторыми ошибками. Чтобы предотвратить такие ошибки, вам сначала нужно внести некоторые изменения в файлы Magento.
Чтобы предотвратить эту ошибку:
Найдите функцию validateURLScheme
в \vendor\magento\framework\Image\Adapter\Gd2.php
и замените ее на:
приватная функция validateURLScheme(string $filename): bool { $allowed_schemes = ['ftp', 'ftps', 'http', 'https']; $url = parse_url($filename); if ($url && isset($url['схема']) && !in_array($url['схема'], $allowed_schemes) && !file_exists($filename)) { вернуть ложь; } вернуть истину; }
Затем cd
в каталог Magento и выполните следующую команду:
Установка php bin/magento: install --base-url=http://localhost/magento24/ --db-host=localhost --db-name=ваше имя_базы_данных --db-user=ваш_загрузчик --db-password=ваш_пароль - -admin-firstname=admin --admin-lastname=admin [email protected] --admin-user=admin --admin-password=admin123 --language=en_US --currency=USD -- часовой пояс = Америка/Чикаго --use-rewrites=1 --backend-frontname=admin --search-engine=elasticsearch7 --elasticsearch-host=localhost --elasticsearch-port=9200
Описания :
-
base-url
: путь, по которому находится ваш каталог Magento в следующем формате: http[s]://<host or ip>/<ваш каталог установки Magento>/
-
db-host
: имя хоста или IP-адрес вашего хоста -
db-name
: измените его на имя базы данных Magento, которую вы только что создали. -
db-user
: пользователь базы данных с полными правами. Мы будем использовать пользователя root по умолчанию. -
db-password
: пароль пользователя вашей базы данных. Оставьте это поле пустым, если вы используете пользователя базы данных «root». -
admin-firstname
: ваше имя -
admin-lastname
: ваша фамилия -
admin-email
: ваш адрес электронной почты -
admin-user
: имя пользователя, которое вы будете использовать для входа в панель администратора -
admin-password
: пароль, который вы будете использовать для входа в панель администратора -
language
: язык, который вы будете использовать в панели администратора и на витрине. Используйте код языка, напримерen_US
. -
admin-email
: измените его на свой адрес электронной почты -
currency
: установите валюту по умолчанию для использования в вашей витрине. Введитеphp bin/magento info:currency:list
для списка поддерживаемых валют вместе с их кодами. -
timezone
: измените часовой пояс, в котором вы находитесь. Обратитесь к списку поддерживаемых часовых поясов, чтобы лучше понять, что заполнять. -
url-rewrites
: установите значение 1, чтобы включить перезапись веб-сервера. Это поможет ранжированию вашего сайта. -
backend-frontname
: укажите URL-адрес администратора. Если этот параметр не указан, URL-адрес вашего пути администратора Magento будет сгенерирован случайным образом (например, admin_jkhgdfq). -
search-engine
: установите версию Elasticsearch, которую вы хотите использовать для этой установки Magento. По умолчанию используется elasticsearch7. -
elasticsearch-host
: имя хоста или IP-адрес, на котором работает Elasticsearch. По умолчанию используется локальный хост. -
elasticsearch-port
: номер порта, который прослушивает Elasticsearch. По умолчанию 9200
Дополнительные настраиваемые параметры см. в официальном руководстве Magento.
После успешной установки вы увидите это сообщение:
Проверка прав доступа к файлам после установки… В целях безопасности удалите права на запись из этих каталогов: «C:/xampp/htdocs/magento24/app/etc». [Прогресс: 1270 / 1270] [УСПЕХ]: установка Magento завершена. [УСПЕХ]: URI панели администратора: /admin Нечего импортировать.
После этого нам нужно будет внести некоторые дополнительные изменения, чтобы заставить Magento работать с Windows, например:
В app\etc\di.xml
замените Symlink
на Copy
<virtualType name="developerMaterialization" type="Magento\Framework\App\View\Asset\MaterializationStrategy\Factory"> <аргументы> <argument name="strategiesList" xsi:type="array"> <item name="view_preprocessed" xsi:type="object">Magento\Framework\App\View\Asset\MaterializationStrategy\Symlink</item> <item name="default" xsi:type="object">Magento\Framework\App\View\Asset\MaterializationStrategy\Copy</item> </аргумент> </аргументы> </ виртуальный тип>
В vendor\magento\framework\View\Element\Template\File\Validator.php
замените строку 138 на:
$realPath = str_replace('\\', '/',$this->fileDriver->getRealPath($path));
Наконец, запустите эти команды:
Индексатор php bin/magento: переиндексировать Установка php bin/magento:обновление Установка php bin/magento: статическое содержимое: развертывание -f Кэш php bin/magento: флеш
Дополнительные настройки для Magento 2.4.2 и выше
Начиная с Magento 2.4.2, теперь обязательно обслуживать контент из папки /pub/
для обеспечения большей безопасности. Вот почему требуются дополнительные настройки, чтобы ваша версия Magento 2.4.2 работала правильно.
Шаг 1 : Скопируйте файлы index.php
и .htaccess
из /pub/
в корневую папку.
Шаг 2 : Найдите следующую строку в index.php
(в корневой папке):
требуется __DIR__ . '/../приложение/bootstrap.php';
и замените его на
требуется __DIR__ . '/приложение/bootstrap.php';
Шаг 3. Перейдите в недавно созданную базу данных Magento 2 (в http://localhost/phpmyadmin
) и найдите таблицу core_config_data
с помощью этого SQL-запроса:
ВЫБЕРИТЕ * ИЗ core_config_data
В этой таблице вы захотите вставить эти строки в:
Дорожка | Ценность |
веб/безопасный/base_static_url | http://localhost/magento24/pub/static/ |
сеть/незащищенный/base_static_url | http://localhost/magento24/pub/static/ |
веб/безопасный/base_media_url | http://localhost/magento24/pub/media/ |
Интернет/незащищенный/base_media_url | http://localhost/magento24/pub/media/ |
magento24
на каталог установки Magento.- Вставить строки вручную:
- Вставьте строки с SQL-запросами:
ВСТАВЬТЕ В `core_config_data` (`config_id`, `scope`, `scope_id`, `path`, `value`, `updated_at`) ЗНАЧЕНИЯ (NULL, 'по умолчанию', '0', 'web/secure/base_static_url', 'http://localhost/magento24/pub/static/', текущая_временная метка()); ВСТАВЬТЕ В `core_config_data` (`config_id`, `scope`, `scope_id`, `path`, `value`, `updated_at``) ЗНАЧЕНИЯ (NULL, 'default', '0', 'web/unsecure/base_static_url', 'http://localhost/magento24/pub/static/', текущая_временная метка()); ВСТАВЬТЕ В `core_config_data` (`config_id`, `scope`, `scope_id`, `path`, `value`, `updated_at`) ЗНАЧЕНИЯ (NULL, 'по умолчанию', '0', 'web/secure/base_media_url', 'http://localhost/magento24/pub/media/', текущая_временная метка()); ВСТАВЬТЕ В `core_config_data` (`config_id`, `scope`, `scope_id`, `path`, `value`, `updated_at``) ЗНАЧЕНИЯ (NULL, 'default', '0', 'web/unsecure/base_media_url', 'http://localhost/magento24/pub/media/', текущая_временная метка());
Ваши вновь добавленные строки должны выглядеть примерно так:
Теперь очистите кеш, используя:
Кэш php bin/magento: флеш
И обновите интерфейс. Теперь вы должны увидеть пустую страницу, подобную этой, при доступе к внешнему интерфейсу через настроенный base-url
:
Теперь вы можете получить доступ к внешнему интерфейсу Magento с настроенным base-url
. Например, с нашей установкой Magento 2.4.2 мы получаем доступ к нашему новому сайту Magento по адресу http://localhost/magento24/
и нашему бэкэнду по адресу http://localhost/magento24/admin
.
*Примечание: если вы столкнулись с этой ошибкой при попытке войти в свою учетную запись администратора Magento: «Вам необходимо настроить двухфакторную авторизацию…»
Попробуйте запустить эту команду:
Модуль php bin/magento: отключить Magento_TwoFactorAuth
Часть 5. Импорт образцов данных (необязательно)
Запустите эту команду, чтобы импортировать образцы данных:
php bin/magento пример данных: развернуть
При появлении запроса введите ключи аутентификации Magento. Открытый и закрытый ключи создаются и настраиваются в вашей учетной записи Magento Marketplace.
После завершения импорта данных запустите:
Установка php bin/magento:обновление Установка php bin/magento: статическое содержимое: развертывание -f Кэш php bin/magento: очистить
Теперь обновите внешний интерфейс, и вы сможете увидеть магазин Magento по умолчанию с темой Luma и образцами данных.
Вот и все! Вы завершили установку Magento 2 на свой локальный хост. Теперь вы можете получить доступ к внешнему/админу интерфейсу Magento 2 и начать изучать возможности Magento 2. Мы надеемся, что вы найдете этот пост полезным!
Дальнейшее чтение