Linux上搭建Magento电子商务网站

news/2024/5/15 1:59:35/文章来源:https://blog.csdn.net/chengxi2031/article/details/100704500

一、简介

    Magento是一款开源电商网站框架,其丰富的模块化架构体系及拓展功能可为大中型站点提供解决方案。它使用PHP开发,支持版本范围从PHP 5.6到PHP 7.1,并使用MySQL存储数据。本文主要说明如何在阿里云ECS实例上搭建Magento电子商务网站,使用的操作系统为Linux CentOS 7.2 64位。

二、资源及前提条件

    本文描述的操作涉及的Linux ECS实例配置包括:2 vCPU、4 GiB内存、Cent OS 7.2 64位操作系统、VPC网络、分配的公网IP地址。

说明 用于搭建Magento 2的服务器,内存不能小于2 GiB。

根据本文搭建的Magento电子商务网站,使用的软件版本信息如下:

  • MySQL 5.7
  • PHP 7.0
  • Magento 2.1

前提条件

您已经创建了一台VPC网络类型的Linux ECS实例,详细操作,请参见 使用向导创建实例。配置包括:2 vCPU、4 GiB内存、Cent OS 7.2 64位操作系统、VPC网络、分配公网IP地址。

ECS实例所在安全组中已经添加了如下表所示的安全组规则。详细操作,请参见 使用向导创建实例添加安全组规则

服务规则方向授权策略协议类型端口范围授权类型授权对象优先级
HTTP入方向允许自定义TCP80/80地址段访问0.0.0.0/01
MySQL入方向允许自定义TCP3306/3306地址段访问0.0.0.0/01

三、步骤

步骤1:安装配置LAMP平台

