阿里云服务器搭建Magento电子商务网站图文教程

news2025/1/15 16:33:49

本文阿里云百科分享使用阿里云服务器手动搭建Magento电子商务网站全流程,Magento是一款开源电商网站框架,其丰富的模块化架构体系及拓展功能可为大中型站点提供解决方案。Magento使用PHP开发,支持版本范围从PHP 5.6到PHP 7.1,并使用MySQL存储数据。本教程主要介绍如何在CentOS 7操作系统的ECS实例上搭建Magento电子商务网站。

目录

前提条件

步骤一:安装并配置Apache

步骤二:安装并配置MySQL

步骤三:安装并配置PHP

步骤四:创建Magento数据库

步骤五:安装并配置Composer

步骤六:安装配置Magento

步骤七:配置Magento客户端

步骤八:添加cron作业

常见问题

后续步骤


前提条件

  • 已注册阿里云账号。如还未注册,请先完成账号注册。
  • 已完成实名认证。如还未认证,请先完成实名认证。
  • 已在ECS实例安全组的入方向已添加规则并放行端口80和3306。具体操作,请参见添加安全组规则。
  • ECS云服务器:aliyunbaike.com/go/ecs
  • 实例规格:ecs.c6.large
  • 操作系统:公共镜像CentOS 7.2 64位
  • Apache:2.4.6
  • MySQL:5.7
  • PHP:7.0
  • Composer:1.8.5
  • Magento:2.1

