Jak zainstalować Magento 2 na lokalnym hoście?

Opublikowany: 2021-04-12

Spis treści

Zaktualizowano 13 kwietnia 2021 r .: Użytkownicy mogą napotkać błąd 404 Not Found podczas próby zainstalowania Magento 2.4.2. Postępuj zgodnie z sugerowanym rozwiązaniem w artykule, aby uzyskać najlepszy wynik.

Minęło sporo czasu, odkąd Magento wprowadziło swoją wersję 2.0. Dzięki bardziej przyjaznemu interfejsowi użytkownika i lepszej wydajności prawdopodobnie wielu istniejących użytkowników Magento 1 prędzej czy później przejdzie na Magento 2. Podążając za trendem, SimiCart wypuściło również aplikację mobilną Magento 2 w grudniu 2016 roku.

Dzisiaj pokażemy, jak zainstalować Magento 2.4 lokalnie w systemie Windows przy użyciu serwera XAMPP. Ten samouczek jest skierowany do obecnych użytkowników Magento 2, a także użytkowników, którzy są całkowicie nowi w Magento. Teraz zacznijmy!

Część 1: Zainstaluj i skonfiguruj XAMPP

Krok 1 : Pobierz XAMPP

Link do pobrania: https://www.apachefriends.org/download.html

Zalecamy instalację XAMPP z PHP w wersji 7.4.x, który jest zalecany przez Magento dla M2.4. Według Magento, możesz zainstalować Magento 2.4 z PHP 7.3, ale nie jest to testowane ani zalecane.

Krok 2 : Zainstaluj XAMPP

Po pobraniu XAMPP kliknij dwukrotnie plik, aby zainstalować go na swoim komputerze.

Kliknij Dalej .

xampp krok konfiguracji 1

Pozostaw domyślny wybór, jak na obrazku. Kliknij Dalej .

xampp krok konfiguracji 2

Wybierz folder instalacyjny. Domyślna lokalizacja to C:\xampp . Następnie kliknij Dalej .

xampp krok konfiguracji 3

Kliknij Dalej .

xampp krok konfiguracji 4

Kliknij Dalej .

xampp krok konfiguracji 5

Instalator zainstaluje teraz xampp na twoim komputerze. Proszę, zaczekaj chwilę.

Instalacja konfiguracji xampp

Po zakończeniu instalacji zobaczysz opcję „Czy chcesz teraz uruchomić Panel sterowania?”. Zachowaj to zaznaczone. Kliknij Zakończ , aby wyjść z instalacji i wejść do Panelu sterowania XAMPP.

Zakończenie konfiguracji xampp

Krok 3 : Skonfiguruj XAMPP

W Panelu sterowania XAMPP kliknij przycisk Konfiguracja w wierszu „Apache” i kliknij „ PHP (php.ini) ”.

skonfiguruj php.ini


W pliku php.ini znajdź te wiersze i usuń ; przed każdym rzędem:

 ;rozszerzenie=intl
;rozszerzenie=mydło
;rozszerzenie=gniazda
;rozszerzenie=sód
;rozszerzenie=xsl

Rozszerz memory_limit do 4G:

 memory_limit=4G

Po zakończeniu zapisz i zamknij plik. Następnie kliknij przycisk Start w 2 wierszach Apache i MySQL, aby je uruchomić. Nie wychodź z XAMPP po tym kroku, po prostu pozwól mu działać.

Krok 4 : Skonfiguruj plik hosts

Otwórz C:\Windows\System32\drivers\etc\hosts . Dodaj następujący wiersz do ostatniego wiersza:

 127.0.0.1 www.localhost.com

Krok 5 : Utwórz bazę danych

Przeglądaj adres URL http://localhost/phpmyadmin/ , aby uzyskać dostęp do strony phpMyAdmin. Wpisz nazwę bazy danych (na przykład „Magento2”) i kliknij Utwórz .

phpmyadmin

Zanotuj nazwę swojej bazy danych, ponieważ będziesz chciał zainstalować na niej Magento później (przy użyciu użytkownika root ).

Część 2: Zainstaluj Elasticsearch

Od wersji 2.4 Magento wymaga, aby Elasticsearch był wyszukiwarką katalogu.

Pobierz Elasticsearch 7.6.0: https://www.elastic.co/downloads/past-releases/elasticsearch-7-6-0 (Magento 2.4.x jest testowane tylko z Elasticsearch 7.6.x. Możesz użyć innego 7.x wersje według własnego uznania, ale zalecamy korzystanie z przetestowanej wersji Elasticsearch.)

