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. 2017 清北济南考前刷题Day 5 afternoon

    期望得分:100+100+30=230 实际得分:0+0+0=30 T1 直接模拟 #include<cstdio> #include<iostream> using name ...

  2. 蓝桥杯 算法提高 学霸的迷宫 经典BFS问题

      算法提高 学霸的迷宫   时间限制:1.0s   内存限制:256.0MB      问题描述 学霸抢走了大家的作业,班长为了帮同学们找回作业,决定去找学霸决斗.但学霸为了不要别人打扰,住在一个城 ...

  3. CloseableHttpClient与 CloseableHttpResponse应用

    最近在使用Apache的httpclient的时候,maven引用了最新版本4.3,发现Idea提示DefaultHttpClient等常用的类已经不推荐使用了,之前在使用4.2.3版本的时候,还没有 ...

  4. PyQt4 里的表格部件的使用方法: QTableWidget

    PyQt4 里的表格部件的使用方法: QTableWidget QT下QTableWidget使用方法小结 - - 博客频道 - CSDN.NET http://blog.csdn.net/jingz ...

  5. IOC轻量级框架之Unity

    任何事物的出现,总有它独特的原因,Unity也是如此,在Unity产生之前,我们是这么做的 我们需要在一个类A中引用另一个类B的时候,总是将类B的实例放置到类A的构造函数中,以便在初始化类A的时候,得 ...

  6. CodeForces 816C 思维

    On the way to school, Karen became fixated on the puzzle game on her phone! The game is played as fo ...

  7. Linux环境下如何查看内存CPU和GPU使用情况以及界面标题栏实现

    查看内存和CPU    单独查看内存使用情况的命令:free -m    查看内存及cpu使用情况的命令:top    也可以安装htop工具,这样更直观,    安装命令如下:sudo apt-ge ...

  8. Spring4笔记12--SSH整合3--Spring与Struts2整合

    SSH 框架整合技术: 3. Spring与Struts2整合(对比SpringWeb): Spring 与 Struts2 整合的目的有两个: (1)在 Struts2 的 Action 中,即 V ...

  9. vi 编辑器使用技巧

    1.由命令"vi --version"所显示的内容知vi的全局配置文件 2.显示行号   ,非编辑模式输入 : set nu 3.显示颜色 1)在文件中找到 "synta ...

  10. mybatis查询参数为0时无法识别问题

    最近在工作中遇到一个mybatis参数问题,主要是列表查询按照状态进行过滤,其中已完成状态值是0,被退回是1.如图所示 , 然后Mapper里面是和平常一样的写法<if test="s ...