Magento是一款开源的电子商务网站,其丰富的模块化架构体系及拓展功能可为大中型站点提供解决方案。Magento使用PHP开发,并使用MySQL存储数据。本教程主要介绍如何使用阿里云市场镜像搭建英文版的Magento电子商务网站。

前提条件

  • 已注册阿里云账号。如还未注册,请先完成账号注册
  • 已在ECS实例安全组的入方向添加规则并放行端口80和3306。具体操作,请参见添加安全组规则
    规则方向 授权策略 协议类型 端口范围 授权类型 授权对象
    入方向 允许 HTTP(80) 80/80 IPv4地址段访问 所有要访问Magento站点的客户端公网IP地址,多个地址之间用英文逗号隔开。

    允许所有客户端访问时,授权对象为0.0.0.0/0。

    入方向 允许 MySQL(3306) 3306/3306 IPv4地址段访问 所有要访问MySQL数据库服务的客户端公网IP地址,多个地址之间用英文逗号隔开。

    允许所有客户端访问时,授权对象为0.0.0.0/0。

背景信息

阿里云云市场镜像Magento电子商务系统(Centos 7.2 64位)已经集成Apache 2.4、PHP 7.0、MySQL 5.6、Magento 2.1.1、phpMyAdmin等软件。更多信息,请参见Magento电子商务系统(Centos 7.2 64位)

Magento电子商务网站的默认站点根目录为/yjdata/www/wwwroot,软件安装路径信息如下表所示。更多信息,请参见Magento官方文档
软件名称 路径地址
Apache 2.4.6 /etc/httpd
PHP 7.0 /usr/local/php
MySQL 5.6 /var/lib/mysql
Magento2.1.1 /yjdata/www/wwwroot

除了使用云市场镜像方式,您还可以手动搭建Magento电子商务网站。具体操作,请参见搭建Magento电子商务网站

本教程使用的ECS实例的配置如下表所示。
配置 示例
实例规格 ecs.c6.large
操作系统 云市场镜像Magento电子商务系统(Centos 7.2 64位)
CPU 2 vCPU
内存 4 GiB
说明 搭建Magento服务器,所选实例规格内存不能小于2 GiB。
网络类型 VPC
IP地址 公网IP地址
说明 大多数客户端位于局域网中,IP地址是经过转换的,因此ipconfigifconfig命令返回的IP地址不一定是客户端的真实公网IP地址。若后续客户端无法访问Magento网站,请重新确认其公网IP地址。

步骤一:搭建Magento电子商务网站

本步骤以购买ECS实例过程中选择云市场镜像Magento电子商务系统(Centos 7.2 64位),搭建Magento电子商务网站为例。如果您已有ECS实例,也可以更换操作系统为云市场镜像Magento电子商务系统(Centos 7.2 64位)。具体操作,请参见更换操作系统(非公共镜像)
注意 更换操作系统属于高风险操作,更换操作系统后,原来旧的系统盘会被释放,建议您在更换操作系统前创建快照备份数据。具体操作,请参见创建一个云盘快照
  1. 登录ECS管理控制台
  2. 在左侧导航栏,选择实例与镜像 > 实例
  3. 实例页面,单击创建实例
  4. 购买ECS实例。
    本示例只介绍选择云市场镜像的操作,其他操作及其说明,请参见Linux系统实例快速入门
    1. 在镜像区域,选择镜像市场 > 从镜像市场获取更多选择(含操作系统)cac
    2. 镜像市场对话框的搜索框中,输入Magento进行搜索。
    3. Magento电子商务系统(Centos 7.2 64位)后,单击使用adada
    4. 根据您的实际需求,选择网络、安全组、系统配置等其他配置,完成ECS的购买。

步骤二:配置Magento客户端

  1. 获取数据库的用户名、密码和数据库名称等信息。
    1. 远程连接Magento服务器。
      具体操作,请参见连接方式概述
    2. 执行以下命令,获取数据库的用户名、密码和数据库名称等信息。
      cat default.pass
      回显信息类似如下所示。
      [root@iZbp1h2mquu8nb0jz99**** ~]# cat default.pass
      +----------------------------------------------------------------------
      | YJCOM [ EASY CLOUD EASY WEBSITE]
      +----------------------------------------------------------------------
      | Copyright (c) 2016 http://yjcom.com All rights reserved.
      +----------------------------------------------------------------------
      
      MySQL database name: magento
      MySQL user: root
      MySQL password: Vav0xULd****
      FTP account: www
      FTP password: jfLcMe1w****
  2. 在浏览器地址栏中,输入http://<ECS实例公网IP地址>
    出现如下图所示页面,表示Magento安装成功。magento_3
  3. 单击Agree and Setup Magento,开始配置Magento。
    1. 单击Start Readiness Check,开始准备性检查。magento-check
    2. 检查完成后,单击Next
    3. 填写数据库用户名、密码和数据库名后,单击Next
      获取数据库用户名、密码和数据库名信息,请参见获取数据库的用户名、密码和数据库名称等信息。参数具体说明如下所示:
      • Database Server Host:数据库的主机地址,请输入127.0.0.1
      • Database Server Username:数据库用户名,默认为root
      • Database Server Password:数据库密码。
      • Database Name:数据库名称,默认为magento
      455
    4. 填写网站的访问地址和后台管理地址,并单击Next
      网站的访问地址默认设置为ECS实例的公网IP地址。config-web
      说明 后台管理地址可自定义,请牢记设置的后台管理地址。
    5. 设置语言和时区信息,并单击Nextasdas
    6. 设置管理账号和密码,并单击Next256
    7. 单击Install Now进行安装。
      出现如下图所示界面,表示Magento配置完成。asda