Wyodrębnij właśnie pobrany plik .zip. W oknie terminala cd do wyodrębnionego katalogu i uruchom to polecenie:

 .\bin\elasticsearch.bat

Po zakończeniu instalacji możesz sprawdzić, czy Elasticsearch jest poprawnie zainstalowany pod http://localhost:9200 , co powinno dać ci coś takiego:

 {
   "nazwa" : "Cp8oag6",
   "cluster_name" : "elasticsearch",
   "cluster_uuid" : "AT69_T_DTp-1qgIJlatQqA",
   "wersja" : {
     "liczba" : "7.6.0",
     "build_flavor" : "domyślny",
     "typ_budowy" : "smoła",
     "build_hash" : "f27399d",
     "data_kompilacji" : "2016-03-30T09:51:41.449Z",
     "migawka_budowy" : fałsz,
     "wersja_lucena" : "8.7.0",
     "minimum_wire_compatibility_version" : "1.2.3",
     "minimum_index_compatibility_version" : "1.2.3"
   },
   "tagline": "Wiesz, do wyszukiwania"
 }

Część 3: Pobierz Magento za pomocą Composer

Ponieważ niektóre wtyczki z Magento 2 nie działają z composer 2.x, do pobrania Magento będziesz chciał użyć stabilnej wersji composer 1.x. Najlepszym sposobem na to byłoby zainstalowanie Composer-Setup.exe.

Ta konfiguracja zainstaluje najnowszą wersję kompozytora i skonfiguruje zmienne środowiskowe PATH, tak abyś mógł wygodnie wywoływać kompozytora z dowolnego katalogu. Po zakończeniu instalacji kompozytora wymagane jest cofnięcie do wcześniejszej wersji 1.x przy użyciu composer self-update --1 , aby zapewnić najlepszą kompatybilność.

Następnie cd do C:\xampp\htdocs i uruchom następujące polecenie:

 kompozytor create-project --repository-url=https://repo.magento.com/magento/project-community-edition=2.4.2 <nazwa-katalogu-instalacyjnego>

Pobranie i zainstalowanie wszystkich niezbędnych modułów powinno zająć kompozytorowi trochę czasu. Kiedy wszystko się skończy, oto co powinieneś zobaczyć:

kompozytor pobierz Magento

Część 4: Zainstaluj Magento za pomocą wiersza poleceń

Począwszy od Magento 2.4, interfejs wiersza poleceń jest domyślną (i jedyną) metodą instalacji Magento.

Podczas instalacji Magento 2.4 możesz napotkać pewne błędy. Aby zapobiec takim błędom, musisz najpierw wprowadzić kilka poprawek do plików Magento.

Aby zapobiec temu błędowi:

błąd gd2

Znajdź funkcję validateURLScheme w \vendor\magento\framework\Image\Adapter\Gd2.php i zastąp ją:

 private function validateURLScheme(string $filename) : bool
   {
       $allowed_schemes = ['ftp', 'ftps', 'http', 'https'];
       $url = parse_url($nazwa pliku);
       if ($url && isset($url['scheme']) && !in_array($url['scheme'], $allowed_schemes) && !file_exists($filename)) {
           zwróć fałsz;
       }
       zwróć prawdę;
 }

Następnie cd do katalogu Magento i uruchom to polecenie:

 php bin/magento setup:install --base-url=http://localhost/magento24/ --db-host=localhost --db-name=twoja_nazwa_db-a --db-user=_użytkownik_db_użytkownika --db-password=twoje_hasło_bazy_danych - -admin-firstname=admin --admin-lastname=admin [email protected] --admin-user=admin --admin-password=admin123 --language=en_US --waluta=USD -- strefa czasowa=Ameryka/Chicago --use-rewrites=1 --backend-frontname=admin --search-engine=elasticsearch7 --elasticsearch-host=localhost --elasticsearch-port=9200 