本部分内容说明如何手动安装LAMP平台。您也可以在 云市场 购买LAMP镜像直接启动ECS实例,以便快速建站。

  1. 依次运行以下命令更新包和存储库,并安装Apache Web服务器和MySQL服务器。
    [ECS]$ yum update -y
    [ECS]$ yum install httpd –y
    [ECS]$ rpm -Uvh http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm
    [ECS]$ yum -y install mysql-community-server
  2. 启动HTTP和MySQL服务并设置开机自启动。
    [ECS]$ systemctl start httpd
    [ECS]$ systemctl enable httpd
    [ECS]$ systemctl start mysqld
    [ECS]$ systemctl enable mysqld
  3. 编辑Apache配置文件:
    1. 运行命令 vim /etc/httpd/conf/httpd.conf
    2. i 键进入编辑模式。
    3. 做以下修改:
      • Include conf.modules.d/*.conf 之后添加 LoadModule rewrite_module modules/mod_rewrite.so
      • 将以下内容的 AllowOverride None 改为 AllowOverride all
        Options Indexes FollowSymLinks
        #
        # 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
    4. Esc 键退出编辑,并输入 :wq 保存并退出。
  4. 查看/var/log/mysqld.log文件,获取安装MySQL时自动设置的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
  5. 运行下面的命令可以从如下4个方面提高MySQL的安全性:
    • 设置root账号密码
    • 禁止root账号远程登录
    • 删除匿名用户账号
    • 删除test库以及对test库的访问权限

      详细说明可参见 官方文档

    # mysql_secure_installation
    Securing the MySQL server deployment.
    Enter password for user root: #输入第4步中获取的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
    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.
    Normally, root should only be allowed to connect from 'localhost'. 
    This ensures that someone cannot guess at the root password from the network.
    Disallow root login remotely? (Press y|Y for Yes, any other key for No) : Y #禁止root远程登录,输入Y
    Success.
    By default, MySQL comes with a database named 'test' that anyone can access. 
    This is also intended only for testing, and should be removed before moving into a production
    environment.
    Remove test database and access to it? (Press y|Y for Yes, any other key for No) : Y #是否删除test库和对它的访问权限,输入Y
    - Dropping test database...
    Success.
    - Removing privileges on test database...
    Success.
    Reloading the privilege tables will ensure that all changes
    made so far will take effect immediately.
    Reload privilege tables now? (Press y|Y for Yes, any other key for No) : Y #是否重新加载授权表,输入Y
    Success.
    All done!
  6. 依次运行以下命令,安装PHP 7和一些所需的额外PHP扩展。
    # 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-gd php70u-mcrypt php70u-devel php70u-intl php70u-mbstring php70u-bcmath php70u-json php70u-iconv
  7. 查看PHP版本,以验证PHP是否已经成功安装。
    # php -v
    PHP 7.0.13 (cli) (built: Nov 10 2016 08:44:18) ( NTS )
    Copyright (c) 1997-2016 The PHP Group
    Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologieswith Zend OPcache v7.0.13, Copyright (c) 1999-2016, by Zend Technologies
  8. 编辑配置文件/etc/php.ini:
    1. 运行命令 vim /etc/php.ini
    2. i 进入编辑模式。
    3. 在文件最后添加以下配置:
      memory_limit = 128M #根据实际情况增加内存限制
      date.timezone = Asia/Shanghai #设置时区为上海。
  9. 重启Web服务进程。
    # systemctl restart httpd

步骤2:创建数据库

按以下步骤创建数据库。

  1. 创建数据库及用户:为Magento数据创建一个数据库和一个数据库用户,数据库和用户名可根据实际情况修改。
    # mysql -u root -p
    Enter password: 
    mysql> CREATE DATABASE magento; #根据实例情况替换magento
    Query OK, 1 row affected (0.00 sec)
    mysql> GRANT ALL ON magento.* TO YourUser@localhost IDENTIFIED BY 'YourPass'; #根据实际情况替换YourUser和YourPass
    Query OK, 0 rows affected, 1 warning (0.00 sec)
    mysql> FLUSH PRIVILEGES;
    Query OK, 0 rows affected (0.00 sec)
  2. 运行 exit 退出MySQL。
  3. (可选)验证新建的Magento数据库和用户是否可用。
    # mysql -u YourUser -p
    mysql> show databases;
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | magento            |
    +--------------------+
    2 rows in set (0.00 sec)
    mysql> exit

步骤3:安装配置Composer

Composer是PHP一个包管理和包依赖管理的工具。按以下步骤安装配置Composer。

  1. 安装Composer。
    # curl -sS https://getcomposer.org/installer | php
    All settings correct for using Composer
    Downloading 1.2.4...
    Composer successfully installed to: /root/composer.phar
    Use it: php composer.phar
  2. 配置Composer全局使用。

    # mv /root/composer.phar /usr/bin/composer
  3. 测试命令是否可用。

    # composer -v
    ______
    / ____/___  ____ ___  ____  ____  ________  _____
    / /   / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/
    / /___/ /_/ / / / / / / /_/ / /_/ (__  )  __/ /
    \____/\____/_/ /_/ /_/ .___/\____/____/\___/_//_/
    Composer version 1.2.4 2016-12-06 22:00:51

步骤4:安装配置Magento

您可以使用不同的方法安装Magento,也可以选择是否安装示例数据。如果安装Magento仅用于测试,您可以选择安装示例数据。如果是在生产环境中安装Magento,建议您安装全新的Magento,从头开始配置。

本部分介绍如何使用git下载Magento,然后使用Composer安装Magento。

  1. 依次运行以下命令,通过 git clone 下载Magento。
    # yum -y install git
    # cd /var/www/html/
    # git clone https://github.com/magento/magento2.git
  2. (可选)将Magento切换到稳定版本。

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

    # cd magento2 &&  git checkout tags/2.1.0 -b 2.1.0
    Switched to a new branch '2.1.0'
  3. 将安装文件移到Web服务器根目录下。否则,您只能通过 http://[ECS实例公网IP地址]/magento2 访问您的Magento站点。
    # shopt -s dotglob nullglob && mv /var/www/html/magento2/* /var/www/html/ && cd ..
  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。
  6. 测试:在浏览器中访问 http://[ECS实例公网IP地址],如果出现以下页面,说明Magento安装成功。
    154113584612145_zh-CN.png
  7. 单击 Agree and Setup Magento 开始配置Magento:按实际情况填写连接数据库信息、Web访问设置、定制商店、创建管理员账号。出现如下图所示的界面时,说明Magento配置完成。
    154113584612146_zh-CN.png

步骤5:添加cron作业

  1. 运行 crontab -u apache -e 设置cron运行调度工作。
  2. 添加以下内容。
    */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

后续操作

访问 http://[ECS实例公网IP] 可以看到如下图所示的默认主页。


