Как установить 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 дважды щелкните файл, чтобы установить его на свой компьютер.

Нажмите «Далее» .

шаг 1 установки xampp

Оставьте выбор по умолчанию, как на картинке. Нажмите «Далее» .

шаг 2 установки xampp

Выберите папку для установки. Расположение по умолчанию — C:\xampp . После этого нажмите Далее .

шаг 3 установки xampp

Нажмите «Далее» .

шаг 4 установки xampp

Нажмите «Далее» .

шаг 5 установки xampp

Теперь программа установки установит xampp на ваш компьютер. Пожалуйста, подожди минутку.

установка xampp установка

После завершения установки вы увидите вариант «Вы хотите запустить панель управления сейчас?». Держите его выбранным. Нажмите «Готово» , чтобы выйти из программы настройки и войти в панель управления XAMPP.

завершение установки xampp

Шаг 3 : Настройте XAMPP

В панели управления XAMPP нажмите кнопку « Конфигурация » в строке «Apache» и нажмите « PHP (php.ini) ».

настроить 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») и нажмите « Создать ».

phpmyadmin

Запишите имя вашей базы данных, так как вы захотите установить на нее 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 <имя каталога-установки>

Композитору потребуется некоторое время, чтобы загрузить и установить все необходимые модули. Когда все будет готово, вот что вы должны увидеть:

композитор скачать Magento

Часть 4: Установите Magento с помощью командной строки

Начиная с Magento 2.4, интерфейс командной строки является методом установки по умолчанию (и единственным) для Magento.

Во время установки Magento 2.4 вы можете столкнуться с некоторыми ошибками. Чтобы предотвратить такие ошибки, вам сначала нужно внести некоторые изменения в файлы Magento.

Чтобы предотвратить эту ошибку:

ошибка gd2

Найдите функцию 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.
  • Вставить строки вручную:
Вставить новую базу данных таблицы
Путь и значение новой строки базы данных Localhost
  • Вставьте строки с 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 2 без демонстрационных данных

Теперь вы можете получить доступ к внешнему интерфейсу Magento с настроенным base-url . Например, с нашей установкой Magento 2.4.2 мы получаем доступ к нашему новому сайту Magento по адресу http://localhost/magento24/ и нашему бэкэнду по адресу http://localhost/magento24/admin .

*Примечание: если вы столкнулись с этой ошибкой при попытке войти в свою учетную запись администратора Magento: «Вам необходимо настроить двухфакторную авторизацию…»

Ошибка двухфакторной аутентификации на бэкэнде Magento

Попробуйте запустить эту команду:

 Модуль php bin/magento: отключить Magento_TwoFactorAuth

Часть 5. Импорт образцов данных (необязательно)

Запустите эту команду, чтобы импортировать образцы данных:

 php bin/magento пример данных: развернуть

При появлении запроса введите ключи аутентификации Magento. Открытый и закрытый ключи создаются и настраиваются в вашей учетной записи Magento Marketplace.

Ключи доступа Magento

После завершения импорта данных запустите:

 Установка php bin/magento:обновление
Установка php bin/magento: статическое содержимое: развертывание -f
Кэш php bin/magento: очистить

Теперь обновите внешний интерфейс, и вы сможете увидеть магазин Magento по умолчанию с темой Luma и образцами данных.

Тема Magento 2 Luma

Вот и все! Вы завершили установку Magento 2 на свой локальный хост. Теперь вы можете получить доступ к внешнему/админу интерфейсу Magento 2 и начать изучать возможности Magento 2. Мы надеемся, что вы найдете этот пост полезным!


Дальнейшее чтение

10 лучших бесплатных тем и шаблонов Magento 2 в 2022 году
10 лучших бесплатных тем и шаблонов Magento 2 в 2022 году
Перри 3 января 2022 г. 8 минут чтения
12 лучших хостинг-провайдеров Magento 2
12 лучших хостинг-провайдеров Magento 2
Хейли Нгуен 4 июня 2021 г. 9 минут чтения
10 лучших веб-сайтов на Magento 2
10 лучших веб-сайтов на Magento 2
Перри 1 сентября 2020 г. 9 минут чтения
10 лучших примеров Magento PWA
10 лучших примеров Magento PWA
Люк Ву 25 декабря 2020 г. 11 минут чтения