Opisy :

  • base-url : ścieżka, w której znajduje się twój katalog Magento, w następującym formacie: http[s]://<host lub ip>/<twój katalog instalacyjny Magento>/
  • db-host : nazwa hosta lub adres IP twojego hosta
  • db-name : zmień go na nazwę właśnie utworzonej bazy danych Magento
  • db-user : użytkownik bazy danych z pełnymi uprawnieniami. Będziemy używać domyślnego użytkownika root.
  • db-password : hasło użytkownika bazy danych. Pozostaw puste, jeśli używasz „root” użytkownika bazy danych
  • admin-firstname : twoje imię
  • admin-lastname : twoje nazwisko
  • admin-email : Twój adres e-mail
  • admin-user : nazwa użytkownika, której będziesz używać do logowania się do panelu administracyjnego
  • admin-password : hasło, którego będziesz używać do logowania się do panelu administracyjnego
  • language : język, którego będziesz używać w panelu administracyjnym i witrynie sklepowej. Użyj kodu języka, takiego jak en_US .
  • admin-email : zmień go na swój e-mail
  • currency : ustaw domyślną walutę, która ma być używana w Twoim sklepie. Wprowadź php bin/magento info:currency:list , aby wyświetlić listę obsługiwanych walut wraz z ich kodami
  • timezone : zmień strefę czasową, w której się znajdujesz. Zapoznaj się z listą obsługiwanych stref czasowych, aby dowiedzieć się, co wypełnić.
  • url-rewrites : ustaw na 1, aby umożliwić ponowne zapisywanie serwera WWW. Pomoże to w rankingu witryny.
  • backend-frontname : ustaw swój adres URL administratora. Pominięcie tego parametru spowoduje wygenerowanie losowego adresu URL dla ścieżki administratora Magento (np. admin_jkhgdfq)
  • search-engine : ustaw wersję Elasticsearch, której chcesz użyć dla tej instalacji Magento. Wartość domyślna to elasticsearch7
  • Elasticsearch elasticsearch-host : nazwa hosta lub adres IP, na którym działa Elasticsearch. Wartość domyślna to localhost
  • elasticsearch-port : numer portu, którego nasłuchuje Elasticsearch. Wartość domyślna to 9200

Aby uzyskać więcej konfigurowalnych opcji, zapoznaj się z oficjalnym przewodnikiem Magento.

Po udanej instalacji zobaczysz następujący komunikat:

 Sprawdzanie uprawnień do pliku po instalacji…
 Ze względów bezpieczeństwa usuń uprawnienia do zapisu z tych katalogów: „C:/xampp/htdocs/magento24/app/etc”
 [Postęp: 1270/1270]
 [SUKCES]: Instalacja Magento zakończona.
 [SUKCES]: URI panelu administracyjnego: /admin
Nic do importu.

Następnie będziemy musieli wprowadzić kilka dodatkowych poprawek, aby Magento działało w systemie Windows, na przykład:

W app\etc\di.xml zamień Symlink na Copy

 <virtualType name="developerMaterialization" type="Magento\Framework\App\View\Asset\MaterializationStrategy\Factory">
    <argumenty>
        <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>
        </argument>
    </arguments>
</virtualType>

W vendor\magento\framework\View\Element\Template\File\Validator.php , zamień wiersz 138 na:

 $realPath = str_replace('\\', '/',$this->fileDriver->getRealPath($path));

Na koniec uruchom te polecenia:

 php bin/magento indeksator: reindeksuj
Konfiguracja bin/magento php: aktualizacja
php bin/magento setup:static-content:deploy -f
php bin/magento cache: opróżnianie

Dodatkowe poprawki dla Magento 2.4.2 i nowszych

Począwszy od Magento 2.4.2, teraz obowiązkowe jest serwowanie treści z folderu /pub/ w celu zapewnienia lepszego bezpieczeństwa. Dlatego wymagane są dodatkowe poprawki, aby Twoja wersja Magento 2.4.2 działała poprawnie.

Krok 1 : Skopiuj pliki index.php i .htaccess z /pub/ do folderu głównego.

Krok 2 : Znajdź poniższy wiersz w index.php (w folderze głównym):

 wymagają __DIR__ . '/../app/bootstrap.php';

i zastąp go

 wymagają __DIR__ . '/app/bootstrap.php';