步骤一:安装并配置Apache

  1. 安装Apache。
    1. 运行以下命令安装Apache。
      yum install httpd -y
    2. 运行以下命令查看Apache是否安装成功。
      httpd -v

      返回结果如下图所示,表示安装成功。

      magento_1

  2. 配置Apache。
    1. 运行以下命令打开Apache配置文件。
      vim /etc/httpd/conf/httpd.conf
    2. Include conf.modules.d/*.conf的下一行,添加LoadModule rewrite_module modules/mod_rewrite.so。具体步骤如下:
      1. 移动光标到Include conf.modules.d/*.conf下一行的行首。
      2. 按下i键进入编辑模式。
      3. 输入LoadModule rewrite_module modules/mod_rewrite.so

      添加后的内容,如下图所示。

      local_module

    3. 将下列内容中的AllowOverride None更改为AllowOverride All
      # AllowOverride controls what directives may be placed in .htaccess files.
      # It can be "All", "None", or any combination of the keywords:
      # Options FileInfo AuthConfig Limit
      #
      #在行首添加#注释掉本行内容
      #AllowOverride None
      
      #添加下列内容
      AllowOverride All

      修改后的内容,如下图所示。

      allowoverride_all

    4. 按下Esc键后,输入:wq并回车以保存并关闭配置文件。
  3. 运行以下命令启动Apache服务。
    systemctl start httpd
  4. 运行以下命令添加Apache服务开机自启动。
    systemctl enable httpd

步骤二:安装并配置MySQL

  1. 安装MySQL。
    1. 运行以下命令添加MySQL YUM源。
      rpm -Uvh https://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm
    2. 运行以下命令安装MySQL。
      
      yum -y install mysql-community-server --nogpgcheck
  2. 运行以下命令启动MySQL服务。
    systemctl start mysqld
  3. 运行以下命令设置MySQL服务开机自启动。
    systemctl enable mysqld
  4. 配置MySQL。
    1. 运行以下命令查看/var/log/mysqld.log文件,获取并记录root用户的初始密码。
      grep 'temporary password' /var/log/mysqld.log

      命令的返回结果如下:

      2016-12-13T14:57:47.535748Z 1 [Note] A temporary password is generated for root@localhost: p0/G28g>lsHD

      说明 下一步重置root用户密码时,会使用该初始密码。

    2. 运行下列命令配置MySQL的安全性。
      mysql_secure_installation
      安全性的配置包含以下五个方面:
      1. 设置root账号密码。
        Enter password for user root: #输入上一步中获取的root用户密码
        The 'validate_password' plugin is installed on the server.
        The subsequent steps will run with the existing configuration of the plugin.
        Using existing password for root.
        Estimated strength of the password: 100 
        Change the password for root ? ((Press y|Y for Yes, any other key for No) : Y #是否更改root用户密码,输入Y
        New password: #输入密码,长度为8至30个字符,必须同时包含大小写英文字母、数字和特殊符号。特殊符号可以是()` ~!@#$%^&*-+=|{}[]:;‘<>,.?/
        Re-enter new password: #再次输入密码
        Estimated strength of the password: 100 
        Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : Y
      2. 输入Y删除匿名用户账号。
        By default, a MySQL installation has an anonymous user, allowing anyone to log into MySQL without having to have a user account created for them. This is intended only for testing, and to make the installation go a bit smoother. You should remove them before moving into a production environment.
        Remove anonymous users? (Press y|Y for Yes, any other key for No) : Y  #是否删除匿名用户,输入Y
        Success.
      3. 输入Y禁止root账号远程登录。
        Disallow root login remotely? (Press y|Y for Yes, any other key for No) : Y #禁止root远程登录,输入Y
        Success.
      4. 输入Y删除test库以及对test库的访问权限。
        Remove test database and access to it? (Press y|Y for Yes, any other key for No) : Y #是否删除test库和对它的访问权限,输入Y
        - Dropping test database...
        Success.
      5. 输入Y重新加载授权表。
        Reload privilege tables now? (Press y|Y for Yes, any other key for No) : Y #是否重新加载授权表,输入Y
        Success.
        All done!

步骤三:安装并配置PHP

  1. 安装PHP。
    1. 运行以下命令添加ius源。
      yum install \
      https://repo.ius.io/ius-release-el7.rpm \
      https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
    2. 运行以下命令添加Webtatic源。
      rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
    3. 运行以下命令安装PHP7及所需扩展。
      yum -y install php70w php70w-pdo php70w-mysqlnd php70w-opcache php70w-xml php70w-gd php70w-mcrypt php70w-devel php70w-intl php70w-mbstring php70w-bcmath php70w-json php70w-iconv
    4. 运行以下命令查看PHP版本。
      php -v
      返回结果如下所示,说明PHP安装成功。
      PHP 7.0.33 (cli) (built: Dec  6 2018 22:30:44) ( NTS )
      Copyright (c) 1997-2017 The PHP Group
      Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies
          with Zend OPcache v7.0.33, Copyright (c) 1999-2017, by Zend Technologies                        
  2. 配置PHP。
    1. 运行以下命令打开PHP配置文件。
      vim /etc/php.ini
    2. 移动光标至最后一行的行尾。具体操作步骤如下:
      1. 输入:$并回车,光标将移动至文件最后一行。
      2. 按下$移动光标至行尾。
    3. 按下i键进入编辑模式。
    4. 在文件最后添加关于内存限制和时区的配置。
      ; 允许为PHP脚本分配的最大内存值。您可根据实际情况增加或减少内存限制
      memory_limit = 1024M
      ; 设置时区为上海
      date.timezone = Asia/Shanghai

      添加后如下图所示。

      magento_2

    5. 按下Esc键后,输入:wq并回车以保存并关闭文件。
    6. 重启Apache服务。
      systemctl restart httpd


 

步骤四:创建Magento数据库

  1. 运行以下命令使用root用户和密码登录MySQL。
    mysql -u root -p
  2. 运行以下命令创建magento数据库。
    mysql> CREATE DATABASE magento; #根据实际情况将magento替换为您需要创建的数据库名称
  3. 依次运行以下命令为magento数据库创建用户。
    mysql> GRANT ALL ON magento.* TO <YourUser>@localhost IDENTIFIED BY '<YourPass>'; #替换<YourUser>和<YourPass>为您需要创建的账号和密码
    mysql> FLUSH PRIVILEGES;
    例如,创建账号为magentoUser、密码为magentoUser1@3的用户,运行的命令为:
    mysql> GRANT ALL ON magento.* TO magentoUser@localhost IDENTIFIED BY 'magentoUser1@3';
    mysql> FLUSH PRIVILEGES;
  4. 输入exit并回车以退出MySQL。
  5. 可选:验证新建的Magento数据库和用户是否可用。具体步骤如下:
    1. 运行以下命令使用新建账号和密码登录MySQL。
      mysql -u <YourUser> -p   #替换<YourUser>为您创建的账号
    2. 运行以下命令查看新建的magento数据库。
      mysql> show databases;
      +--------------------+
      | Database           |
      +--------------------+
      | information_schema |
      | magento            |
      +--------------------+
      2 rows in set (0.00 sec)
    3. 运行以下命令并回车以退出MySQL。
      mysql> exit

步骤五:安装并配置Composer

Composer是PHP的一个依赖管理工具。Composer允许您申明项目所依赖的代码库,并帮您在项目中安装依赖的代码库。

  1. 运行以下命令安装Composer。
    curl -sS https://getcomposer.org/installer | php
  2. 运行以下命令配置Composer全局使用。
    mv /root/composer.phar /usr/bin/composer
  3. 运行命令composer -v查看Composer版本。返回结果如下,表示Composer安装成功。
      / ____/___  ____ ___  ____  ____  ________  _____
     / /   / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/
    / /___/ /_/ / / / / / / /_/ / /_/ (__  )  __/ /
    \____/\____/_/ /_/ /_/ .___/\____/____/\___/_/
                        /_/
    Composer version 1.8.5 2019-04-09 17:46:47
                            
    说明 因最新版Composer与Magento暂不兼容,所以您需要安装与Magento兼容的Composer版本。你可以使用以下命令来让最新版Composer转换至兼容版本。如Composer 1.8.5版本。
    composer self-update 1.8.5

 

 

步骤六:安装配置Magento

您可以使用不同的方法安装Magento,可以选择是否安装示例数据。

  • 如果安装Magento仅用于测试,您可以选择安装示例数据。
  • 如果安装Magento用于生产环境,建议您安装全新的Magento,从头开始配置。

本教程介绍使用Git下载Magento,并使用Composer安装Magento的操作步骤。

  1. 下载Magento。
    1. 运行以下命令安装Git。
      yum -y install git
    2. 进入Web服务器的默认根目录。
      cd /var/www/html/
    3. 下载Magento。
      git clone https://github.com/magento/magento2.git
  2. 可选:运行以下命令将Magento切换到稳定版本。
    cd magento2 &&  git checkout tags/2.1.0 -b 2.1.0

    命令执行后的结果如下:

    Switched to a new branch '2.1.0'

    说明 默认情况下,Git下载安装的Magento是最新的开发版本。如果您在生产环境中使用,建议切换到稳定版本,否则未来将无法升级安装。

  3. 运行以下命令将安装文件移到Web服务器根目录下。
    shopt -s dotglob nullglob && mv /var/www/html/magento2/* /var/www/html/ && cd ..

    说明 运行此命令后,您可以通过https://<ECS实例公网IP地址>访问您的Magento站点。否则,您只能通过https://<ECS实例公网IP地址>/magento2访问。

  4. 依次运行下列命令为Magento文件设置适当的权限。
    chown -R :apache /var/www/html
    find /var/www/html -type f -print0 | xargs -r0 chmod 640
    find /var/www/html -type d -print0 | xargs -r0 chmod 750
    chmod -R g+w /var/www/html/{pub,var}
    chmod -R g+w /var/www/html/{app/etc,vendor}
    chmod 750 /var/www/html/bin/magento
  5. 运行命令composer install安装Magento。

步骤七:配置Magento客户端

  1. 打开浏览器。
  2. 在浏览器地址栏中,输入http://<ECS实例公网IP地址>

    出现如下图所示页面,表示Magento安装成功。

    magento_3

  3. 单击Agree and Setup Magento开始配置Magento。具体步骤如下:
    1. 准备性检查。
      1. 单击Start Readiness Check。
      2. 检查完成后,单击Next。

      magento-check

    2. 添加数据库。
      1. 输入之前创建的数据库用户的账号和密码。本教程中创建的示例用户账号为magentoUser、密码为magentoUser1@3
      2. 输入之前创建的数据库的名字。本教程中创建的示例数据库名字为magento
      3. 单击Next。

      config-db

    3. 填写Web访问设置,并单击Next。

      config-web

    4. 填写定制商店,并单击Next。
    5. 填写管理员账号信息,并单击Next。
    6. 单击Install Now进行安装。

出现如下图所示界面,表示Magento配置完成。

magento_4

步骤八:添加cron作业

完成以下操作,添加cron作业:

  1. 运行crontab -u apache -e设置cron运行调度工作。
  2. 按下i键进入编辑模式。
  3. 输入下列配置信息。
    */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并回车以保存并退出。

