- 最新动态
- 功能总览
- 服务公告
- 产品介绍
- 计费说明
- 快速入门
-
用户指南
- 通过IAM授予使用ECS的权限
- 实例
- 回收站管理(公测)
- 镜像管理
- 磁盘管理
- 弹性网卡管理
- 弹性公网IP管理
- 安全管理
- 备份管理
- 密码和密钥对管理
- 启动模板管理
- 智能购买组管理
- 事件管理
- 操作系统dump管理
- 自助运维管理
- 资源与标签
- 使用CES监控ECS
- 使用CTS审计ECS操作事件
- QingTian Enclave管理
-
最佳实践
- ECS最佳实践汇总
- ECS搭建网站入门
- ECS自助建站汇总
- 弹性云服务器配置最佳实践
- 搭建环境
- 搭建网站
- 搭建应用
- 云服务器安全
- 云服务器迁移
- 在ECS上通过内网访问OBS
- 本地盘使用最佳实践
- 使用VNC Viewer连接Linux云服务器
-
API参考
- 使用前必读
- API概览
- API版本选择建议
- 如何调用API
- API
- 应用示例
- 数据结构
- 权限和授权项
- 公共参数
-
历史API
- 状态管理
- 规格管理
- 网卡管理
- 磁盘管理
- 标签管理
- 密码管理
- FPGA逻辑文件管理
- 查询API版本信息(OpenStack Nova API)
- 生命周期管理(OpenStack Nova API)
- 状态管理(OpenStack Nova API)
- 网络管理(OpenStack Nova API)
- 镜像管理(OpenStack Nova API)
- 安全组管理(OpenStack Nova API)
- 规格管理(OpenStack Nova API)
- 网卡管理(OpenStack Nova API)
- 磁盘管理(OpenStack Nova API)
- 元数据管理(OpenStack Nova API)
- 租户配额管理(OpenStack Nova API)
- 密钥、密码管理(OpenStack Nova API)
- 云服务器组管理(OpenStack Nova API)
- 云服务器操作管理(OpenStack Nova API)
- 云服务器控制台管理(OpenStack Nova API)
- 可用区(OpenStack Nova API)
- 标签管理(OpenStack Nova API)
- 浮动IP管理(OpenStack Nova API)
- 快照管理(OpenStack Nova API)
- 附录
- SDK参考
- 场景代码示例
-
常见问题
- 高频常见问题
- 产品咨询
-
ECS创建
- 找不到我的弹性云服务器资源怎么办?
- 购买云服务器资源提示售罄怎么办?
- 批量购买弹性云服务器时报错:请排查子网是否绑定了企业路由
- 创建多台云服务器时怎样设置有序的云服务器名称?
- 什么是云服务器的创建时间和启动时间?
- 为什么创建弹性云服务器的任务失败,但是在列表中显示创建成功?
- 弹性云服务器在什么时候进入开通状态?
- 支付成功后为什么不能马上看到创建中的弹性云服务器?
- 如何处理支付订单后云服务器开通失败?
- 使用整机镜像创建云服务器速度很慢,怎么办?
- 购买弹性云服务器选错镜像怎么办?
- Windows或Linux操作系统镜像怎么选?
- 申请开通弹性云服务器需要多久?
- 如何实现对弹性云服务器的分组管理?
- 购买云服务器时配置“反亲和性”云服务器组,提示失败怎么办?
- ECS删除与退订
-
远程登录
- 登录前准备类
-
远程连接类
- 如何进行弹性云服务器的一键诊断?
- 如何登录弹性云服务器?
- 无法登录到Windows云服务器怎么办?
- 无法登录到Linux云服务器怎么办?
- MSTSC方式登录Windows 2012的弹性云服务器,登录失败怎么办?
- CloudShell方式远程登录Linux弹性云服务器失败怎么办?
- 怎样修改远程登录的端口?
- 修改Linux弹性云服务器的默认SSH端口后,使用新端口无法登录?
- 密钥对鉴权方式的Windows云服务器无法获取密码怎么办?
- 远程登录弹性云服务器时,对浏览器版本的要求?
- Windows 2012系统卸载某些软件后无法进入系统桌面怎么办?
- 操作系统类型相同的弹性云服务器互换系统盘后,如何登录?
- 为什么单击“获取密码”后,系统提示查询不到密码?
- 如何修改Windows弹性云服务器的分辨率?
- VNC登录类
-
Windows远程登录报错类
- 远程连接Windows云服务器报错:出现身份验证错误,要求的函数不受支持
- 远程连接Windows云服务器报错:此计算机无法连接到远程计算机
- 远程连接Windows云服务器报错:没有远程登录的权限
- 远程连接Windows云服务器报错:没有远程桌面授权服务器可以提供许可证
- 登录Windows云服务器时报错:0x112f
- 远程连接Windows云服务器报错:0x1104
- 远程连接Windows云服务器报错:122.112...
- 使用Mac远程连接Windows云服务器报错:证书或相关链无效
- 使用Mac远程连接Windows云服务器出现报错0x207
- 远程连接Windows云服务器报错:您的凭据无法工作
- 登录Windows云服务器提示“内部错误”怎么办?
- 远程连接Windows云服务器报错:由于协议错误会话中断
- 远程连接Windows云服务器报错:无法验证此远程计算机的身份
- 远程连接Windows云服务器报错:两台计算机无法在分配的时间内连接
- 远程连接Windows云服务器报错:连接被拒绝未授权此用户
- 远程连接Windows云服务器报错:您的连接已丢失
- 远程连接云服务器出现蓝屏
- RDP连接已断开,出现内部错误,错误代码4
- Linux远程登录报错类
- 计费相关
- 区域与可用区
-
操作系统相关问题
- 云服务器是否有图形界面?
- CentOS 6系列弹性云服务器如何安装图形化界面?
- CentOS 7系列弹性云服务器如何安装图形化界面?
- Ubuntu系列弹性云服务器如何安装图形化界面?
- Debian系列弹性云服务器如何安装图形化界面?
- Linux弹性云服务器发生kdump时,操作系统无响应
- Linux弹性云服务器怎样升级内核?
- 弹性云服务器的操作系统无法正常启动是什么原因?
- 针对Intel处理器芯片存在的Meltdown和Spectre安全漏洞,应该如何规避?
- 如何开启CentOS操作系统的SELinux功能?
- 鲲鹏CentOS 7和中标麒麟NKASV 7云服务器使用GNOME图形化后鼠标不可用怎么办?
- 怎样查看GPU加速型云服务器的GPU使用率?
- GPU加速云服务器出现NVIDIA内核崩溃,如何解决?
-
磁盘分区/挂载/扩容
- Windows操作系统云服务器看不到挂载的数据盘怎么办?
- 怎样调整系统盘分区?
- 控制台与弹性云服务器内部之间磁盘挂载点的对应关系
- 怎样查询Windows弹性云服务器磁盘分区与磁盘设备的对应关系?
- 怎样查询Linux弹性云服务器磁盘分区与磁盘设备的对应关系?
- 怎样配置Windows弹性云服务器的虚拟内存?
- 如何将扩容系统盘的空白分区在线扩容到末尾的root分区?
- 如何将扩容系统盘的空白分区在线扩容到非末尾的root分区?
- 一台弹性云服务器可以挂载多块磁盘吗?
- 弹性云服务器挂载磁盘时有什么限制?
- 哪些弹性云服务器支持挂载SCSI类型的云硬盘?
- 弹性云服务器详情页显示还有挂载点,但是挂载磁盘失败
- 挂载SCSI盘的Linux弹性云服务器,重启失败怎么办?
- 怎样查询挂载了同一个SCSI共享盘的云服务器是否在同一个云服务器组中?
- 哪些用户有权限使用加密特性?
- 本地盘实例怎么添加到云服务器组?
- 包年/包月的云硬盘怎么删除或者退订
- 退订或删除弹性云服务器时,云硬盘会一起被退订或删除吗
- 磁盘脱机怎么办?
- 重启后盘符发生变化怎么办?
- 用户误删除Tools后,如何获取数据盘信息?
- Linux弹性云服务器挂载NVMe SSD盘异常,如何修复?
- 为什么C6服务器盘符格式是sd*?
- 弹性云服务器磁盘格式化为ext4分区后,为什么会打印磁盘报错日志?
- 如何转换磁盘MBR分区为GPT分区?
- 数据备份与恢复
-
网络配置
- 怎样配置弹性云服务器的DNS和NTP信息?
- 华为云有没有提供NTP服务器,怎样配置?
- 如何为ECS配置DNS?
- 同一个VPC内的ECS内网无法互通或者出现丢包等现象时,如何排查?
- 不同账号下跨VPC的弹性云服务器内网是否可以互通?
- 如何实现同一账号跨VPC的网络互通?
- 我购买的云服务器是否在同一子网?
- 怎样修改云服务器子网的网段?
- 如何查看ECS实例是否支持IPv6?
- 如何在Linux实例中配置静态IP地址?
- 如何配置端口映射?
- 如何查看云服务器的mac地址?
- 如何查看和修改Linux弹性云服务器的内核参数?
- 云服务器网络优化方案
- 网卡无法正常工作,怎么办?
- DHCP无法正常获取内网IP?
- Linux云服务器网络性能测试方法
- 弹性云服务器变更规格后网卡漂移怎么办?
- 如何解决多网卡的Linux弹性云服务器变更规格后网卡漂移?
- 弹性云服务器添加网卡后是否会自动启动?
- 怎样检查IB云服务器的网络是否正常?
- 怎样给IB网卡手动配置IP地址?
- 如何解决SR-IOV场景下win7弹性云服务器安装82599网卡驱动报错?
- CentOS 6.5系统如何添加静态路由?
- 弹性公网IP类
-
密码与密钥对
- 如何修改Linux弹性云服务器的密码?
- Linux操作系统默认密码是多少?
- 怎样设置镜像密码的有效期?
- 在操作系统内部修改ECS密码
- 重置Windows云服务器密码(未安装重置密码插件)
- 重置Linux云服务器密码(未安装重置密码插件)
- 用户创建弹性云服务器成功后远程登录提示密码错误
- 用户未修改密码,正常使用弹性云服务器一段时间后无法登录
- 一键重置密码后无法使用新密码登录弹性云服务器
- 业务端口被一键式重置密码插件占用
- 一键式重置密码插件占用虚拟内存VIRT和常驻内存SHR过高怎么办?
- 关闭Selinux
- Linux镜像安装一键式重置密码插件启动失败怎么办?
- 怎样查询弹性云服务器使用的密钥对是哪个?
- 如何使用密钥对?
- 手机是否可以下载密钥对?
- 无法导入密钥对,怎么办?
- 为什么使用密钥文件无法正常登录Linux弹性云服务器?
- 密钥对无法下载
- 通过puttygen.exe工具创建的密钥对,导入管理控制台失败怎么办?
- Windows弹性云服务器中的cloudbase-init账户是什么?
- python升级导致Cloud-init不工作
- 应用搭建及软件安装咨询
-
文件上传/数据传输
- 上传文件到云服务器方式概览
- 本地Windows主机通过MSTSC上传文件到Windows云服务器
- 本地Windows主机使用OBS上传文件到Windows云服务器
- 本地Windows主机使用WinSCP上传文件到Linux云服务器
- 本地macOS系统主机上传文件到Windows云服务器
- 本地Linux主机使用SCP上传文件到Linux云服务器
- 本地Linux主机使用SFTP上传文件到Linux云服务器
- 本地Windows主机使用FTP上传文件到Windows/Linux云服务器
- 本地Linux主机使用FTP上传文件到Linux云服务器
- 怎样在本地主机和Windows云服务器之间互传数据?
- 使用FTP上传文件时客户端连接服务端超时怎么办?
- 使用FTP上传文件时写入失败,文件传输失败怎么办?
- 搭建了FTP,通过公网无法访问怎么办?
- 打开FTP服务器上的文件夹时发生错误,请检查是否有权限访问该文件夹
- WinSCP无法连接到Linux云服务器怎么办?
- 上传文件到云服务器缓慢怎么办?
-
ECS故障
- 针对管理控制台的异常提示信息,应该如何处理?
- 如何修复虚拟化驱动异常的Windows弹性云服务器?
- 弹性云服务器配置的邮件无法正常发送
- Windows弹性云服务器没有声音?
- 如何修改弹性云服务器的SID?
- 为什么按需计费的弹性云服务器开机失败?
- 为什么我的C6云服务器出现了性能下降现象?
- 使用free命令查看弹性云服务器的内存,为什么与实际不符?
- 弹性云服务器重启后,主机名被还原为安装时的主机名?
- 弹性云服务器的主机名带后缀novalocal,这正常吗?
- 强制关机导致文件系统损坏,Linux弹性云服务器启动失败
- 怎样使修改的静态主机名永久生效?
- Linux操作系统云服务器无法获取元数据怎么办?
- ECS卡顿
- 规格变更
- 操作系统变更
- ECS安全排查
- 资源管理与标签
- 镜像源管理
- 无法访问公网
- 部署的网站/应用无法访问
- 网站/应用访问运行缓慢
-
故障排除
- 高频故障案例
-
操作系统类(Windows)
- Windows云服务器如何保持会话连接长时间不断开?
- 云服务器时间与标准时间不一致
- Windows云服务器配置双网卡公网访问
- Windows云服务器不能复制粘贴内容?
- Windows云服务器配置文件共享和网络磁盘映射方法
- 启动Tomcat时报错,提示80端口被占用怎么办?
- 输入法无法使用怎么办?
- 怎样设置Windows云服务器输入法?
- 怎样实现Windows云服务器文件共享?
- Windows无法正常启动时怎样恢复数据?
- 如何查看Windows云服务器的登录日志?
- Windows云服务器可以Ping通网站,但是无法访问怎么办?
- Windows无法打开开始菜单及搜索框
- Windows Server 2016 ISO实例UEFI无法启动
- Windows无法修改DNS,提示为配置TCP/IP
-
操作系统类(Linux)
- emergency mode(紧急模式)问题处理方法
- 无法编辑fstab文件怎么办?
- CentOS/EulerOS设置系统时区
- Web访问超时系统日志打印:nf_conntrack:table full, dropping packet
- Ubuntu操作系统如何设置默认启动内核
- 怎样配置Linux分析工具:atop和kdump
- 为什么操作系统实际版本与购买时镜像版本不一致?
- 云服务器新内核启动失败如何设置使用第二内核启动
- CentOS 7中/etc/rc.local开机启动脚本不生效怎么办?
- 修改/etc/security/limits.conf文件,重启后不生效怎么办?
- 使用taskset命令让进程运行在指定CPU上
- pip安装软件时出现错误:command ´gcc´ failed with exit status 1
- 非root用户切root用户时,连接超时怎么办?
- CentOS云服务器根目录设置成777权限怎么办?
- Linux实例IP地址丢失怎么办?
- 内核参数kernel.unknown_nmi_panic配置错误导致Linux ECS实例异常重启
- Linux实例执行命令或启动服务时出现错误:Cannot allocate memory
- fork失败,无法创建新的线程怎么办?
- 错误的系统配置导致启动或远程登录失败
- 为什么Linux云服务器df和du统计磁盘空间的大小不一致?
- NetworkManager服务无法启动,报错:Failed to restart NetworkManager.service: Unit NetworkManager.service is masked
- 修改弹性云服务器的时间后,为什么IP地址丢失了?
- 如何解决ECS日志中出现Too many open files的错误?
-
远程登录
- VNC登录类
-
Windows远程登录报错类
- 远程连接Windows云服务器报错:出现身份验证错误,要求的函数不受支持
- 远程连接Windows云服务器报错:此计算机无法连接到远程计算机
- 远程连接Windows云服务器报错:没有远程登录的权限
- 远程连接Windows云服务器报错:没有远程桌面授权服务器可以提供许可证
- 登录Windows云服务器时报错:0x112f
- 远程连接Windows云服务器报错:0x1104
- 远程连接Windows云服务器报错:122.112...
- 使用Mac远程连接Windows云服务器报错:证书或相关链无效
- 使用Mac远程连接Windows云服务器出现报错0x207
- 远程连接Windows云服务器报错:您的凭据无法工作
- 登录Windows云服务器提示“内部错误”怎么办?
- 远程连接Windows云服务器报错:由于协议错误会话中断
- 远程连接Windows云服务器报错:无法验证此远程计算机的身份
- 远程连接Windows云服务器报错:两台计算机无法在分配的时间内连接
- 远程连接Windows云服务器报错:连接被拒绝未授权此用户
- 远程连接Windows云服务器报错:您的连接已丢失
- 远程连接云服务器出现蓝屏
- RDP连接已断开,出现内部错误,错误代码4
- 远程连接Windows云服务器报错:为安全考虑,已锁定该用户账户,原因是登录尝试或密码更改尝试过多
-
Linux远程登录报错类
- 远程连接Linux云服务器报错:Module is unknown
- 远程连接Linux云服务器报错:Permission denied
- 远程连接Linux云服务器报错:read: Connection reset by peer
- 远程连接Linux云服务器报错:Access denied
- 远程连接Linux云服务器报错:Disconnected: No supported authentication methods available
- 远程连接Linux云服务器报错:Authentication failed
- 使用SSH登录Linux云服务器时提示“pam_unix(sshdsession) session closed for user”错误
- Linux云服务器启动时提示报错:Failed to load SELinux policy, freezing.
- 使用SSH登录Linux云服务器时提示“requirement "uid >= 1000" not met by user "root"”错误
- 使用SSH登录Linux云服务器时提示“Too many authentication failures for root”错误
- 使用SSH登录Linux云服务器时提示“Permission denied, please try again.”错误
- 使用Xshell连接不上云服务器,提示“WARNING! The remote SSH server rejected X11 forwarding request.”报错
- SSH登录Linux云服务器时提示“/usr/bin/xauth: timeout in locking authority file /home/user/.Xauthority”报错
- SSH远程登录Linux云服务器时提示报错:WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!
-
网络配置
- CentOS 7重启后dhclient未运行,导致无法获取IP
- Linux私有镜像网卡漂移问题处理
- Linux系统重启后/etc/hosts自动添加主机名解析
- 多网卡配置文件导致network启动失败处理
- Linux系统ping域名失败,提示Name or service not known
- 同一子网的两块网卡均绑定弹性公网IP
- NetworkManager在运行docker容器时占用大量内存怎么办?
- 系统时间跳变导致IP丢失怎么办?
- resolv文件被重置怎么办?
- 为什么弹性云服务器可以ping通,但是无法远程连接?
- Ubuntu系统ECS重启后“/etc/resolv.conf”被还原怎么办?
- 磁盘空间管理
- GPU实例故障自诊断
- GPU驱动故障
-
SSH连接
- 怎样长时间保持SSH会话连接不断开?
- 怎样设置允许或禁止用户/IP通过SSH方式连接云服务器
- CentOS 7修改SSH默认端口后无法连接怎么办?
- /etc/passwd文件损坏导致云服务器登录失败怎么办?
- 开启UseDNS导致SSH连接缓慢怎么办?
- Linux启动sshd服务出现/var/empty/sshd无法访问的解决方案
- 怎样禁用SSH密码方式连接云服务器?
- SSH连接或者服务偶发性断开问题处理
- SSH密钥无法登录,报错Authentication refused: bad ownership or modes for directory /root
- 如何解决Ubuntu 16.04云服务器可以通过SSH成功登录,但VNC界面无法到达登录界面的问题
- SSH服务启动时出现“main process exited, code=exited”错误
- 多用户登录
- 密码与密钥对
- 防火墙设置
- 云服务器蓝屏
- 安装IIS服务
- FACS用户指南
- 视频帮助
- 文档下载
- 通用参考
链接复制成功!
手工搭建Magento电子商务网站(Linux)
简介
本文主要介绍了如何使用弹性云服务器的Linux实例手工搭建Magento电子商务系统。Magento是一款开源电子商务系统,设计灵活,具有模块化架构体系和丰富的功能,可为大中型站点提供解决方案。Magento采用PHP开发,数据存储使用MySQL。
前提条件
- 已购买一台弹性云服务器,且已为其绑定弹性公网IP。
- 弹性云服务器所在安全组添加了如下表所示的安全组规则,具体步骤参见为安全组添加安全组规则。
表1 安全组规则 方向
优先级
策略
类型
协议端口
源地址
入方向
1
允许
IPv4
TCP: 22
允许SSH远程连接Linux弹性云服务器的客户端IP地址。如允许所有IP访问,请设置为0.0.0.0/0,出于安全考虑,不建议您设置为允许所有IP访问。
入方向
1
允许
IPv4
TCP: 80
允许访问Magento网站的客户端IP地址。如允许所有IP访问,请设置为0.0.0.0/0。
入方向
1
允许
IPv4
TCP : 3306
允许远程访问MySQL数据库的客户端IP地址。如允许所有IP访问,请设置为0.0.0.0/0,出于安全考虑,不建议您设置为允许所有IP访问。
资源规划
本次实践所用的资源配置及软件版本如表2中所示。当您使用不同的硬件规格或软件版本时,本指导中的命令及参数可能会发生改变,需要您根据实际情况进行调整。
资源 |
类别 |
规格/版本 |
---|---|---|
ECS配置 |
实例规格 |
c6s.large.2 |
vCPUs |
2vCPUs |
|
内存 |
4GiB |
|
操作系统 |
CentOS 7.2 |
|
软件资源 |
Apache |
2.4.6 |
MySQL |
5.7 获取方式: http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm |
|
PHP |
7.0.33 获取方式: https://repo.ius.io/ius-release-el7.rpm https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm |
|
Composer |
1.10.19 获取方式: |
|
Magento |
2.1.0 获取方式: |
![](https://support.huaweicloud.com/bestpractice-ecs/public_sys-resources/note_3.0-zh-cn.png)
为保证所搭建网站正常运行,所选的ECS实例规格建议为2GiB及以上。
步骤一:安装配置Apache
- 远程登录弹性云服务器,操作方法请参考登录Linux弹性云服务器。
- 为了更好的获取和更新系统和软件,建议您更新镜像源为华为云镜像源,详细操作,请参见如何使用自动化工具配置华为云镜像源(x86_64和ARM)?。
- 使用root用户执行以下命令更新软件包,并安装Apache。
yum -y update yum -y install httpd
如果执行命令过程中报错,提示无法解析域名时,可以在“/etc/resolv.conf”配置文件中增加一个DNS服务器。
- 打开Apache配置文件。
vim /etc/httpd/conf/httpd.conf
如果没有安装vim,可使用yum install -y vim*命令进行安装。
- 按i键进入编辑模式,修改如下两处内容:
- 按Esc键退出编辑模式,并输入:wq保存后退出。
- 依次执行以下命令,启动Apache服务并设置开机自启动。
systemctl start httpd systemctl enable httpd
步骤二:安装配置MySQL
- 使用root用户执行以下命令添加yum源。
rpm -Uvh http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm
- 安装MySQL。
yum -y install mysql-community-server --nogpgcheck
- 依次执行以下命令,启动MySQL服务并设置开机自启动。
systemctl start mysqld systemctl enable mysqld
- 执行以下命令,获取安装MySQL时自动设置的root用户密码。
grep 'temporary password' /var/log/mysqld.log
回显如下类似信息,其中“(n?K7jP#cirM”即为临时密码。2019-05-09T11:29:42.365419Z 1 [Note] A temporary password is generated for root@localhost: (n?K7jP#cirM
- 执行以下命令加固MySQL。
mysql_secure_installation
按照回显提示信息进行操作,具体操作如粗体所示:
Securing the MySQL server deployment. Enter password for user root: #输入上一步骤中获取的安装MySQL时自动设置的root用户密码 The existing password for the user account root has expired. Please set a new password. New password: #设置root用户密码 Re-enter new password: #再次输入密码 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 #输入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!
- 以root用户登录MySQL数据库。
mysql -u root -p
- 创建一个新的数据库,其中“magento”为自定义的数据库名称。
CREATE DATABASE magento;
- 执行以下命令,为数据库创建用户并为用户分配数据库的完全访问权限。
GRANT ALL ON magento.* TO magentouser@localhost IDENTIFIED BY 'xxxxx';
其中,“magento”为上一步骤中创建的数据库名,“magentouser”为新建的数据库用户名,“xxxxx”为对应的账户密码,可以自行设置。
- 执行以下命令,退出MySQL命令行。
exit
- (可选)依次执行以下步骤,验证数据库和用户是否已成功创建,并退出MySQL命令行。
- 以新建的数据库用户“magentouser”登录MySQL命令行。
mysql -u magentouser -p
- 查看数据库。
SHOW DATABASES;
回显如下,“magento”即为新建的数据库,说明数据库已成功创建。
+--------------------+ | Database | +--------------------+ | information_schema | | magento | +--------------------+ 2 rows in set (0.00 sec)
- 执行以下命令,退出MySQL命令行。
exit
- 以新建的数据库用户“magentouser”登录MySQL命令行。
步骤三:安装配置PHP
- 添加ius源和epel源。
yum install \ https://repo.ius.io/ius-release-el7.rpm \ https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
- 添加Webtatic源。
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
- 安装PHP7和用于Magento安装的一些必需的PHP扩展。
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
- 执行以下命令,验证PHP的安装版本。
php -v
回显如下类似信息:
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
- 打开PHP配置文件“php.ini”。
vim /etc/php.ini
- 按i键进入编辑模式,修改如下两处内容:
- 按Esc键退出编辑模式,并输入:wq保存后退出。
- 执行以下命令,重启Web服务进程。
systemctl restart httpd
步骤四:安装Composer工具
Composer是PHP编程语言的包管理器,提供管理PHP软件依赖和所需库的标准格式。
- 由于Magento2的依赖为Composer1.x版本,所以需确保安装的Composer版本的1.x版本。
执行以下命令安装指定版本的Composer,并将安装路径指定为“/usr/bin/”以供全局使用。
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" php composer-setup.php --install-dir=/usr/bin/ --filename=composer --version=1.10.19
回显如下:
All settings correct for using Composer Downloading... Composer (version 1.10.19) successfully installed to: /usr/bin/composer Use it: php /usr/bin/composer
- 执行以下命令,验证Composer否成功安装。
composer -v
回显如下:
______ / ____/___ ____ ___ ____ ____ ________ _____ / / / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/ / /___/ /_/ / / / / / / /_/ / /_/ (__ ) __/ / \____/\____/_/ /_/ /_/ .___/\____/____/\___/_/ /_/ Composer version 1.10.19 2020-12-04 09:14:16 ...
步骤五:安装Magento组件
安装Magento时可以选择是否安装示例数据。如果安装Magento仅用于测试,可以选择安装示例数据。如果是在生产环境中安装Magento,建议安装全新的Magento,并从初始进行配置。
- 执行以下命令,安装git。
yum -y install git
- 依次执行以下命令,进入Web服务器的默认根目录“/var/www/html/”并使用git下载Magento。
cd /var/www/html/ git clone https://github.com/magento/magento2.git
- 执行以下命令,将Magento切换到稳定版本。
默认情况下前一步骤的命令会安装最新开发版本的Magento。在生产环境中使用时,建议切换到稳定版本,否则将来将无法进行升级。
cd magento2 && git checkout tags/2.1.0 -b 2.1.0
回显如下类似信息:
Switched to a new branch '2.1.0'
- 执行以下命令,将安装文件移到Web服务器的根目录“/var/www/html/”下,其中“/var/www/html/magento2/”为Magento的当前安装目录。
shopt -s dotglob nullglob && mv /var/www/html/magento2/* /var/www/html/ && cd ..
迁移后可以通过“http://magento服务器的IP地址”访问Magento站点。否则,只能通过“http://magento服务器的IP地址/magento2”访问Magento站点。
- 依次执行以下命令,设置Magento文件的权限。
chown -R apache: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
- 安装unzip和zip。
yum install -y unzip zip
- 进入Web服务器的默认根目录“/var/www/html/”,然后使用composer工具安装Magento。
cd /var/www/html/ composer install
- 安装完成后,可通过浏览器访问“http://magento服务器IP地址”,显示如下页面,说明Magento安装成功。
步骤六:配置Magento
- 通过浏览器访问“http://magento服务器IP地址”,单击“Agree and Setup Magento”,开始配置Magento。
- 单击“Start Readiness Check”,进行环境检测。检测通过后单击“Next”。
- 填写步骤二:安装配置MySQL中创建的MySQL数据库账户“magentouser”和密码,以及对应的数据库“magento”,并单击“Next”。
如下图所示:
- 设置网站的访问地址和后台管理地址,并单击“Next”。
如下图所示:
后台管理地址可自定义,请牢记设置的后台管理地址。
- 设置语言和时区信息,并单击“Next”。
如下图所示:
- 设置管理账号和密码,并单击“Next”。
如下图所示:
- 单击“Install Now”,等待系统安装完成。
显示如下界面时,表示系统安装成功。
- 登录Magento服务器,设置cron来运行预定的作业。
crontab -u apache -e
- 按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
按Esc键退出编辑模式,并输入:wq保存后退出。
更多关于Magento使用cron作业的内容,请参见Magento官方文档。
- 打开客户端的计算机,使用浏览器访问“http://magento服务器IP地址”,显示如下图所示的默认界面。
- 使用浏览器访问“http://magento后台管理地址”,并使用配置Magento过程中设置的管理账号和密码登录,登录成功后显示如下图所示的界面。
如果登录后界面提示“One or more indexers are invalid. Make sure your Magento cron job is running.”的错误信息,可在Magento根目录“/var/www/html”执行php bin/magento indexer:reindex命令。
更多关于Magento配置信息,请参见Magento官方文档。