154113584612147_zh-CN.png

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


154113584712148_zh-CN.png

转载于:https://my.oschina.net/tobeexpertismydream/blog/2986037

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

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

推荐几款软件和几个网站

分类&#xff1a; IT-起航 2011-06-11 15:18 6人阅读 评论(0) 收藏 举报 原文出处:http://blog.csdn.net/jj12345jj198999/archive/2011/06/06/6527484.aspx 最近整理了一下电脑中&#xff0c;发现有几个不错的软件&#xff0c;在这里弱弱的推荐下&#xff0c;适合平时经常用电…

零售网站嵌入社交商务的3种方法

HowardSchultz于1982年加盟星巴克时&#xff0c;建议公司由咖啡豆及咖啡周边产品销售转为经营特色咖啡店并销售杯装咖啡。起初&#xff0c;公司创始团队否决了这一提议。而星巴克此后的飞速发展则印证了&#xff0c;商业模式的成功必须经历市场的检验&#xff0c;同时也需要不断…

Google收购点评服务网站Zagat,价格低于6600万美元

数年前点评服务网站Zagat曾经想以2亿美元将自己卖掉&#xff0c;今天&#xff0c;Google以低于6600万美元的价格收购了Zagat。Google并没有公布交易价格&#xff0c;但由于并没有引发联邦贸易委员会的反垄断审查&#xff0c;因此这一收购并未达到反垄断审查的下限&#xff0c;即…

Quora:问答网站需要跨越的鸿沟

上个月&#xff0c;我和Tawanda Sibanda决定对Quora的社区参与度进行一项研究&#xff0c;我们希望通过这项研究了解&#xff0c;Quora是否有可能成为一种主流资源。 基本观点 Quora的产品设计注定了其是一个面向技术人士的小众网站。我们会考虑&#xff0c;对于技术人士而言…

Google收购德国团购网站DailyDeal

Google近日收购了成立于2009年12月的德国团购网站DailyDeal.de&#xff0c;该消息由科技网站TheNextWeb首先报道&#xff08;至少在英文报道方面是首家&#xff09;&#xff0c;而DealyDeal也在公司网站上发布消息证实了这一消息&#xff0c;不过Google尚未对此进行确认&#x…

Google称网站对移动设备的优化将是衡量广告目标网页质量得分的重要因素

Google今天宣布网站对移动设备的优化将作为衡量广告目标网页质量得分的因素之一。从去年开始&#xff0c;Google开始限制某些链接到大量Flash内容页面的广告在智能手机上出现&#xff0c;以提高用户体验。 这一改变将使得Adwords广告中&#xff0c;针对移动设备进行优化的广告页…

Channel.me:这是一个神奇的网站

电脑上的远程协助功能&#xff0c;相信不少人都用过&#xff0c;对于很多菜鸟级网民来说&#xff0c;让好朋友异地帮忙修电脑似乎很神奇&#xff0c;但是一旦授权给对方&#xff0c;只能看着他操作&#xff0c;缺少了交互的乐趣。今天介绍的Channel.me却能让身处异地的人同时访…

Grockit融资700万美元,推出视频问答网站Grockit Answers

据国外媒体报道&#xff0c;在线学习初创公司Grockit最近获得了D轮700万美元的融资。本轮融资由Atlas Ventures领投&#xff0c;其他投资人包括此前的Benchmark和Integral Capital&#xff0c;以及新加入的 Michael Moe&#xff08;NewSchools Venture FundGSV Capital CEO&…

Clipboard:无需粘贴复制的剪贴板,轻松分享网站内容

每天我们都在粘贴复制链接、照片、文本到email、Twitter、Facebook等等&#xff0c;有很多目的&#xff0c;比如和朋友分享自己喜欢的东西&#xff0c;或想保存一些对自己有价值有意义的东西&#xff0c;或者想做论文参考等等。但以前在网上的这种操作往往都麻烦&#xff0c;现…

团购网站Groupon面临的四大问题

虽历经波折&#xff0c;美国第一大团购网站Groupon仍在紧锣密鼓地进行首次公开募股&#xff08;IPO&#xff09;的筹备工作。据报道&#xff0c;Groupon已定于11月4日在纳斯达克证券市场挂牌交易&#xff0c;证券代码为“GRPN”。就Groupon的最终成败&#xff0c;美国知名IT评论…

