华为云搭建部署Magento电商网站

华为云搭建部署Magento电商网站

3.1 申请弹性云主机

3.1.1购买云主机,选择对应的规格和镜像等

file

3.1.2 创建成功

file

3.2 实验环境配置

3.2.1 放行云主机绑定的安全组的规则,放行22、3306、80端口

file

3.3 安装配置LAMP平台
3.3.1 用xshell登录云主机

file

3.3.2 更新软件包
yum -y update

file

3.3.3 清理缓存,重新生成缓存
yum clean all && yum makecache

file

3.3.4 安装httpd服务
yum -y install httpd

file

3.3.5 配置mariadb的yum仓库
cat > /etc/yum.repos.d/mariadb.repo <<EOF
[mariadb]
name=mariadb
baseurl=https://mirrors.aliyun.com/mariadb/yum/10.4/centos/7/x86_64/
gpgcheck=0
enable=1
EOF

file

3.3.6 生成缓存并安装mariadb
yum makecache
yum -y install mariadb mariadb-server

file

3.3.7 启动httpd和mariadb服务,并设置开机自启
# --now表示现在启动该服务
systemctl enable httpd --now
systemctl enable mariadb --now

file

3.3.8 修改/etc/httpd/conf/httpd.conf文件,
# 查找指定AllowOverride所在范围,并将对应范围赋给nums
nums=$(grep -En '<Directory "/var/www/html">|</Directory>' \
/etc/httpd/conf/httpd.conf | grep -E -A 1 '<Directory "/var/www/html">'\
| cut -d: -f1 | xargs | sed 's/ /,/g')
# 通过nums,即指定的行范围,修改AllowOverride None为AllowOverride all
sed -ri "${nums}s/( *[^#] AllowOverride) .*/\1 all/g" /etc/httpd/conf/httpd.conf
# 查看是否修改成功
sed -rn "${nums}{/ *[^#] AllowOverride/p}"  /etc/httpd/conf/httpd.conf
# 或者用grep
grep -Ev "^#|^$| *#" /etc/httpd/conf/httpd.conf | grep -C3 "AllowOver"

file

3.3.9 在行末添加对应配置,加载相应模块,查看是否添加成功
echo "LoadModule rewrite_module modules/mod_rewrite.so" \
>> /etc/httpd/conf/httpd.conf
tail -n 1 /etc/httpd/conf/httpd.conf 

file

3.3.10 加固mariadb
mysql_secure_installation

file

注:mariadb没有初始密码,而MySQL安装完后有初始密码,初始密码通过grep 'temporary password' /var/log/mysqld.log得到

3.3.11 安装相应的rpm包,获取yum源配置文件
# epel库云主机自带
yum -y install epel-release
# 安装php相应的yum仓库
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

file

3.3.12 安装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

file

3.3.13 安装完后,查看php的版本
php -v

file

3.3.14 修改 PHP 配置文件
# 修改memory_limit
sed -ri "s/(memory_limit =).*/\1 256M/g" /etc/php.ini
# 修改date.timezone,取消注释,并修改时区为上海
sed -ri "s/^; *(date\.timezone =)/\1 Asia\/Shanghai/g" /etc/php.ini
3.3.15 查看是否修改成功
grep -E "memory_limit|date\.timezone"  /etc/php.ini

file

3.3.16 重启httpd服务
systemctl restart httpd

file

3.4 创建数据库

3.4.1 登录数据库,并创建一个数据库,为数据库创建用户并为用户分配数据库的完全访问权限,然后退出数据库
# ASD123asd为密码,magento_42zjd为数据库,mgtuser_42zjd为用户,请自行替换
mysql -uroot -pASD123asd
create database magento_42zjd;
grant all on magento_42zjd.* to mgtuser_42zjd@localhost identified by "ASD123asd";
exit

file

3.4.2 验证数据库和用户是否已成功创建,并退出 数据库命令行
# ASD123asd为密码,magento_42zjd为数据库,mgtuser_42zjd为用户,请自行替换
mysql -umgtuser_42zjd -pASD123asd
show databases;
exit;

file

3.5 安装配置 Composer

Composer是 PHP 用来管理依赖(dependency)关系的工具。你可以在自己的项目中声明所依赖的外部工具库(libraries),Composer 会帮你安装这些依赖的库文件。

composer官方下载地址

[github下载地址](Releases · composer/composer)

3.5.1 下载composer

下载composer,根据下载速度,选择下面两种的其中一种下载即可

  • 用github代理站下载composer
wget https://gh-proxy.com/github.com/composer/composer/releases/download/1.8.4/composer.phar
  • 通过官网下载composer
wget https://getcomposer.org/download/1.8.4/composer.phar

file

3.5.2 赋予其执行权限,并将其移到到/usr/bin/目录下,并重命名为composer
chmod +x composer.phar 
mv composer.phar /usr/bin/composer

file

3.5.3 验证composer是否安装成功
composer -v

file

3.5.4 安装git
yum -y install git

file

3.5.5 通过cd /var/www/html切换到对应目录下,克隆整个magento2仓库
cd /var/www/html
#若改代理站速度较慢,请自行查找代理站
git clone https://gh-proxy.com/github.com/magento/magento2.git
#备用 git clone https://ghp.ci/github.com/magento/magento2.git

