1、概述

通过本项目我们将会构建一个简单、清爽、优雅的博客系统,以及维护管理该博客的后台。

本项目源码公开在GitHub上:https://github.com/ChuckHeintzelman/l5beauty,项目作者的博客 LaravelCoding.com 就是基于该博客系统搭建的。

在正式开始之前,我们先安装开发本项目需要安装的一些列软件并设置本地开发环境

2、关于 Laravel Homestead

Laravel 旨在让 PHP 开发变得简单和有趣,为此 Laravel 为开发者提供了打包好的一站式开发环境 —— Laravel Homestead,Homestead 实际上是一个虚拟机,我们使用 Vagrant 管理该虚拟机,并且在该虚拟机底层,我们使用VirtualBox 提供其与主机操作系统之间的交互。

我们可以使用一辆汽车来比喻 Laravel Homestead 的工作原理:Homestead 是这辆车的驾驶座,Vagrant 是车的外部框架(车身),而 VirtualBox 是引擎。一旦 Vagrant 和 VirtualBox 安装好了之后,就不再需要关心它们,所有与虚拟机的交互都是通过 Homestead 来完成。就像是开车的时候,不需要关心车身和引擎,只管坐在驾驶座操作就是了。

需要注意的是 Laravel Homestead 基于 Ubuntu 操作系统,并且为我们预安装了以下必须的软件和 Web 组件:

除此之外,使用 Homestead 的最大好处是可以保证在 Windows、OS X 以及 Linux 系统上具备完全一致的开发环境,免去不同操作系统上软件冲突之忧。

接下来我们逐一安装VirtualBox、Vagrant 和 Laravel Homestead。

3、安装 VirtualBox

安装 Vagrant 之前要求底层安装有用于管理虚拟机的虚拟机软件。如果你已经安装了 VirtualBox、VMWare 或者其它兼容的虚拟机软件可以跳过这一步。如果你还没有安装过任何虚拟机软件,推荐安装 VirtualBox,它是免费的而且可以运行在任何主流平台(Windows、Mac、Linux等)。

去 VirtualBox 官网下载并安装 VirtualBox 到你的操作系统:https://www.virtualbox.org/wiki/Downloads

下载完成后按照安装指南安装VirtualBox。

4、安装 Vagrant

VirtualBox 安装过之后,接下来需要安装 Vagrant。

同样,去 Vagrant 官网下载并安装 Vagrant 到你的操作系统:

Vagrant 安装完成后,需要重启电脑,然后在命令行通过如下查看 Vagrant 版本验证其是否安装成功:

vagrant --version

接下来的几节我们将分别在Windows、Linux及Mac操作系统中配置本地开发环境。

基于 Laravel 开发博客应用系列 —— 项目必备软件安装的更多相关文章

  1. 基于 Laravel 开发博客应用系列 —— 设置 Windows 本地开发环境

    1.安装原生PHP 下载/解压 PHP 到 PHP 下载页下载最新版本的 PHP(如果使用 Laravel 5.1 的话需要 PHP 5.5.9+ 版本),解压下载的zip格式压缩文件到本地目录,比如 ...

  2. 基于 Laravel 开发博客应用系列 —— 从测试开始(一):创建项目和PHPUnit

    1.创建博客项目 我们将遵循上一节提到的六步创建一个新 Laravel 5.1 项目的步骤,创建本节要用到的博客项目 —— blog. 首先,在本地主机安装应用骨架: nonfu@ubuntu:~/C ...

  3. 基于Laravel开发博客应用系列 —— 构建博客后台管理系统

    一个完整的博客应用不能没有后台管理系统.所以在本节中我们将继续完善博客应用 —— 开发后台管理系统. 1.创建路由 在上一节十分钟创建博客项目中,已经设置过了 app/Http/routes.php, ...

  4. 基于Laravel开发博客应用系列 —— 使用Bower+Gulp集成前端资源

    本节我们将讨论如何将前端资源集成到项目中,包括前端资源的发布和引入.本项目将使用 Bower 和 Gulp 下载和集成jQuery.Bootstrap.Font Awesome 以及 DataTabl ...

  5. 基于Laravel开发博客应用系列 —— 十分钟搭建博客系统

    1.创建文章数据表及其模型(0:00~2:30) 我们已经在上一节中为博客项目完成了大部分准备工作,现在首先要做的就是为这个项目创建一个新的文章表 posts及该表对应的模型类 Post,使用如下Ar ...

  6. 基于 Laravel 开发博客应用系列 —— Homestead 和 Laravel 安装器

    1.Homestead 从主机操作系统的控制台中(Windows 中被称作命令提示符,Linux 中被称作终端),你可以轻松通过不带参数的homestead 命令查看所有有效的 Homestead 命 ...

  7. 基于 Laravel 开发博客应用系列 —— 设置 Linux/Mac 本地开发环境

    1.不同 Linux 发行版本的区别 不同的 Linux 发行版本之间有一些细微区别,尤其是包管理器:CentOS 和 Fedora 使用 yum 作为包管理器,而Ubuntu 使用  apt,在 O ...

  8. 基于 Laravel 开发博客应用系列 —— 从测试开始(二):使用Gulp实现自动化测试

    3.使用 Gulp 进行 TDD(测试驱动开发) Gulp 是一个使用 JavaScript 编写的自动化构建工具.用于对前端通用任务(如最小化.压缩.编译)进行自动构建.Gulp 还可以用来监控源代 ...

  9. 基于.NetCore开发博客项目 StarBlog - (2) 环境准备和创建项目

    系列文章 基于.NetCore开发博客项目 StarBlog - (1) 为什么需要自己写一个博客? 基于.NetCore开发博客项目 StarBlog - (2) 环境准备和创建项目 ... 基于. ...