步骤三:添加Cron作业

Magento电子商务网站的有许多功能需要用到Cron(定时任务),例如:刷新索引、生成电子邮件、通讯邮件、生成站点地图等等,您可以通过设置Cron来运行预定的作业。

  1. 远程连接Magento服务器。
    具体操作,请参见连接方式概述
  2. 运行以下命令,设置Cron运行调度工作。
    crontab -u apache -e
  3. 按下i键进入编辑模式,添加以下内容。
    */10 * * * * php -c /etc /var/www/html/bin/magento cron:run
    */10 * * * * php -c /etc /var/www/html/update/cron.php
    */10 * * * * php -c /etc /var/www/html/bin/magento setup:cron:run
  4. 按下Esc键,输入:wq并回车,保存文件并退出。
  5. 在浏览器地址栏中,输入http://<ECS实例公网IP地址>,可以看到如下图所示的默认主页。luma
  6. 在浏览器地址栏中,输入http://<ECS实例公网IP地址>/admin,输入您在安装过程中设置的用户名和密码,成功登录管理面板后可看到如下界面。dashboard
    说明 如果登录后界面提示“One or more indexers are invalid. Make sure your Magento Cron job is running.”的错误信息,请参见常见问题解决问题。

Magento上使用cron作业的更多详情信息,请参见Magento官方文档

(可选)步骤四:绑定并解析域名

为了便于网站的访问和使用,可以给网站设置一个单独的域名,使用域名访问网站。

  1. 注册域名。
    具体操作,请参见注册通用域名。如果您已有域名请跳过该步骤。

    例如,您注册的域名为example.com

  2. 如果域名指向的网站托管在阿里云中国内地(大陆)节点服务器,您需要备案域名。
    首次备案,请参见首次备案流程,其他情况,请参见ICP备案流程概述
  3. 可选:解析域名,将域名指向ECS实例的公网IP地址。
    • 如果您的域名是在阿里云注册的域名,可以跳过该步骤,后续绑定域名后,系统将自动进行解析。
    • 如果您的域名不是在阿里云注册的域名,并且域名未使用云解析DNS进行解析,可通过添加域名的方式,将域名转由云解析DNS进行解析。具体操作,请参见域名管理。您也可以联系域名服务商,将域名做A记录解析到服务器IP地址,然后再绑定域名。

常见问题

输入http://<ECS实例公网IP地址>/admin登录Magento后台,如果界面提示“One or more indexers are invalid. Make sure your Magento cron job is running.”的错误信息,请参考以下步骤解决问题。123
  1. 远程连接Magento服务器。具体操作,请参见连接方式概述
  2. 运行以下命令,将PHP的安装路径建立软连接至/usr/sbin/php目录下。
    ln -s /usr/local/php/bin/php /usr/sbin/php
  3. 运行以下命令,刷新索引。
    cd /yjdata/www/wwwroot
    php bin/magento indexer:reindex
    回显信息类似如下所示,表示索引已刷新成功。
    [root@iZbp1h2mquu8nb0jz99**** wwwroot]# php bin/magento indexer:reindex
    Design Config Grid index has been rebuilt successfully in 00:00:00
    Customer Grid index has been rebuilt successfully in 00:00:00
    Category Products index has been rebuilt successfully in 00:00:00
    Product Categories index has been rebuilt successfully in 00:00:00
    Product Price index has been rebuilt successfully in 00:00:00
    Product EAV index has been rebuilt successfully in 00:00:00
    Stock index has been rebuilt successfully in 00:00:00
    Catalog Rule Product index has been rebuilt successfully in 00:00:00
    Catalog Product Rule index has been rebuilt successfully in 00:00:00
    Catalog Search index has been rebuilt successfully in 00:00:00
  4. 刷新页面后,单击Cache Managementdaad
  5. 选中状态为INVALIDATEDCache Types,并单击Submit456当出现类似如下返回信息时,表示问题已经解决。455