Magento2是比较成熟的电商系统,其在安全性,稳定性,可扩展性上一直被被推崇,在全球范围内都是很流行的PHP电商系统,到目前为止,全球500强企业,很多都采用了Magento作为其电商解决方案.遗憾的是,Magento在国内并不流行,中文资料要么太少,要么太久,本系列的目标就是给具有一定php基础的技术人员普及Magento的相关开发知识.推动Magento的在国内的发展.Magneto2和Magento1的区别较大,框架底层有了很大变化,一般来讲是不兼容的,现在Magento2是比较流行的方案,本系列以Magento2作为讨论内容.
一、预备条件:
- php知识—-本系列不打算设计基础的php知识,因为Magento框架大量使用了php的设计模式,反射,缓存等知识,学习Magneto开发,需要读者具备3年左右的php开发经验,否则对您理解Magento会有一定的难度.当然,如果您以Magento为切入点,学习php的相关的高级使用,也是个比较好的切入点.
- 电脑环境—-Magento以模块化,安全性,可扩展性著称,大量的东西都是可配置的,其副作用就是代码比较重,运行效率不高.所以,缓存的使用是Magento必不可少的环节,尤其在开发环境,大量的预编译的文件需要一次一次的生成,这就要求开发机有较好的性能和较为完备的环境,目前看来ubuntu环境下使用现成的docker容器是较为方便的方式,ubuntu本身的资源消耗就比windows小些,使用docker也更为方便,当然如果您可以选择 windows+docker,或者windows下使用virtrualBox来模拟ubuntu系统,或者直接双系统,windows+ubuntu都是可以的,相关资料网上也有很多,本系列以ubuntu+docker环境来作为开发环境.
- 网络环境—-对于任何一个有志于Magento开发的技术人员来说,查询一些英文资料是绕不过去的需求,中文的资料很旧也很少,所以,如果你解决不掉这个问题,那么你的学习和研究会遇到很多困难,这里不再详细介绍解决方式,网上大家找找,其实有很多成熟的办法.幸运的是,在本系列中用到的网站如github.com,magento.com是可以直接访问的,只是有点”慢”.
- 相关技能—-除了php外,本系列的教程中会根据Magento开发的需要涉及到git,docker,redis,elasticsearch,基础的linux操作等等,我会把常用的操作命令总结出来,百分之80的情况下,你只需要记住我给您总结的命令就足够了,但是,本系列不会深入的探究其相关的原理和高级用法,如果各位有兴趣,请下来后自行研究学习.
另外,作为一个多年的码农,为了工作方便,我的标点符号一直都是英文标点,如果看文章的时候,您感觉别扭,请千万原谅,谢谢!
二、开始干活
- 安装ubuntu和docker环境—-安装ubuntu这里就不再叙述了,大家找找相关资料.按着做就好了,版本也没有特别要求,16.xx,18.xx的版本都可以.安装好系统后,大家就需要安装docker,
- 什么是docker? 好多新人不太明白docker到底是什么东西,那简单的讲,docker就是一个隔离环境,可以把你需要安装的软件和现有的系统隔离开,你启动了docker,那docker内关联的相关软件就能用了,你停止了docker,系统也不会因为你安装的软件有什么变化,从这个意义上讲,docker也被称为容器,把需要的软件都放在一个盆盆罐罐里,端出来就能用,拿走就没有痕迹,docker重要的特性是可以根据配置文件来自动安装加载容器中所需要的软件,一旦装好了,下次就直接启动,不需要从新安装了,所以,你可以直接从网上下载装好软件的docker,也可以拿着别人写好的配置文件,在你本机进行初始化,这一点上比虚拟主机方便了很多.当然docker需要的资源也比虚拟机少很多.
- 怎么装docker?
ubuntu下你只需要执行命令
sudo apt-get install docker
如果有人觉得ubuntu自带的docker版本比较旧,也可以直接去docker网站下载安装最新的docker,在本系列中,这已经够了.
安装完docker后,你还需要安装一个东西叫docker-compose.
- 什么是docker-compose?很多人用docker的时候,喜欢把不同功能的软件放在不同的docker里,然后docker和docker之间需要通信,那就需要一些设置.docker-compose可以帮助你很简单的来了设置docker之间的关系,加载相关的软件.启动多个docker等,它是docker的一个辅助工具.
- 怎么安装docker-compose
首先你的把它拉下来安装
sudo curl -L "https://github.com/docker/compose/releases/download/1.23.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
然后你需要给它个权限,让它可以运行
sudo chmod +x /usr/local/bin/docker-compose
为了翻遍不同的系统环境的差异,你可以给一个软链接到不同目录,这样什么情况下都能找到它
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
然后,就可以用啦,你敲个命令试试能运行不.
$ docker-compose --version docker-compose version 1.23.2, build 1110ad01
好了.现在需要的软件已经安装完成了.下一步,为了方便,我们去github上拉取别人为了Magento开发而做好的docker,拉下来就能用,我们就不用自己配置环境了,方便呀.
打开网址
https://github.com/clean-docker/Magento2 ,你可以看到这是个已经配置好的专门为Magento开发准备的docker容器,里面介绍了一个简单的方法,安装这个容器,就是执行命令行:
curl -s https://raw.githubusercontent.com/clean-docker/Magento2/master/init | bash -s MYMAGENTO2 clone
这里的curl是个功能很强大的网络工具,你不需要安装,ubuntu已经装好了,它可以帮你下载docker,这个命令里的MYMAGENTO2是文件夹的名字,你在什么路径执行这个命令,就会在什么路径下生成这么一个目录,你也可以改改名字.这个命令执行后,会自动拉取这个docker的配置.然后在你的机子上生成一个php的开发环境,运行完后就是这个样子的.为了讲述方便,我们统一把这个目录放在/var/www下吧,在ubuntu的命令行执行
cd /var mkdir www cd www
然后在这里执行
curl -s https://raw.githubusercontent.com/clean-docker/Magento2/master/init | bash -s MYMAGENTO2 clone
执行后的结果是这样的
看到没,现在你访问localhost就可以打开phpinfo的页面了.Magento相关的php环境通过docker已经装好了.进入MYMAGENTO2文件夹,你可以看到有已经编好的shell脚本和docker配置文件,你先运行一下那个init脚本吧,它帮你初始化了docker一些配置.在MYMAGENTO2文件夹里面点右键,选择”在终端打开”,然后运行命令.
./init
2,安装Magento
上面安装好的是Mangnto的环境,下面你需要安装Mangento的代码啦.其实在前面我们安装的docker里提供了命令行安装magento的方式,你看看github上容器页面的说明能发现介绍的方式是
cd MYMAGENTO2 ./shell rm index.php install-magento2
很遗憾的是,我测了很多次,速度都相当慢,所以我们用用笨办法吧,自己去下载一个magento2的源码来安装,MYMAGENTO2文件夹里的src里是php源码放置的位置,现在只有一个index.php.我们现在要去下载magento代码
打开
https://magento.com/tech-resources/download.然后在Full Release (ZIP with no Sample Data)栏目下选择一个最新的源代码下载,这个是带示例数据的
当你点击下载的时候,会要求你注册,你就乖乖的注册把,有200多m,这个时候如果你很慢,那除了等待也没有其他办法了.
下载完成后,,将下载的安装包在/var/www/magento2/src下解压,解压前清空目录里,注意哦,别在src下再加一层目录了,另外,如果你是直接复制粘贴的话,小心,源码目录下有些隐藏文件,要一起复制过去哦.或者直接就解压到src下也可以,解压后运行 http://localhost/setup,这个时候就弹出magento代码的安装步骤了,乖乖的按照人家要求一步一步的点击吧.
在配置数据库连接的时候,需要注意的是,你需要提前在phpmyadmin里建立一个数据库,如下图
然后在安装步骤里配置数据库连接
这里的db是docker容器里的数据库连接,不是localhost哦,默认的root密码也是root,然后一路向下点击吧,在这里配置的是后台连接地址
你怕记不住这个后台链接地址的话,你就直接在这里改成admin就好了
下一步可以选择语言哦,不过老实说magento的汉化确实不好,我这里就直接还是用英语版本就好了
然后设置一个admin账号吧,反正你是为了本机开发用,不如设置成admin和admin123?
配置完成,然后就可以开始安装了,看着你的硬盘灯哗哗的闪着,我的机子装了1分多种,你呢,有点耐心吧.看到下面的页面就可以长出一口气了
这个时候打开http://localhost,Magento的前台页面就能显示出来了,还不错是吧,也可以点击后台登录看看,但是现在你还只能看看,如果要开发还要很多设置才可以呢,在下一节将为大家讲解Mangento2的代码结构,docker容器的基本操作和开发准备的设置工作.
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台用户上传并发布,不构成投资建议请自行甄别,如有侵权请联系删除:liaycn@163.com
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of the site, which is a social media platform and only provides information storage services.