ค้นหาเว็บไซต์

วิธีการติดตั้ง Magento บน CentOS 7


Magento เป็นแพลตฟอร์มอีคอมเมิร์ซแบบโอเพ่นซอร์สที่ทรงพลังและมีความยืดหยุ่นสูง (หรือระบบจัดการเนื้อหา (CMS)) ที่เขียนด้วย PHP โดยมีจำหน่ายใน 2 รุ่นหลัก ได้แก่ รุ่น Enterprise และ Community Community Edition มีไว้สำหรับนักพัฒนาและธุรกิจขนาดเล็ก

สามารถปรับแต่งได้อย่างเต็มที่เพื่อตอบสนองความต้องการของผู้ใช้ ทำให้สามารถติดตั้งและจัดการร้านค้าอีคอมเมิร์ซที่ดำเนินงานเต็มรูปแบบได้ภายในไม่กี่นาที Magento ทำงานบนเว็บเซิร์ฟเวอร์เช่น Apache, Nginx และ IIS ซึ่งเป็นฐานข้อมูลแบ็กเอนด์: MySQL หรือ MariaDB, Percona

ในคู่มือนี้ เราจะแสดงวิธีการติดตั้ง Magento Community Edition บน CentOS 7 VPS พร้อมสแต็ก LAMP (Linux, Apache MariaDB และ PHP) คำแนะนำเดียวกันนี้ยังใช้ได้กับการแจกแจงแบบ RHEL และ Fedora โดยมีการเปลี่ยนแปลงคำสั่งเล็กน้อย

ความต้องการ

บทความนี้จะแนะนำให้คุณติดตั้ง “Community Edition” เวอร์ชันล่าสุดของ Magento บนระบบที่ทำงานอยู่:

  1. อาปาเช่เวอร์ชัน 2.2 หรือ 2.4
  2. PHP เวอร์ชัน 5.6 หรือ 7.0.x หรือใหม่กว่าพร้อมส่วนขยายที่จำเป็น
  3. MySQL เวอร์ชัน 5.6 หรือใหม่กว่า

หมายเหตุ: สำหรับการตั้งค่านี้ ฉันใช้ชื่อโฮสต์ของเว็บไซต์เป็น “magneto-linux-console.net ” และที่อยู่ IP คือ “192.168 .0.106“.

ขั้นตอนที่ 1: การติดตั้ง Apache เว็บเซิร์ฟเวอร์

1. การติดตั้งเว็บเซิร์ฟเวอร์ Apache ทำได้ง่ายดายจากแหล่งเก็บข้อมูลอย่างเป็นทางการ:

yum install httpd

2. จากนั้น เพื่ออนุญาตการเข้าถึงบริการ Apache จาก HTTP และ HTTPS เราจะต้องเปิดพอร์ต 80 และ 443 โดยที่ HTTPD daemon กำลังฟังดังนี้:

------------ On CentOS/RHEL 7 ------------ 
firewall-cmd --permanent --zone=public --add-service=http
firewall-cmd --permanent --zone=public --add-service=https
firewall-cmd --reload

---------- On CentOS/RHEL 6 ----------
iptables -A INPUT -p tcp -m state --state NEW --dport 80 -j ACCEPT
iptables -A INPUT -p tcp -m state --state NEW --dport 443 -j ACCEPT
service iptables save

ขั้นตอนที่ 2: ติดตั้งการสนับสนุน PHP สำหรับ Apache

อย่างที่บอกไปแล้วว่า Magento ต้องการ PHP 5.6 หรือ 7.0 และที่เก็บ CentOS เริ่มต้นจะมี PHP 5.4 ซึ่งเข้ากันไม่ได้กับ Magento 2 เวอร์ชันล่าสุด

3. ในการติดตั้ง PHP 7 คุณต้องเพิ่ม EPEL และ IUS (อินไลน์กับอัปสตรีม พื้นที่เก็บข้อมูลที่เสถียร) เพื่อติดตั้ง PHP 7 โดยใช้ yum:

ติดตั้ง PHP 7 บน CentOS 7

yum install -y http://dl.iuscommunity.org/pub/ius/stable/CentOS/7/x86_64/ius-release-1.0-14.ius.centos7.noarch.rpm
yum -y update
yum -y install php70u php70u-pdo php70u-mysqlnd php70u-opcache php70u-xml php70u-mcrypt php70u-gd php70u-devel php70u-mysql php70u-intl php70u-mbstring php70u-bcmath php70u-json php70u-iconv

ติดตั้ง PHP 7 บน CentOS 6

yum -y update
yum -y install epel-release
wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm
wget https://centos6.iuscommunity.org/ius-release.rpm
rpm -Uvh ius-release*.rpm
yum -y update
yum -y install php70u php70u-pdo php70u-mysqlnd php70u-opcache php70u-xml php70u-mcrypt php70u-gd php70u-devel php70u-mysql php70u-intl php70u-mbstring php70u-bcmath php70u-json php70u-iconv

4. จากนั้น เปิดและแก้ไขการตั้งค่าต่อไปนี้ในไฟล์ /etc/php.ini ของคุณ:

max_input_time = 30
memory_limit= 512M
error_reporting = E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR
error_log = /var/log/php/error.log
date.timezone = Asia/Calcutta

หมายเหตุ: ค่าสำหรับ date.timezone จะแตกต่างกันไปตามโซนเวลาของระบบของคุณ โปรดดูการตรวจสอบเขตเวลาของระบบและตั้งค่าเขตเวลาใน Linux

5. ต่อไป หากต้องการดึงข้อมูลทั้งหมดเกี่ยวกับการติดตั้ง PHP และการกำหนดค่าปัจจุบันทั้งหมดจากเว็บเบราว์เซอร์ เรามาสร้างไฟล์ info.php ใน Apache DocumentRoot (/var/www/html) โดยใช้คำสั่งต่อไปนี้

echo "<?php  phpinfo(); ?>" > /var/www/html/info.php

6. เมื่อการกำหนดค่าที่จำเป็นทั้งหมดเสร็จสิ้น ก็ถึงเวลาเริ่มบริการ Apache และเปิดใช้งานให้เริ่มโดยอัตโนมัติจากการบูตระบบครั้งถัดไป เช่นเดียวกับ:

------------ On CentOS/RHEL 7 ------------ 
systemctl start httpd
systemctl enable httpd

------------ On CentOS/RHEL 6 ------------
service httpd start
chkconfig httpd on

7. ต่อไป เราสามารถตรวจสอบว่า Apache และ PHP ทำงานได้ดี; เปิดเบราว์เซอร์ระยะไกลและพิมพ์ที่อยู่ IP ของเซิร์ฟเวอร์ของคุณโดยใช้โปรโตคอล HTTP ใน URL และหน้าข้อมูล Apache2 และ PHP เริ่มต้นควรปรากฏขึ้น

http://server_domain_name_or_IP/
http://server_domain_name_or_IP/info.php

ขั้นตอนที่ 3: ติดตั้งและกำหนดค่าฐานข้อมูล MariaDB

8. เราต้องทราบว่า Red Hat Enterprise Linux/CentOS 7.0 ได้ย้ายจากการรองรับ MySQL ไปเป็น MariaDB โดยเป็นระบบการจัดการฐานข้อมูลเริ่มต้น

ในการติดตั้งฐานข้อมูล MariaDB เราจำเป็นต้องเพิ่มพื้นที่เก็บข้อมูล MariaDB อย่างเป็นทางการต่อไปนี้ลงในไฟล์ /etc/yum.repos.d/MariaDB.repo ดังที่แสดง

ติดตั้ง MariaDB ใน CentOS 7

