2.2. 安装 Laravel-Shop
安装 Laravel Shop
本课程的代码是在课程五的代码 Laravel Shop 为基础开发的,因此需要先将 Laravel Shop 安装到 Homestead 中。
1. 新增站点
学习过课程五的同学可以跳过这一步。
首先我们需要在 Homestead 中创建一个新的站点,在 Homestead 的配置文件中添加站点和数据库:
~/Homestead/Homestead.yaml
sites:
- map: shop.test
to: /home/vagrant/Code/laravel-shop/public
.
.
.
databases:
- homestead
- laravel-shop
features:
- mysql: true
然后还需要配置本机 hosts 文件,将 shop.test
指向 Homestead 虚拟机 IP,具体操作请参考 Laravel 开发环境部署。
使用下面命令来重启 Homestead:
> cd ~/Homestead
> vagrant up --provision
2. 创建代码仓库
由于本课程后面的章节需要将代码部署到服务器,因此每个同学都需要有自己的代码仓库。
这里我们使用 Github 的 Import 而不是 Fork 来复制仓库,是因为 Github 限制每个用户对一个仓库只能 Fork 一次,有些学习过课程五的同学之前已经 Fork 过这个仓库,就无法再次 Fork 了。
访问 github.com/new/import ,在 Your old repository’s clone URL
框中填入 https://github.com/summerblue/laravel-shop
,Name
填入 laravel-shop-advanced
,然后点击 Begin import
按钮:
然后 Github 就会开始从原仓库克隆代码:
稍等一会儿,页面提示已经克隆完成:
点击链接进入仓库页面并切换到 Settings 标签页,将默认分支改成 L05_8.x
:
下图以 L05_7.x 为例,请选择本课程对应的版本 ——
L05_8.x
。
完成后返回到 Code 标签页,可以看到默认分支已变更,>下图以 L05_7.x 为例,你的应该是 L05_8.x
:
3. 克隆代码
点击 Code
按钮,如果默认不是 SSH 形式需要切换成 SSH,然后复制框中的地址:
接下来我们要在 Homestead 中克隆代码:
$ cd ~/code/
$ git clone {刚刚复制的仓库地址} laravel-shop
学习过课程五的同学在目录下可能已经存在
laravel-shop
目录,我建议先把原来的目录删除或者重命名为laravel-shop-old
,然后再执行克隆操作。
克隆完成之后我们通过 git branch
命令确认当前分支,上图以 L05_7.x 为例,你的应该是在 L05_8.x
分支上。
4. 安装 PHP 依赖
现在我们来安装一下项目依赖,在此之前我们先在虚拟机中运行以下命令来实现 Composer 安装加速 :
$ composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
然后进入项目目录并使用 composer 安装依赖:
$ cd ~/code/laravel-shop
$ composer install
5. 安装 Nodejs 依赖
接下来我们安装一下 Nodejs 依赖,同样先配置镜像加速:
$ yarn config set registry https://registry.npm.taobao.org
然后使用 yarn 命令安装 Nodejs 依赖:
$ SASS_BINARY_SITE=http://npm.taobao.org/mirrors/node-sass yarn
这个过程可能会比较久,需要耐心等待。
安装完成之后我们来编译一下前端代码:
$ yarn dev
6. 配置 .env 文件
接下来我们需要配置一下 .env
文件,先从 .env.example
复制一份出来:
$ cp .env.example .env
然后修改 .env
文件:
.env
APP_NAME="Laravel Shop"
.
.
.
APP_URL=http://shop.test
.
.
.
DB_DATABASE=laravel-shop
DB_USERNAME=homestead
DB_PASSWORD=secret
.
.
.
QUEUE_CONNECTION=redis
.
.
.
MAIL_MAILER=smtp
MAIL_HOST=127.0.0.1
MAIL_PORT=1025
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=shop@shop.test
MAIL_FROM_NAME="${APP_NAME}"
.
.
.
然后我们通过 Laravel 的命令自动生成 APP_KEY
值:
$ php artisan key:generate
7. 创建软链
接下来我们需要在 public
目录下创建一个连到 storage/app/public
目录下的软链接:
$ php artisan storage:link
8. 初始化数据库
学习过课程五的同学需要先清空数据库:
php artisan migrate:fresh && php artisan migrate:reset
,然后继续后面的操作。
现在执行数据库迁移:
$ php artisan migrate
然后导入管理后台数据:
$ php artisan db:seed --class=AdminTablesSeeder
接下来创建后台用户:
$ php artisan admin:create-user
注:输入密码的时候并不会有回显,输入密码之后回车即可。
现在访问后台 shop.test/admin/auth/login 用刚创建的用户登录:
9. 访问应用
接下来我们在浏览器地址栏输入 shop.test ,应该能看到如下界面: