如何在本地主機上安裝 Magento 2

已發表: 2021-04-12

目錄

2021 年 4 月 13 日更新:用戶在嘗試安裝 Magento 2.4.2 時可能會遇到404 Not Found錯誤。 遵循文章中建議的解決方案以獲得最佳結果。

Magento 推出 2.0 版本已經有很長一段時間了。 隨著更友好的用戶界面和改進的性能,許多現有的 Magento 1 用戶很可能遲早會遷移到 Magento 2。 順應潮流,SimiCart 也在 2016 年 12 月發布了 Magento 2 移動應用。

今天,我們將向您展示如何使用 XAMPP 服務器在 Windows 上本地安裝 Magento 2.4。 本教程面向當前 Magento 2 用戶以及完全不熟悉 Magento 的用戶。 現在,讓我們開始吧!

第 1 部分:安裝和配置 XAMPP

第 1 步:下載 XAMPP

下載鏈接: https ://www.apachefriends.org/download.html

我們建議使用 PHP 版本 7.4.x 安裝 XAMPP,這是 Magento 為 M2.4 推薦的。 同樣根據 Magento,您可以使用 PHP 7.3 安裝 Magento 2.4,但未測試或推薦。

第 2 步:安裝 XAMPP

下載 XAMPP 後,雙擊該文件將其安裝到您的計算機上。

單擊下一步

xampp 設置步驟 1

保留圖像中的默認選擇。 單擊下一步

xampp 設置步驟 2

選擇您的安裝文件夾。 默認位置是C:\xampp 。 之後,單擊Next

xampp 設置步驟 3

單擊下一步

xampp 設置步驟 4

單擊下一步

xampp 設置步驟 5

安裝程序現在將在您的計算機上安裝 xampp。 請等一會兒。

xampp安裝程序安裝

設置完成後,您將看到“您要立即啟動控制面板嗎?”選項。 保持選中狀態。 單擊完成退出設置並進入 XAMPP 控制面板。

xampp設置完成

第 3 步:配置 XAMPP

在 XAMPP 控制面板中,單擊“Apache”行上的Config按鈕,然後單擊“ PHP (php.ini) ”。

配置 php.ini


php.ini文件中,找到這些行並刪除; 在每一行之前:

 ;擴展=國際
;擴展=肥皂
;擴展=套接字
;擴展=鈉
;擴展名=xsl

memory_limit擴展為 4G:

 memory_limit=4G

完成後,保存並關閉文件。 然後,單擊 2 行 Apache 和 MySQL 上的Start按鈕來啟動它們。 在這一步之後不要退出 XAMPP,讓它運行。

第 4 步:配置主機文件

打開C:\Windows\System32\drivers\etc\hosts 。 將以下行添加到最後一行:

 127.0.0.1 www.localhost.com

第 5 步:創建數據庫

瀏覽 URL http://localhost/phpmyadmin/以訪問 phpMyAdmin 頁面。 輸入數據庫名稱(例如“Magento2”),然後單擊Create

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_name”:“彈性搜索”,
   “cluster_uuid”:“AT69_T_DTp-1qgIJlatQqA”,
   “版本” : {
     “數字”:“7.6.0”,
     “build_flavor”:“默認”,
     “build_type”:“焦油”,
     “build_hash”:“f27399d”,
     “build_date”:“2016-03-30T09:51:41.449Z”,
     “build_snapshot”:假,
     “lucene_version”:“8.7.0”,
     “minimum_wire_compatibility_version”:“1.2.3”,
     “minimum_index_compatibility_version”:“1.2.3”
   },
   “標語”:“你知道,搜索”
 }

第 3 部分:使用 Composer 下載 Magento

由於 Magento 2 中的一些插件不適用於 composer 2.x,您需要使用穩定版本的 composer 1.x 來下載 Magento。 最好的方法是安裝 Composer-Setup.exe。

此設置將安裝最新的 composer 版本並設置 PATH 環境變量,以便您可以方便地從任何目錄調用 composer。 安裝完 composer 後,需要使用composer self-update --1降級到較早的 1.x 版本,以確保最佳兼容性。

接下來, cdC:\xampp\htdocs並運行以下命令:

 composer create-project --repository-url=https://repo.magento.com/magento/project-community-edition=2.4.2 <install-directory-name>

作曲家需要一段時間才能下載並安裝所有必要的模塊。 一切完成後,您應該看到以下內容:

作曲家下載 Magento

第 4 部分:使用命令行安裝 Magento

從 Magento 2.4 開始,命令行界面是 Magento 的默認(也是唯一)安裝方法。

在 Magento 2.4 安裝過程中,您可能會遇到一些錯誤。 為防止此類錯誤,您首先需要對 Magento 文件進行一些調整。

為防止此錯誤:

gd2錯誤