2017年9月3日 实现网站的权限管理

现在各个企业管理网站对登录的账号都要进行权限管理&#xff0c;并且相当重要&#xff0c;每个账号登录进去所能看到的东西大不相同&#xff0c;下面是实现该功能的一个的一种方法。 需求&#xff1a; 权限&#xff1a;权限是使用者操作系统中功能模块的能力&#xff0c;如“角…

webmagic爬取渲染网站

最近突然得知之后的工作有很多数据采集的任务&#xff0c;有朋友推荐webmagic这个项目&#xff0c;就上手玩了下。发现这个爬虫项目还是挺好用&#xff0c;爬取静态网站几乎不用自己写什么代码&#xff08;当然是小型爬虫了~~|&#xff09;。好了&#xff0c;废话少说&#xff…

Roslyn导致发布网站时报错-编译失败

最近新升级了Visual Studio 2017&#xff0c;创建的Web项目Bin目录中多了一个叫roslyn的文件夹&#xff0c;该文件夹导致网站在某些服务器上发布出错 从网上搜索了一下&#xff0c;Roslyn是新出的动态编译工具 但是在服务器上安装.net4.6后仍然提示编译出错。 解决方法&#x…

搜索引擎优化(SEO)新手指南(超实用)

from&#xff1a;http://www.kenengba.com/post/556.html这个指南不会告诉你如何能在Google排第一位&#xff0c;但能使你的网站或博客对浏览者和搜索引擎更友好。 一、使用独特的、准确的标题 不管对于浏览者还是搜索引擎来说&#xff0c;标题对于一个网站是非常重要的。而标题…

浏览英文网站必会的100个词汇

许多人刚开始接触纯英文网站的时候&#xff0c;看到满版的英文&#xff0c;不免有些望而却步&#xff0c;其实浏览英文网站并没有想象中的那么难&#xff0c;只要你掌握了基本的一些词汇&#xff0c;很快就会寻得一些浏览规律&#xff0c;今天要给大家介绍一些在浏览是使用英文…

常用的开源社区网站和面试刷题网站

1、GitHub&#xff08;https://github.com/&#xff09; 全球最大开源社区。 2、码云&#xff08;https://gitee.com/&#xff09; 可以看做GitHub的国内版。 3、LeetCode&#xff08;https://leetcode-cn.com/&#xff09; 经典的刷题网站&#xff0c;主要是算法题。 4、LintC…

自建CA给内部网站颁发SSL证书

Windows Server - 建设篇 第二章 自建CA给内部网站颁发SSL证书Windows Server - 建设篇系列文章回顾下章内容前言实施步骤Openssl申请证书签发请求&#xff08;带SAN扩展属性&#xff09;参考来源系列文章回顾 第一章 Windows Server 2016搭建企业CA证书服务 下章内容 第三章…

Saleor:开源、免费的无头电子商务平台——系列教程,快速打造属于你的电商网站

Saleor&#xff1a;开源、免费的无头&#xff08;Headless eCommerce&#xff09;电子商务平台 项目&#xff1a;saleor stars&#xff1a;6.7k 简介&#xff1a;开源的无头&#xff08;Headless eCommerce&#xff09;电子商务平台&#xff08;商城&网店&#xff09; 官网…

React项目全球新闻发布管理系统 - 新版问题解决方式整理及部署网站至 Netlify

整理了一下新版的变化以及遇到的坑的解决办法&#xff0c;最后也会分享将网站及接口部署的方式。 千锋前端-React全家桶_React项目全球新闻发布管理系统 https://www.bilibili.com/video/BV1fw411d7R5 文章目录P4P5P6P11P15P17P18P22P29P30P34P38P41P43P45P50P67进阶: 多语系网…

网站图片都有规格、质量大小限制,如何处理图片的规格、大小呢?

对于网站运营图片都有相应的尺寸规格限制&#xff0c;比如常见的如下图&#xff1a; 1、大背景&#xff1a;尺寸不限&#xff0c;但图案最好不要太大太复杂 2、页眉背景&#xff1a;尺寸为770*40px&#xff08;px为像素单位&#xff09;&#xff0c;图案自己选 3、标题背景&…