Krok 3 : Przejdź do niedawno utworzonej bazy danych Magento 2 (w http://localhost/phpmyadmin ) i znajdź tabelę core_config_data za pomocą tego zapytania SQL:

 WYBIERZ * Z core_config_data

W tej tabeli będziesz chciał wstawić te wiersze w:

Ścieżka Wartość
web/secure/base_static_url http://localhost/magento24/pub/static/
sieć/niezabezpieczone/base_static_url http://localhost/magento24/pub/static/
sieć/bezpieczna/base_media_url http://localhost/magento24/pub/media/
sieć/niezabezpieczone/base_media_url http://localhost/magento24/pub/media/
Zastąp magento24 swoim katalogiem instalacyjnym Magento
  • Wstaw wiersze ręcznie:
Wstaw nową bazę danych tabeli
Baza danych Localhost nowa ścieżka i wartość wiersza
  • Wstaw wiersze z zapytaniami SQL:
 WSTAW W `core_config_data` (`config_id`, `scope`, `scope_id`, `path`, `value`, `updated_at`) WARTOŚCI (NULL, 'default', '0', 'web/secure/base_static_url', 'http://localhost/magento24/pub/static/', current_timestamp());
WSTAW W `core_config_data` (`config_id`, `scope`, `scope_id`, `path`, `value`, `updated_at`) WARTOŚCI (NULL, 'default', '0', 'web/unsecure/base_static_url', 'http://localhost/magento24/pub/static/', current_timestamp());
WSTAW W `core_config_data` (`config_id`, `scope`, `scope_id`, `path`, `value`, `updated_at`) WARTOŚCI (NULL, 'default', '0', 'web/secure/base_media_url', 'http://localhost/magento24/pub/media/', current_timestamp());
WSTAW W `core_config_data` (`config_id`, `scope`, `scope_id`, `path`, `value`, `updated_at`) WARTOŚCI (NULL, 'default', '0', 'web/unsecure/base_media_url', 'http://localhost/magento24/pub/media/', current_timestamp());

Twoje nowo dodane wiersze powinny wyglądać mniej więcej tak:

Teraz wyczyść pamięć podręczną za pomocą:

 php bin/magento cache: opróżnianie

I odśwież swój frontend. Powinieneś teraz widzieć pustą stronę, taką jak ta, podczas uzyskiwania dostępu do interfejsu użytkownika za pośrednictwem skonfigurowanego base-url :

Magento 2 bez przykładowych danych

Teraz możesz uzyskać dostęp do frontendu Magento za pomocą skonfigurowanego base-url . Na przykład dzięki naszej instalacji Magento 2.4.2 uzyskujemy dostęp do naszej nowej witryny Magento pod http://localhost/magento24/ , a naszego backendu pod http://localhost/magento24/admin .

*Uwaga: jeśli napotkasz ten błąd podczas próby zalogowania się na konto administratora Magento: „Musisz skonfigurować autoryzację dwuetapową…”

Błąd uwierzytelniania dwuskładnikowego zaplecza Magento

Spróbuj uruchomić to polecenie:

 php bin/magento module: wyłącz Magento_TwoFactorAuth

Część 5: Importuj przykładowe dane (opcjonalnie)

Uruchom to polecenie, aby zaimportować przykładowe dane:

 php bin/magento sampledata:deploy

Po wyświetleniu monitu wprowadź klucze uwierzytelniające Magento. Klucze publiczne i prywatne są tworzone i konfigurowane na Twoim koncie Magento Marketplace.

Klucze dostępu Magento

Po zakończeniu importowania danych uruchom:

 Konfiguracja bin/magento php: aktualizacja
php bin/magento setup:static-content:deploy -f
php bin/magento cache: czyste

Teraz odśwież frontend i powinieneś być w stanie zobaczyć domyślny sklep Magento z motywem Luma i przykładowymi danymi.

Motyw Magento 2 Luma

Otóż ​​to! Zakończyłeś instalację Magento 2 na lokalnym hoście. Teraz możesz uzyskać dostęp do swojego frontendu/backendu Magento 2 i zacząć odkrywać funkcje Magento 2. Mamy nadzieję, że ten post okaże się pomocny!


Dalsza lektura

10 najlepszych darmowych motywów i szablonów Magento 2 w 2022 r.
10 najlepszych darmowych motywów i szablonów Magento 2 w 2022 r.
Wino z gruszek 3 sty 2022 8 minut czytania
12 najlepszych dostawców hostingu Magento 2
12 najlepszych dostawców hostingu Magento 2
Heiley Nguyen 4 czerwca 2021 9 minut czytania
10 najlepszych stron internetowych Magento 2
10 najlepszych stron internetowych Magento 2
Wino z gruszek 1 wrz 2020 9 minut czytania
10 najlepszych przykładów Magento PWA
10 najlepszych przykładów Magento PWA
Łukasz Vu 25 grudnia 2020 11 minut czytania