随机推荐

  1. SQL语句(十六)实现集合运算、对数据修改、数据表复制

    (一).集合运算(交.并.补) --(1)Union 并运算 select Sname from Student UNION select Tname From Teacher --(2)INTERS ...

  2. 八、Kafka总结

    一 Kafka概述 1.1 Kafka是什么 在流式计算中,Kafka一般用来缓存数据,Storm通过消费Kafka的数据进行计算. 1)Apache Kafka是一个开源消息系统,由Scala写成. ...

  3. 【转】一个简单的WCF回调实例

    代码下载:http://files.cnblogs.com/AlwinXu/CallbackService-master.zip 本文转自: http://adamprescott.net/2012/ ...

  4. hdu 1254 推箱子(双重bfs)

    题目链接 Problem Description 推箱子是一个很经典的游戏.今天我们来玩一个简单版本.在一个M*N的房间里有一个箱子和一个搬运工,搬运工的工作就是把箱子推到指定的位置,注意,搬运工只能 ...

  5. 【蓝桥杯单片机11】单总线温度传感器DS18B20的基本操作

    [蓝桥杯单片机11]单总线温度传感器DS18B20的基本操作 广东职业技术学院 欧浩源 单总线数字温度传感器DS18B20几乎成了各类单片机甚至ARM实验板的标配模块来,在蓝桥杯的往届省赛和国赛中,这 ...

  6. 爬虫笔记之JS检测浏览器开发者工具是否打开

    在某些情况下我们需要检测当前用户是否打开了浏览器开发者工具,比如前端爬虫检测,如果检测到用户打开了控制台就认为是潜在的爬虫用户,再通过其它策略对其进行处理.本篇文章主要讲述几种前端JS检测开发者工具是 ...

  7. Ubuntu 设置 sudo 开机自启动项 无需输入密码

    如果你想设置一个需要sudo权限执行的开机自启动项,而不需要输入密码,那么你需要把该程序加入  /etc/sudoers 中.要直线这个, 首先执行 sudo visudo ,在文件最后加入下面一行 ...

  8. log4net记录系统错误日志到文本文件用法详解

    log4net是一个完全免费开源的插件,可以去官网下载源码. 一般系统操作日志不会用log4net,自己写代码存入数据库更方便合理,但是系统部署后运行在客户环境,难免会发生系统bug.崩溃.断网等无法 ...

  9. 怎么样通过编写Python小程序来统计测试脚本的关键字

    怎么样通过编写Python小程序来统计测试脚本的关键字 通常自动化测试项目到了一定的程序,编写的测试代码自然就会很多,如果很早已经编写的测试脚本现在某些基础函数.业务函数需要修改,那么势必要找出那些引 ...

  10. 使用python开发一个能够计算带括号的复杂表达式的计算器(只支持加减乘除)

    使用到了模块re,正则,字典等 # 实现简单的加减乘除括号等运算 # Calculator def calculator(expression): print(expression) import r ...