Magento上使用cron作业的更多详情。

常见问题

输入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 /var/www/html
    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 Management。

    daad

  5. 选中状态为INVALIDATED的Cache Types,并单击Submit。

    456

    当出现类似如下返回信息时,表示问题已经解决。

    455

 

后续步骤

  • 访问http://<ECS实例公网IP地址>可以看到如下图所示的默认主页。

    luma

  • 访问http://<ECS实例公网IP地址>/admin,输入您在安装过程中设置的用户名和密码,成功登录管理面板后可看到如下界面。

    dashboard

本文转自阿里云官方文档。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/869572.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

建设全球研发中心城市,长沙的“破”与“立”

文 | 智能相对论 作者 | 范柔丝 顺应全球科技革命和产业变革浪潮&#xff0c;响应国家和全省发展战略&#xff0c;向全球研发中心城市见可而进的长沙&#xff0c;落地动作不断。 省委书记沈晓明在2023互联网岳麓峰会上前瞻性地为长沙擘画“全球研发中心城市”的蓝图后&#…

每期一个小窍门: go 的小接口多组合思想

go中的接口更加灵活 通过隐式约定实现 类似奥卡姆剃刀 尽量把小功能抽象成为一个独立接口复杂接口最好由简单子功能接口组合而来传参如无必要, 勿扩大接口范围, 保持简单

