วิธีการติดตั้ง Magento 2 บน Localhost

เผยแพร่แล้ว: 2021-04-12

สารบัญ

อัปเดต 13 เมษายน 2021 : ผู้ใช้อาจพบข้อผิดพลาด 404 Not Found เมื่อพยายามติดตั้ง Magento 2.4.2 ทำตามวิธีแก้ปัญหาที่แนะนำในบทความเพื่อผลลัพธ์ที่ดีที่สุด

เป็นเวลานานแล้วตั้งแต่ Magento เปิดตัวเวอร์ชัน 2.0 ด้วยอินเทอร์เฟซผู้ใช้ที่เป็นมิตรและประสิทธิภาพที่ดีขึ้น มีแนวโน้มว่าผู้ใช้ Magento 1 ที่มีอยู่จำนวนมากจะย้ายไปยัง Magento 2 ไม่ช้าก็เร็ว ไหลไปตามกระแส SimiCart ได้เปิดตัวแอพมือถือ Magento 2 ในเดือนธันวาคม 2559

วันนี้เราจะแสดงวิธีการติดตั้ง 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 แล้ว ให้ดับเบิลคลิกที่ไฟล์เพื่อติดตั้งลงในคอมพิวเตอร์ของคุณ

คลิก ถัดไป

ขั้นตอนการตั้งค่า xampp 1

ปล่อยให้การเลือกเริ่มต้นอยู่ในภาพ คลิก ถัดไป

ขั้นตอนการตั้งค่า xampp 2

เลือกโฟลเดอร์การติดตั้งของคุณ ตำแหน่งเริ่มต้นคือ C:\xampp หลังจากนั้น คลิก ถัดไป

ขั้นตอนการตั้งค่า xampp 3

คลิก ถัดไป

ขั้นตอนการตั้งค่า xampp 4

คลิก ถัดไป

ขั้นตอนการตั้งค่า xampp 5

โปรแกรมติดตั้งจะติดตั้ง xampp บนคอมพิวเตอร์ของคุณ กรุณารอสักครู่

การติดตั้ง xampp การติดตั้ง

หลังจากตั้งค่าเสร็จแล้ว คุณจะเห็นตัวเลือก “คุณต้องการเริ่มแผงควบคุมตอนนี้หรือไม่” เลือกไว้เลย คลิก เสร็จสิ้น เพื่อออกจากการตั้งค่า และเข้าสู่ XAMPP Control Panel

xampp ตั้งค่าเสร็จสิ้น

ขั้นตอนที่ 3 : กำหนดค่า XAMPP

ในแผงควบคุม XAMPP ให้คลิกปุ่ม Config บนแถว “Apache” แล้วคลิก “ PHP (php.ini)

กำหนดค่า php.ini


ใน php.ini ค้นหาแถวเหล่านี้และลบ ; ก่อนแต่ละแถว:

 ;extension=intl
;นามสกุล=สบู่
;ส่วนขยาย=ซ็อกเก็ต
;ส่วนขยาย=โซเดียม
;นามสกุล=xsl

ขยาย memory_limit เป็น 4G:

 memory_limit=4G

