CentOS 7系统如何搭建Magento电子商务网站?

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用系列 2核4GB
简介:


本文主要说明如何在阿里云ECS实例上搭建Magento电子商务网站,使用的操作系统为Linux CentOS 7.2 64位。



适用对象


适用于熟悉ECS,熟悉Linux系统,刚开始使用阿里云进行建站的用户。


资源


本文描述的操作涉及的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 入方向 允许 自定义TCP 80/80 地址段访问 0.0.0.0/0 1
MySQL 入方向 允许 自定义TCP 3306/3306 地址段访问 0.0.0.0/0 1

步骤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配置文件:






  • 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





  1. 运行命令 vim /etc/httpd/conf/httpd.conf




  2. i 键进入编辑模式。




  3. 做以下修改:




  4. Esc 键退出编辑,并输入 :wq 保存并退出。




查看/var/log/mysqld.log文件,获取安装MySQL时自动设置的root用户密码。



# grep 'temporary password' /var/log/mysqld.log2016-12-13T14:57:47.535748Z 1 [Note] A temporary password is generated for root@localhost: p0/G28g>lsHD

运行下面的命令可以从如下4个方面提高MySQL的安全性:



# mysql_secure_installationSecuring 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用户密码,输入YNew 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) : YBy 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 #是否删除匿名用户,输入YSuccess.

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远程登录,输入YSuccess.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 #是否重新加载授权表,输入YSuccess.

All done!




  • 设置root账号密码




  • 禁止root账号远程登录




  • 删除匿名用户账号




  • 删除test库以及对test库的访问权限


    详细说明可参见 官方文档




依次运行以下命令,安装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

查看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 Technologies

with Zend OPcache v7.0.13, Copyright (c) 1999-2016, by Zend Technologies

编辑配置文件/etc/php.ini:



  1. 运行命令 vim /etc/php.ini




  2. i 进入编辑模式。




  3. 在文件最后添加以下配置:



    memory_limit = 128M #根据实际情况增加内存限制date.timezone = Asia/Shanghai #设置时区为上海。



重启Web服务进程。



# systemctl restart httpd

步骤2:创建数据库


按以下步骤创建数据库。




  1. 创建数据库及用户:为Magento数据创建一个数据库和一个数据库用户,数据库和用户名可根据实际情况修改。



    # mysql -u root -pEnter password: 

    mysql> CREATE DATABASE magento; #根据实例情况替换magentoQuery OK, 1 row affected (0.00 sec)

    mysql> GRANT ALL ON magento.* TO YourUser@localhost IDENTIFIED BY 'YourPass'; #根据实际情况替换YourUser和YourPassQuery 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 -pmysql> 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 | phpAll 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______/ _/         __  ___/ /   /  /  ` /  /  / ___/  / ___/

    / /___/ /_/ / / / / / / /_/ / /_/ (__ ) __/ /

    ____/____/_/ /_/ /_/ .___/____/____/___/_/
                /_/<br>

    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.0Switched 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



关于Magento上使用cron作业,请参见 Magento官方文档


后续操作


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



154113584612147_zh-CN.png

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



154113584712148_zh-CN.png

更多Magento配置信息,请参见 Magento官方文档


相关实践学习
借助OSS搭建在线教育视频课程分享网站
本教程介绍如何基于云服务器ECS和对象存储OSS,搭建一个在线教育视频课程分享网站。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情:&nbsp;https://www.aliyun.com/product/ecs
相关文章
|
4月前
|
关系型数据库 MySQL Linux
卸载、下载、安装mysql(Linux系统centos7)
卸载、下载、安装mysql(Linux系统centos7)
174 0
|
2月前
|
Linux 虚拟化 数据安全/隐私保护
部署05-VMwareWorkstation中安装CentOS7 Linux操作系统, VMware部署CentOS系统第一步,下载Linux系统,/不要忘, CentOS -7-x86_64-DVD
部署05-VMwareWorkstation中安装CentOS7 Linux操作系统, VMware部署CentOS系统第一步,下载Linux系统,/不要忘, CentOS -7-x86_64-DVD
|
16天前
|
机器学习/深度学习 文字识别 Linux
百度飞桨(PaddlePaddle) - PP-OCRv3 文字检测识别系统 基于 Paddle Serving快速使用(服务化部署 - CentOS 7)
百度飞桨(PaddlePaddle) - PP-OCRv3 文字检测识别系统 基于 Paddle Serving快速使用(服务化部署 - CentOS 7)
19 1
百度飞桨(PaddlePaddle) - PP-OCRv3 文字检测识别系统 基于 Paddle Serving快速使用(服务化部署 - CentOS 7)
|
4月前
|
关系型数据库 MySQL Linux
一次虚拟机centos7系统崩溃恢复记录
一次虚拟机centos7系统崩溃恢复记录
194 0
|
26天前
|
运维 网络协议 Linux
揭秘CentOS 7:系统目录奥秘大起底,网卡配置秒变高手,让你的服务器管理飞一般的感觉!
【8月更文挑战第5天】CentOS 7作为RHEL的社区版本,以其稳定性和丰富功能广受好评。本文通过案例分析介绍其系统目录结构及网卡配置方法。系统目录如/(根)、/bin(基本命令)、/boot(启动文件)、/dev(设备文件)、/etc(配置文件)、/home(用户目录)和/lib(共享库)等各司其职。网卡配置通过编辑/etc/sysconfig/network-scripts/下的ifcfg文件实现,如设置ens33接口的静态IP地址、子网掩码、网关和DNS服务器,并通过重启网络服务使配置生效。这是系统管理员必备的技能之一。
38 2
|
24天前
|
Linux 开发工具
CentOS7系统初始化个人配置
CentOS7系统初始化个人配置
|
2月前
|
Linux
CentOS 7 上挂载硬盘到系统
在 CentOS 7 中挂载硬盘,步骤包括:1、查找未挂载磁盘;2、创建分区;3、格式化为 ext4;4创建挂载点;5、挂载硬盘;6、检查挂载状态;7、 编辑 `/etc/fstab` 以实现开机自动挂载。
138 3
|
3月前
|
弹性计算 安全 Cloud Native
Alibaba Cloud Linux镜像系统超好用!兼容CentOS生态,性能稳定性绝对可以!
Alibaba Cloud Linux是阿里云的自研Linux发行版,兼容CentOS/RHEL,提供长期免费支持。它针对云服务器ECS优化,适用于多种场景,如Web服务、云原生应用等。Alibaba Cloud Linux 3基于Anolis OS 8,提供安全、高性能、十年维护及丰富的开源生态。用户可在ECS购买时选择镜像安装,支持多架构并提供热补丁、解决方案和快速启动版。更换ECS操作系统是免费的。
295 5
|
3月前
|
Java Linux 网络安全
技术心得记录:将centos7打造成桌面系统
技术心得记录:将centos7打造成桌面系统
88 0
|
4月前
|
运维 Linux
CentOS系统openssh-9,你会的还只有初级Linux运维工程师的技术吗
CentOS系统openssh-9,你会的还只有初级Linux运维工程师的技术吗
下一篇
云函数