如何在本地主機上安裝 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 後,雙擊該文件將其安裝到您的計算機上。
單擊下一步。
保留圖像中的默認選擇。 單擊下一步。
選擇您的安裝文件夾。 默認位置是C:\xampp 。 之後,單擊Next 。
單擊下一步。
單擊下一步。
安裝程序現在將在您的計算機上安裝 xampp。 請等一會兒。
設置完成後,您將看到“您要立即啟動控制面板嗎?”選項。 保持選中狀態。 單擊完成退出設置並進入 XAMPP 控制面板。
第 3 步:配置 XAMPP
在 XAMPP 控制面板中,單擊“Apache”行上的Config按鈕,然後單擊“ PHP (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 。
記下您的數據庫名稱,因為稍後您需要在其上安裝 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 版本,以確保最佳兼容性。
接下來, cd
到C:\xampp\htdocs
並運行以下命令:
composer create-project --repository-url=https://repo.magento.com/magento/project-community-edition=2.4.2 <install-directory-name>
作曲家需要一段時間才能下載並安裝所有必要的模塊。 一切完成後,您應該看到以下內容:
第 4 部分:使用命令行安裝 Magento
從 Magento 2.4 開始,命令行界面是 Magento 的默認(也是唯一)安裝方法。
在 Magento 2.4 安裝過程中,您可能會遇到一些錯誤。 為防止此類錯誤,您首先需要對 Magento 文件進行一些調整。
為防止此錯誤:
在\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
訪問前端時,您現在應該能夠看到這樣的空白頁面:
現在您可以使用您配置base-url
訪問您的 Magento 前端。 例如,安裝 Magento 2.4.2 後,我們可以在http://localhost/magento24/
訪問我們的新 Magento 站點,在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 緩存:乾淨
現在,刷新前端,您應該能夠看到帶有 Luma 主題和示例數據的默認 Magento 存儲。
而已! 您已完成在本地主機上安裝 Magento 2。 現在您可以訪問您的 Magento 2 前端/後端並開始探索 Magento 2 功能。 我們希望這篇文章對您有所幫助!
延伸閱讀