หลังจากที่คุณทำเสร็จแล้ว ให้บันทึกและปิดไฟล์ จากนั้นคลิกปุ่ม เริ่ม บน 2 แถว Apache และ MySQL เพื่อเริ่มต้น อย่าออกจาก 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" : "elasticsearch",
   "cluster_uuid" : "AT69_T_DTp-1qgIJlatQqA",
   "เวอร์ชัน" : {
     "หมายเลข" : "7.6.0",
     "build_flavor" : "ค่าเริ่มต้น",
     "build_type" : "tar",
     "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: ดาวน์โหลด Magento โดยใช้ Composer

เนื่องจากปลั๊กอินบางตัวจาก Magento 2 ใช้ไม่ได้กับ composer 2.x คุณจึงต้องการใช้ composer 1.x เวอร์ชันเสถียรเพื่อดาวน์โหลด Magento วิธีที่ดีที่สุดในการทำเช่นนี้คือการติดตั้ง Composer-Setup.exe

การตั้งค่านี้จะติดตั้งผู้แต่งเวอร์ชันล่าสุดและตั้งค่าตัวแปรสภาพแวดล้อม PATH เพื่อให้คุณสามารถเรียกผู้แต่งจากไดเร็กทอรี ใดก็ได้ หลังจากคุณติดตั้งผู้แต่งเสร็จแล้ว คุณจำเป็นต้องดาวน์เกรดเป็นเวอร์ชัน 1.x ก่อนหน้าโดยใช้ composer self-update --1 เพื่อให้แน่ใจว่าเข้ากันได้ดีที่สุด

ถัดไป cd ไปที่ C:\xampp\htdocs และเรียกใช้คำสั่งต่อไปนี้:

 นักแต่งเพลง 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

ค้นหาฟังก์ชัน validateURLScheme ใน \vendor\magento\framework\Image\Adapter\Gd2.php และแทนที่ด้วย:

 ฟังก์ชันส่วนตัว validateURLScheme(string $filename) : bool
   {
       $allowed_schemes = ['ftp', 'ftps', 'http', 'https'];
       $url = parse_url($ชื่อไฟล์);
       if ($url && isset($url['scheme']) && !in_array($url['scheme'], $allowed_schemes) && !file_exists($filename)) {
           คืนค่าเท็จ;
       }
       คืนค่าจริง;
 }

ถัดไป cd ไปยังไดเร็กทอรี Magento ของคุณและรันคำสั่งนี้:

 การตั้งค่า php bin/magento: ติดตั้ง --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 -- เขตเวลา=อเมริกา/ชิคาโก --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 : ผู้ใช้ฐานข้อมูลที่ได้รับอนุญาตเต็มรูปแบบ เราจะใช้ผู้ใช้รูทเริ่มต้น
  • db-password : รหัสผ่านของผู้ใช้ฐานข้อมูลของคุณ เว้นว่างไว้หากคุณใช้ฐานข้อมูล 'รูท' ผู้ใช้
  • admin-firstname : ชื่อของคุณ
  • admin-lastname : นามสกุลของคุณ
  • admin-email : ที่อยู่อีเมลของคุณ
  • admin-user : ชื่อผู้ใช้ที่คุณจะใช้เพื่อเข้าสู่ระบบ Admin Panel
  • admin-password : รหัสผ่านที่คุณจะใช้เพื่อเข้าสู่ระบบ Admin Panel
  • language : ภาษาที่คุณจะใช้ในแผงการดูแลระบบและหน้าร้านของคุณ ใช้รหัสภาษาเช่น en_US
  • admin-email : เปลี่ยนเป็นอีเมลของคุณ
  • currency : ตั้งค่าสกุลเงินเริ่มต้นที่จะใช้ในหน้าร้านของคุณ ป้อน php bin/magento info:currency:list สำหรับรายการสกุลเงินที่รองรับพร้อมกับรหัส
  • timezone : เปลี่ยนเป็นเขตเวลาที่คุณอยู่ โปรดดูรายการเขตเวลาที่รองรับเพื่อดูแนวคิดที่ดีขึ้นว่าจะเติมอะไร
  • url-rewrites : ตั้งค่าเป็น 1 เพื่อเปิดใช้งาน Web Server Rewrites สิ่งนี้จะช่วยในการจัดอันดับเว็บไซต์ของคุณ
  • backend-frontname : ตั้งค่า URL ผู้ดูแลระบบของคุณ การละเว้นพารามิเตอร์นี้จะส่งผลให้ URL ที่สร้างขึ้นแบบสุ่มสำหรับเส้นทาง Magento Admin ของคุณ (เช่น admin_jkhgdfq)
  • search-engine : ตั้งค่าเวอร์ชันของ Elasticsearch ที่คุณต้องการใช้สำหรับการติดตั้ง Magento นี้ ค่าเริ่มต้นคือ elasticsearch7
  • elasticsearch-host : ชื่อโฮสต์หรือที่อยู่ IP ที่ Elasticsearch ทำงานอยู่ ค่าเริ่มต้นคือ localhost
  • elasticsearch-port : หมายเลขพอร์ตที่ Elasticsearch กำลังฟังอยู่ ค่าเริ่มต้นคือ9200

สำหรับตัวเลือกการกำหนดค่าเพิ่มเติม โปรดดูคู่มืออย่างเป็นทางการโดย Magento

เมื่อติดตั้งสำเร็จ คุณจะเห็นข้อความนี้:

 ตรวจสอบการอนุญาตไฟล์การติดตั้งหลังการติดตั้ง...
 เพื่อความปลอดภัย ให้ลบสิทธิ์การเขียนออกจากไดเร็กทอรีเหล่านี้: 'C:/xampp/htdocs/magento24/app/etc'
 [ความคืบหน้า: 1270 / 1270]
 [สำเร็จ]: การติดตั้งวีโอไอพีเสร็จสมบูรณ์
 [สำเร็จ]: URI แผงการดูแลระบบ: /admin
ไม่มีอะไรจะนำเข้า

หลังจากนี้ เราจะต้องทำการปรับแต่งเพิ่มเติมเพื่อให้ Magento ทำงานร่วมกับ Windows ได้ เช่น:

ใน app\etc\di.xml Symlink แทนที่ 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>
            <ชื่อรายการ="default" xsi:type="object">Magento\Framework\App\View\Asset\MaterializationStrategy\Copy</item>
        </อาร์กิวเมนต์>
    </arguments>
</virtualType>

ใน vendor\magento\framework\View\Element\Template\File\Validator.php ให้แทนที่ บรรทัด 138 ด้วย:

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

สุดท้าย รันคำสั่งเหล่านี้:

 php bin/ตัวสร้างดัชนีวีโอไอพี:reindex
php bin/การติดตั้งวีโอไอพี:อัพเกรด
การตั้งค่า php bin/magento:static-content:deploy -f
php bin/magento cache:flush

ปรับแต่งเพิ่มเติมสำหรับ 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 ) และค้นหาตาราง 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:
 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 cache:flush