[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.1/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1

ติดตั้ง MariaDB บน RHEL 7

[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.1/rhel7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1

ติดตั้ง MariaDB ใน CentOS 6

[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.1/centos6-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1

ติดตั้ง MariaDB บน RHEL 6

[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.1/rhel6-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1

9. เมื่อสร้างไฟล์ repo แล้ว ตอนนี้เราสามารถติดตั้ง MariaDB ได้ดังนี้:

yum install mariadb-server mariadb
OR
yum install MariaDB-server MariaDB-client

10. หลังจากการติดตั้งแพ็คเกจ MariaDB เสร็จสิ้น ให้สตาร์ท daemon ฐานข้อมูลในช่วงเวลาเฉลี่ย และเปิดใช้งานให้เริ่มทำงานโดยอัตโนมัติในการบูตครั้งถัดไป

------------ On CentOS/RHEL 7 ------------ 
systemctl start mariadb
systemctl enable mariadb

------------ On CentOS/RHEL 6 ------------
service mysqld start
chkconfig mysqld on

11. จากนั้นเรียกใช้สคริปต์ mysql_secure_installation เพื่อรักษาความปลอดภัยฐานข้อมูล (ตั้งรหัสผ่านรูท ปิดการใช้งานการเข้าสู่ระบบรูทระยะไกล ลบฐานข้อมูลทดสอบ และลบผู้ใช้ที่ไม่ระบุชื่อ) ดังนี้:

mysql_secure_installation

12. ต่อไปให้สร้างฐานข้อมูลวีโอไอพีและผู้ใช้ตามที่แสดง

mysql -u root -p

## Creating New User for Magento Database ##
mysql> CREATE USER magento@localhost IDENTIFIED BY "your_password_here";

## Create New Database ##
mysql> create database magento;

## Grant Privileges to Database ##
mysql> GRANT ALL ON magento.* TO magento@localhost;

## FLUSH privileges ##
mysql> FLUSH PRIVILEGES;

## Exit ##
mysql> exit

ขั้นตอนที่ 4: ติดตั้ง Magento Community Edition

12. ตอนนี้ ไปที่เว็บไซต์อย่างเป็นทางการของ Magento และสร้างบัญชีผู้ใช้ในกรณีที่คุณเป็นลูกค้าใหม่ (หรือเพียงเข้าสู่ระบบหากคุณมีบัญชีอยู่แล้ว) และดาวน์โหลด Magento Community Edition เวอร์ชันล่าสุด

  1. http://www.magentocommerce.com/download

13. หลังจากที่คุณดาวน์โหลดไฟล์ Magento tar แล้ว ให้แตกเนื้อหาลงใน Apache Document Root (/var/www/html) ดังนี้:

tar -zxvf Magento-CE-2.1.5-2017-02-20-05-36-16.tar.gz -C /var/www/html/

14. ตอนนี้คุณต้องตั้งค่าความเป็นเจ้าของ Apache ให้กับไฟล์และโฟลเดอร์

chown -R apache:apache /var/www/html/

15. ตอนนี้เปิดเบราว์เซอร์ของคุณและไปที่ URL ต่อไปนี้ คุณจะพบกับวิซาร์ดการติดตั้ง Magento

http://server_domain_name_or_IP/

16. ถัดไป วิซาร์ดจะดำเนินการ การตรวจสอบความพร้อม สำหรับเวอร์ชัน PHP การอนุญาตไฟล์ และความเข้ากันได้ที่ถูกต้อง

17. ป้อนการตั้งค่าฐานข้อมูลวีโอไอพี

18. การกำหนดค่าเว็บไซต์ Magento

19. ปรับแต่งร้านค้า Magento ของคุณโดยการตั้งค่าเขตเวลา สกุลเงิน และภาษา

20. สร้างบัญชีผู้ดูแลระบบใหม่เพื่อจัดการร้านค้า Magento ของคุณ

21. ตอนนี้คลิก 'ติดตั้งทันที' เพื่อดำเนินการติดตั้ง Magento ต่อไป

แค่นั้นแหละ! คุณได้ติดตั้ง Magento ใน CentOS 7 สำเร็จแล้ว หากคุณพบข้อผิดพลาดระหว่างการติดตั้ง คุณสามารถขอความช่วยเหลือได้ในความคิดเห็น