AI绘画(2)stable diffusion绘制人像

使用AI绘画&#xff0c;看起来很简单&#xff0c;但要画好就很难&#xff0c;又是另一回事。使用AI绘画&#xff0c;是有着技巧和窍门。 现在&#xff0c;我们开始stable diffusion的一个心得分享。今天教程的主题是画人物。 由于是stable diffusion的输入文本是英文&#xff…

GB/T28181设备接入端如何应用到数字城管场景?

什么是数字城管&#xff1f; 数字城管&#xff0c;又称“数字化城市管理”或“智慧城管”&#xff0c;是一种采用信息化手段和移动通信技术来处理、分析和管理整个城市的所有城管部件和城管事件信息&#xff0c;促进城市管理现代化的信息化措施。 数字城管通过建立城市管理信息…

Ubantu安装Docker(完整详细)

先在官网上查看对应的版本:官网 然后根据官方文档一步一步跟着操作即可 必要准备 要成功安装Docker Desktop&#xff0c;必须&#xff1a; 满足系统要求 拥有64位版本的Ubuntu Jammy Jellyfish 22.04&#xff08;LTS&#xff09;或Ubuntu Impish Indri 21.10。 Docker Deskto…

无涯教程-Perl - pos函数

描述 此函数用于查找最后匹配的子字符串的偏移量或位置。如果指定了SCALAR,它将返回该标量变量上最后一个匹配项的偏移量。 您还可以为此函数分配一个值(例如pos($foo) 20;),以更改下一个匹配操作的起点。 偏移是从第零位置开始的计数器。 语法 以下是此函数的简单语法- …

百度网盘非会员倍速播放(电脑端)

百度网盘非会员倍速播放&#xff08;电脑端&#xff09; 1. 打开edge浏览器&#xff0c;点击右上角的三个点后&#xff0c;选择“扩展” 2. 选择“管理扩展” 3. 选择“获取MicrosoftEdge扩展” 4. 搜索“Global Speed” 5. 选择Global Speed:视频速度控制&#xff0c;然…

STM32 LL库+STM32CubeMX--LED呼吸灯

一、前期准备 硬件&#xff1a;STM32F103C8T6开发板调试工具&#xff1a;DAPLink(本次使用)或USB-TTL开发环境&#xff1a;STM32CubeMX、Keil、Vscode(可选)LED&#xff1a;使用PA0(TIM2_CH1)输出PWM&#xff0c;LED的阴极接GND 二、使用定时器中断产生PWM STM32F103C8T6在72…

各地区-各行业法人单位、区划数63个指标(2010-2022年)

一、数据介绍 数据名称&#xff1a;各地区-各行业法人单位、区划数63个指标 数据年份&#xff1a;2010-2022年&#xff08;法人单位至2021年&#xff09; 数据样本&#xff1a;404条 数据来源&#xff1a;自我整理 二、指标说明 行政区划代码 地区 长江经济带 经度 纬…

数字化时代,选择商业智能BI解决80%数据问题

数据是需要有人来照料、培养的&#xff0c;如果企业没有完善的数据治理方案&#xff0c;就很难保障数据的质量&#xff0c;进而导致数据无法利用&#xff0c;让这些辛苦积累的数据失去了价值。 数据治理目标 数据从业务活动中产生&#xff0c;也会深刻影响到业务本身。 对于…

