2. 基础项目 Larabbs

说明#

为了方便,我们将会使用 LaraBBS 作为基础项目,来配合讲解课程要点。

本课程属于知识型教程,不要求您像实战课程一样一步步跟着操作。当然,有条件的情况下,还是建议您跟着操作,这样会加深记忆。

接下来开始在本地安装此项目。

注:学习过 L02 的同学,如果你已经部署好了 LaraBBS 的开发环境,可以跳过这一步。

开发环境#

我们有专门的文档来讲解开发环境布置,请前往学习此课程:Laravel 开发环境部署

做好准备#

由于我们接下来的开发都会在 Homestead 上进行,因此,在开始本章教程之前,请保证你的 Homestead 虚拟机已成功开启并登录。使用下面命令来启动和登录 Homestead:

> cd ~/Homestead && vagrant up
> vagrant ssh

在虚拟机中进入 Code 文件夹:

$ cd ~/Code

注意:本书中因为虚拟机的存在,我们会有两个运行命令行的环境,一个是主机,另一个是 Homestead 虚拟机。我们会在命令的前面使用『命令行提示符』来区分主机和 Homestead。请记住以 > 开头的命令是运行在主机里,$ 开头的命令是运行在 Homestead 虚拟机里。详见 写作约定 - 命令行提示符。

Composer 加速#

在创建项目之前,我们先在虚拟机中运行以下命令来实现 Composer 安装加速 :

$ composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/

安装 LaraBBS 应用#

我们需要检出 LaraBBS 项目源码:

$ cd ~/Code
$ git clone https://github.com/summerblue/larabbs
$ cd larabbs
$ git checkout L02_8.x
$ composer install

file
中间省略掉安装细节…
file

修改 hosts#

每个 Laravel 项目创建完成后的第一步,即是对 Homestead 进行配置,让应用能在 Homestead 的开发环境上跑起来。

为了方便记忆,一般我们都会将 IP 映射为域名,我们能够通过设置 hosts 文件来指定 IP 与域名之间的映射关系,由于我们在 Homestead 上默认使用 192.168.10.10 来作为虚拟机的 IP 的地址,因此我们需要在系统的 hosts 文件中将域名指向该 IP 上。

Mac 下打开 Hosts 文件:

> subl /etc/hosts

Windows 下打开 Hosts 文件:

> subl C:/Windows/System32/Drivers/etc/hosts

Windows 下,如果你没有集成 subl 命令的话, 请使用编辑器直接打开文件,文件路径在 C:\Windows\System32\Drivers\etc\hosts 。

文件成功打开后,在 hosts 文件最后面新增下面一行以完成设置:

192.168.10.10   larabbs.test

因为最近 .dev .app 域名在谷歌浏览器中被强制转跳到 https,所以我们使用 .test。

新增站点#

如果你安装了 Sublime Text,可通过运行下面命令打开 Homestead.yaml 文件:

> subl ~/Homestead/Homestead.yaml

在 Homestead.yaml 文件中新增 larabbs 应用的 sites 和 databases 的相关设置:

---
ip: "192.168.10.10"
memory: 2048
cpus: 1
provider: virtualbox

authorize: ~/.ssh/id_rsa.pub

keys:
    - ~/.ssh/id_rsa

folders:
    - map: ~/Code
      to: /home/vagrant/Code

sites:
    - map: homestead.app
      to: /home/vagrant/Code/Laravel/public
    - map: larabbs.test # <--- 这里
      to: /home/vagrant/Code/larabbs/public # <--- 这里

databases:
    - homestead
    - larabbs # <--- 这里

variables:
    - key: APP_ENV
      value: local

# blackfire:
#     - id: foo
#       token: bar
#       client-id: foo
#       client-token: bar

# ports:
#     - send: 93000
#       to: 9300
#     - send: 7777
#       to: 777
#       protocol: udp

我们主要设置了 sitesdatabases 两项。 sites 会将域名 larabbs.test 映射到虚拟机的 /home/vagrant/Code/larabbs/public 文件夹上,而 databases 则为新创建的项目指定数据库名。

重启虚拟机#

在我们每次对 Homestead.yaml 文件进行了更改之后,都需要运行下面命令来使其更改生效:

> cd ~/Homestead && vagrant provision && vagrant reload
  • vagrant provision 是命令 Vagrant 重新加载 Homestead.yaml 配置;
  • vagrant reload 是重启虚拟机使更改生效。

.env 文件#

复制一份 .env

$ cp .env.example .env

接下来,我们还需要对应用根目录下的 .env 文件进行设置,为应用指定数据库名称 larabbs,在配置一下邮件,方便测试。

.env

.
.
.
APP_URL=http://larabbs.test
.
.
.
DB_DATABASE=larabbs
DB_USERNAME=homestead
DB_PASSWORD=secret
.
.
.
MAIL_HOST=localhost
MAIL_PORT=1025

初始化命令#

$ php artisan key:generate
$ php artisan migrate --seed

file

访问应用#

现在让我们在 Chrome 浏览器中打开 larabbs.test 你应该能看到有如下界面显示:

file

本文章首发在 LearnKu.com 网站上。

上一篇 下一篇
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 0
发起讨论 只看当前版本


暂无话题~