และรีเฟรชส่วนหน้าของคุณ ตอนนี้คุณควรจะเห็นหน้าว่างเช่นนี้เมื่อเข้าถึงส่วนหน้าของคุณผ่าน base-url กำหนดค่าไว้:

Magento 2 ไม่มีข้อมูลตัวอย่าง

ตอนนี้คุณสามารถเข้าถึงส่วนหน้าของ Magento ด้วย base-url กำหนดค่าไว้ ตัวอย่างเช่น ด้วยการติดตั้ง Magento 2.4.2 เราเข้าถึงไซต์ Magento ใหม่ของเราที่ http://localhost/magento24/ และแบ็กเอนด์ของเราที่ http://localhost/magento24/admin

*หมายเหตุ: หากคุณพบข้อผิดพลาดนี้เมื่อพยายามลงชื่อเข้าใช้บัญชี Magento Admin ของคุณ: “คุณต้องกำหนดค่าการอนุญาตสองปัจจัย…”

ข้อผิดพลาดในการตรวจสอบสิทธิ์สองปัจจัยแบ็กเอนด์ของ Magento

ลองรันคำสั่งนี้:

 โมดูล php bin/magento: ปิดการใช้งาน Magento_TwoFactorAuth

ส่วนที่ 5: นำเข้าข้อมูลตัวอย่าง (ไม่บังคับ)

เรียกใช้คำสั่งนี้เพื่อนำเข้าข้อมูลตัวอย่าง:

 php bin/magento sampledata:deploy

เมื่อได้รับแจ้ง ให้ป้อนคีย์การตรวจสอบสิทธิ์ Magento ของคุณ คีย์สาธารณะและคีย์ส่วนตัวถูกสร้างและกำหนดค่าในบัญชี Magento Marketplace ของคุณ

คีย์การเข้าถึง Magento

หลังจากนำเข้าข้อมูลเรียบร้อยแล้ว ให้รัน:

 php bin/การติดตั้งวีโอไอพี:อัพเกรด
การตั้งค่า php bin/magento:static-content:deploy -f
php bin/magento cache:ล้าง

ตอนนี้ รีเฟรชส่วนหน้า และคุณควรจะสามารถเห็นร้านค้า Magento เริ่มต้นที่มีธีม Luma และข้อมูลตัวอย่าง

ธีม Magento 2 Luma

แค่นั้นแหละ! คุณติดตั้ง Magento 2 บน localhost ของคุณเสร็จแล้ว ตอนนี้คุณสามารถเข้าถึงฟรอนต์เอนด์/แบ็กเอนด์ของ 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 นาที