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 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 0
发起讨论 只看当前版本


暂无话题~