vue2中使用mixins(混入)和vue3中使用composable

文章目录 一、mixins混入1、 新建mixins文件夹&#xff0c;新建myMixins.js2、myMixins.js 文件3、index.vue 文件&#xff08;要使用的文件&#xff09; mixins 总结二、composable(组合式api composition )1、 新建composables文件夹&#xff0c;新建useEdit.js2、useEdit.js…

python无聊小创作:直播读弹幕机器人(附完整代码)

前言 嗨喽&#xff0c;大家好呀~这里是爱看美女的茜茜呐 直播读弹幕机器人是指能够实时读取直播平台上观众发送的弹幕&#xff0c;并将其转化为语音进行播放的机器人。 这种机器人通常会使用文字转语音技术&#xff0c;将接收到的弹幕文本转为语音&#xff0c;并通过扬声器或…

系统架构设计专业技能 · 网络规划与设计(三)【系统架构设计师】

系列文章目录 系统架构设计专业技能 网络规划与设计&#xff08;三&#xff09;【系统架构设计师】 系统架构设计专业技能 系统安全分析与设计&#xff08;四&#xff09;【系统架构设计师】 系统架构设计高级技能 软件架构设计&#xff08;一&#xff09;【系统架构设计师…

腾讯云标准型CVM云服务器详细介绍

腾讯云CVM服务器标准型实例的各项性能参数平衡&#xff0c;标准型云服务器适用于大多数常规业务&#xff0c;例如&#xff1a;web网站及中间件等&#xff0c;常见的标准型云服务器有CVM标准型S5、S6、SA3、SR1、S5se等规格&#xff0c;腾讯云服务器网来详细说下云服务器CVM标准…

Vue中使用Tailwind css

1.什么是Tailwind 就是一个CSS框架&#xff0c;和你知道的bootstrap&#xff0c;element ui&#xff0c;Antd&#xff0c;bulma。一样。将一些css样式封装好&#xff0c;用来加速我们开发的一个工具。 Tailwind解释 tailwind css 中文文档 2.Vue使用Tailwind配置 1. 新建vu…

【elasticSearch系】3.完整搭建详尽版elk

话不多说,我们先看下经典的elk 是由哪些组件搭建组合起来的 elasticsearch和kibana搭建 可以查看之前我们搭建elasticsearch和kibana 的这篇文章 logstash搭建 为了和之前我们搭建elasticsearch和kibana版本保持一致,这里我们还是选择7.17.3 下载地址 点击下载,这里为了…

Spring Boot配置文件中的配置项加密jasypt使用

在Spring Boot中&#xff0c;有很多口令需要加密&#xff0c;如数据库连接密码、访问第三方接口的Token等。常见的方法就是用jasypt对口令进行加密。 实际上&#xff0c;jasypt可以对配置文件中任意配置项的值进行加密&#xff0c;不局限于对密码的加密。 1.在pom.xml中添加ja…

由于找不到vcruntime140.dll,无法继续执行代码,三种修复方法

为什么我们很多人都遇到过打开电脑软件时候突然电脑就提示找不到vcruntime140.dll&#xff0c;或许vcruntime140.dll丢失&#xff0c;那么vcruntime140.dll到底是什么&#xff1f;为什么会丢失&#xff0c;丢失了要怎么解决修复呢&#xff1f;下面小编都会一一介绍给大家&#…

常见直播流协议,你学“废”了吗?

常见的直播流协议&#xff08;大汇总&#xff09; 前言正文什么是视频流协议&#xff1f;协议、编解码器和容器格式 RTMP什么是RTMP&#xff1f;RTMP的特性RTMP的三个主要成分使用RTMP直播的整个流程RTMP拉流过程RTMP是否被淘汰了&#xff1f;RTMP的几个变种 HLS什么是HLS&…

腾讯云服务器CVM标准型S5详细介绍及其他S6、SA3实例等

腾讯云CVM服务器标准型实例的各项性能参数平衡&#xff0c;标准型云服务器适用于大多数常规业务&#xff0c;例如&#xff1a;web网站及中间件等&#xff0c;常见的标准型云服务器有CVM标准型S5、S6、SA3、SR1、S5se等规格&#xff0c;腾讯云服务器网来详细说下云服务器CVM标准…