file

3.5.6 通过 cd进 入 magento2文件夹下,然后通过 git checkout -b强制把 magento的版本切换到 2.1.0的稳定版,并将安装文件移到 Web 服务器的根目录下
cd magento2 && git checkout tags/2.1.0 -b 2.1.0
# shopt -s [optname ...] 启用该选项
# 1 shopt命令是 set命令的一种替代,很多方面都和 set命令一样,但它增加了很多选项。可以使用“- p”选项来查看 shopt选项的设置,“-u”开关表示一个复位的选项,“-s”表示选项当前被设置。
# 2 dotglob:Bash在文件名扩展的结果中包括以点(.)开头的文件名
# 3 nullglob:如果设置,bash允许没有匹配任何文件的文件名模式扩展成一个空串,而不是他们本身
shopt -s dotglob nullglob && mv /var/www/html/magento2/* /var/www/html/ && cd ..

file

其它方法安装magento(3.5.6 3.5.7 3.5.8做了的请忽略,该方法可以更快的下载magento)

# 通过github下载magento源码包
# wget https://github.com/magento/magento2/archive/refs/tags/2.1.0.tar.gz
# 通过github代理站下载magento源码包,若代理站失效,请自行查找代理站,或通过其它手段下载
wget https://gh-proxy.com/github.com/magento/magento2/archive/refs/tags/2.1.0.tar.gz

file

shopt -s dotglob nullglob && mv /var/www/html/magento2-2.1.0/* /var/www/html/

file

注:shopt -s dotglob nullglob一定要做,不然移动目录时会缺失一些文件,导致最后的管理界面访问失败,其会提示:

Not Found The requested URL /admin_1b40w7/ was not found on this server

3.5.7 设置 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;

file

chown -R :apache /var/www/html

//通 过 chown –R修改指定目录和子目录下所有文件权限,该命令用于修改 apache根目录权限

find /var/www/html -type f -print0 | xargs -r0 chmod 640

//查 找 html 目录下所有文件,并把权限修改为 640(rw-r—–)用户可读可写,用户组可读,其他无权限

find /var/www/html -type d -print0 | xargs -r0 chmod 750

//查找 html 目录下所有目录,权限修改 750(rwxr-x—)用户可读可写可执行,用户组可读可执行,其他无权限

chmod -R g+w /var/www/html/{pub,var}

//修 改 html目录下 pub 目录和 var 目录下所有文件权限为用户组可写

chmod -R g+w /var/www/html/{app/etc,vendor}

//修 改 html目录下 app/etc目录和 vendor目录下所有文件权限为用户组可写

chmod 750 /var/www/html/bin/magento

//修 改 html目录下 bin/magento 权限 750(rwxr-x—)用户可读可写可执行,用户组可读可执行,其他无权限

3.6 安装配置 Magento

3.6.1 切换到/var/www/html目录下,安装Magento
cd /var/www/html;composer install

file

3.6.2 安装成功

file

3.6.3 复制云主机的公网ip

file

3.6.4 访问云主机的公网ip

file

3.6.5 进行环境检查

file

3.6.6 填写数据库信息

file

3.6.7 web配置

file

3.6.8 配置时区、货币、语言

file

3.6.9 配置管理员账号

file

3.6.10 进行安装,安装成功

file

3.6.11 重新设置 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;

file

3.7 实验环境测试-添加cron作业

3.7.1 以apache用户配置定时任务
crontab -u  apache -e

file

3.7.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

file

3.8 Magento商城个性化设计

3.8.1 访问用户界面

file

3.8.2 访问管理员界面

file

3.8.3 登录后界面提示“One or more indexers are invalid. Make sure your Magento cron job is running.” 的 错 误 信 息 , 可在 Magento 根目录 “/var/www/html” 执行php bin/magento indexer:reindex命令

file

3.8.4 成功登录管理界面

file

3.8.5 进入用户界面创建用户

file

3.8.6 创建成功

file

3.8.7 进入管理界面,创建商品

file

3.8.8 配置用户界面

file

3.8.9 查看用户界面

file

3.9 释放资源

file

4. 问题汇总

4.1 安装centos7自带的mariadb版本过低

4.1.1 问题

file

4.1.2 解决方案
4.1.2.1 法一:参照参考文档,安装MySQL5.6以上版本
4.1.2.2 法二:自行配置mariadb yum仓库
cat > /etc/yum.repos.d/mariadb.repo <<EOF
[mariadb]
name=mariadb
baseurl=https://mirrors.aliyun.com/mariadb/yum/10.4/centos/7/x86_64/
gpgcheck=0
enable=1
EOF

8

4.2 php扩展包缺失

4.2.1 问题

5-1

4.2.2 原因
4.2.2.1 直接复制粘贴文档的内容,由于其会换行,导致其缺失一些php扩展包
4.2.2.2 缺失php扩展包,不会影响其版本信息查看

3-1

4.2.3 解决方案

4.2.3.1 重新安装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

file

4.2.3.2 重新进行检查,发现还是缺扩展

file

4.2.3.3 重启云主机
reboot

file

4.2.3.4 重新访问安装界面,环境检查成功

file

4.2.3.5 后续照着前面配置,magento安装成功,可以访问管理界面

file

本文由博客一文多发平台 OpenWrite 发布!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值