\vendor\magento\framework\Image\Adapter\Gd2.php中找到validateURLScheme函數並將其替換為:

 私有函數 validateURLScheme(string $filename) : bool
   {
       $allowed_schemes = ['ftp', 'ftps', 'http', 'https'];
       $url = parse_url($filename);
       if ($url && isset($url['scheme']) && !in_array($url['scheme'], $allowed_schemes) && !file_exists($filename)) {
           返回假;
       }
       返回真;
 }

接下來, cd到您的 Magento 目錄並運行以下命令:

 php bin/magento setup:install --base-url=http://localhost/magento24/ --db-host=localhost --db-name=yourdbname --db-user=yourdbuser --db-password=yourdbpassword - -admin-firstname=admin --admin-lastname=admin [email protected] --admin-user=admin --admin-password=admin123 --language=en_US --currency=USD -- timezone=美國/芝加哥 --use-rewrites=1 --backend-frontname=admin --search-engine=elasticsearch7 --elasticsearch-host=localhost --elasticsearch-port=9200 

說明

  • base-url :您的 Magento 目錄所在的路徑,格式如下:http[s]://<host or ip>/<your Magento install dir>/
  • 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 以啟用 Web 服務器重寫。 這將有助於您的網站排名。
  • backend-frontname :設置您的管理員 URL。 省略此參數將導致為您的 Magento Admin 路徑隨機生成 URL(例如,admin_jkhgdfq)
  • search-engine :設置要用於此 Magento 安裝的 Elasticsearch 版本。 默認為elasticsearch7
  • elasticsearch-host :運行 Elasticsearch 的主機名或 IP 地址。 默認是本地主機
  • elasticsearch-port Elasticsearch 正在監聽的端口號。 默認值為 9200

有關更多可配置選項,請參閱 Magento 的官方指南。

成功安裝後,您將看到以下消息:

 安裝後文件權限檢查...
 為了安全起見,請從以下目錄中刪除寫權限:'C:/xampp/htdocs/magento24/app/etc'
 [進度:1270 / 1270]
 [SUCCESS]: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>
        </參數>
    </參數>
</virtualType>

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__ 。 '/../app/bootstrap.php';

並將其替換為

 需要 __DIR__ 。 '/app/bootstrap.php';

第 3 步:轉到您最近創建的 Magento 2 數據庫(在http://localhost/phpmyadmin中)並使用以下 SQL 查詢找到表core_config_data

 選擇 * 從 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 查詢插入行:
 INSERT INTO `core_config_data` (`config_id`, `scope`, `scope_id`, `path`, `value`, `updated_at`) VALUES (NULL, 'default', '0', 'web/secure/base_static_url', 'http://localhost/magento24/pub/static/', current_timestamp());
INSERT INTO `core_config_data` (`config_id`, `scope`, `scope_id`, `path`, `value`, `updated_at`) VALUES (NULL, 'default', '0', 'web/unsecure/base_static_url', 'http://localhost/magento24/pub/static/', current_timestamp());
INSERT INTO `core_config_data` (`config_id`, `scope`, `scope_id`, `path`, `value`, `updated_at`) VALUES (NULL, 'default', '0', 'web/secure/base_media_url', 'http://localhost/magento24/pub/media/', current_timestamp());
INSERT INTO `core_config_data` (`config_id`, `scope`, `scope_id`, `path`, `value`, `updated_at`) VALUES (NULL, 'default', '0', 'web/unsecure/base_media_url', 'http://localhost/magento24/pub/media/', current_timestamp());

您新添加的行應如下所示:

現在使用以下命令清除緩存:

 php bin/magento 緩存:刷新

並刷新您的前端。 通過配置base-url訪問前端時,您現在應該能夠看到這樣的空白頁面:

沒有樣本數據的 Magento 2

現在您可以使用您配置base-url訪問您的 Magento 前端。 例如,安裝 Magento 2.4.2 後,我們可以在http://localhost/magento24/訪問我們的新 Magento 站點,在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 緩存:乾淨

現在,刷新前端,您應該能夠看到帶有 Luma 主題和示例數據的默認 Magento 存儲。

Magento 2 Luma 主題

而已! 您已完成在本地主機上安裝 Magento 2。 現在您可以訪問您的 Magento 2 前端/後端並開始探索 Magento 2 功能。 我們希望這篇文章對您有所幫助!


延伸閱讀

2022 年 10 個最佳免費 Magento 2 主題和模板
2022 年 10 個最佳免費 Magento 2 主題和模板
佩里 2022 年 1 月 3 日 8 分鐘閱讀
12 家最佳 Magento 2 託管服務提供商
12 家最佳 Magento 2 託管服務提供商
海莉阮 2021 年 6 月 4 日 9 分鐘閱讀
10 個最佳 Magento 2 網站
10 個最佳 Magento 2 網站
佩里 2020 年 9 月 1 日 9 分鐘閱讀
10 個最佳 Magento PWA 示例
10 個最佳 Magento PWA 示例
盧克武 2020 年 12 月 25 日 11 分鐘閱讀