基于 Laravel 开发博客应用系列 —— 项目必备软件安装
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 组件:
- Ubuntu 14.04
- PHP 5.6
- HHVM
- Nginx
- MySQL
- PostgresSQL
- Node(包括Bower、Grunt和Gulp)
- Redis
- Memcached
- Beanstalked
- Laravel Envoy
- Fabric + HipChat扩展
除此之外,使用 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 开发博客应用系列 —— 项目必备软件安装的更多相关文章
- 基于 Laravel 开发博客应用系列 —— 设置 Windows 本地开发环境
1.安装原生PHP 下载/解压 PHP 到 PHP 下载页下载最新版本的 PHP(如果使用 Laravel 5.1 的话需要 PHP 5.5.9+ 版本),解压下载的zip格式压缩文件到本地目录,比如 ...
- 基于 Laravel 开发博客应用系列 —— 从测试开始(一):创建项目和PHPUnit
1.创建博客项目 我们将遵循上一节提到的六步创建一个新 Laravel 5.1 项目的步骤,创建本节要用到的博客项目 —— blog. 首先,在本地主机安装应用骨架: nonfu@ubuntu:~/C ...
- 基于Laravel开发博客应用系列 —— 构建博客后台管理系统
一个完整的博客应用不能没有后台管理系统.所以在本节中我们将继续完善博客应用 —— 开发后台管理系统. 1.创建路由 在上一节十分钟创建博客项目中,已经设置过了 app/Http/routes.php, ...
- 基于Laravel开发博客应用系列 —— 使用Bower+Gulp集成前端资源
本节我们将讨论如何将前端资源集成到项目中,包括前端资源的发布和引入.本项目将使用 Bower 和 Gulp 下载和集成jQuery.Bootstrap.Font Awesome 以及 DataTabl ...
- 基于Laravel开发博客应用系列 —— 十分钟搭建博客系统
1.创建文章数据表及其模型(0:00~2:30) 我们已经在上一节中为博客项目完成了大部分准备工作,现在首先要做的就是为这个项目创建一个新的文章表 posts及该表对应的模型类 Post,使用如下Ar ...
- 基于 Laravel 开发博客应用系列 —— Homestead 和 Laravel 安装器
1.Homestead 从主机操作系统的控制台中(Windows 中被称作命令提示符,Linux 中被称作终端),你可以轻松通过不带参数的homestead 命令查看所有有效的 Homestead 命 ...
- 基于 Laravel 开发博客应用系列 —— 设置 Linux/Mac 本地开发环境
1.不同 Linux 发行版本的区别 不同的 Linux 发行版本之间有一些细微区别,尤其是包管理器:CentOS 和 Fedora 使用 yum 作为包管理器,而Ubuntu 使用 apt,在 O ...
- 基于 Laravel 开发博客应用系列 —— 从测试开始(二):使用Gulp实现自动化测试
3.使用 Gulp 进行 TDD(测试驱动开发) Gulp 是一个使用 JavaScript 编写的自动化构建工具.用于对前端通用任务(如最小化.压缩.编译)进行自动构建.Gulp 还可以用来监控源代 ...
- 基于.NetCore开发博客项目 StarBlog - (2) 环境准备和创建项目
系列文章 基于.NetCore开发博客项目 StarBlog - (1) 为什么需要自己写一个博客? 基于.NetCore开发博客项目 StarBlog - (2) 环境准备和创建项目 ... 基于. ...
随机推荐
- CSS3实战之background篇
在CSS3中,background可以添加多个背景图像组,背景图像之间通过逗号进行分隔. 每个背景图像层都可以包含下面的值 background-image 定义背景图像 background-col ...
- Java解决LeetCode72题 Edit Distance
题目描述 地址 : https://leetcode.com/problems/edit-distance/description/ 思路 使用dp[i][j]用来表示word1的0~i-1.word ...
- 深入浅出JavaScript之跨域总结
什么是跨域 1.document.domain+iframe的设置 2.动态创建script 3.利用iframe和location.hash 4.window.name实现的跨域数据传输 5.使用H ...
- Caffe的loss layer(转)
英文可查:地址 1.SoftmaxWithLoss 对一对多的分类任务计算多项逻辑斯蒂损失,并通过softmax传递预测值,来获得各类的概率分布.该层可以分解为SoftmaxLayer+Multino ...
- 定价(Price)
传送门 [题目描述] 在市场上有很多商品的定价类似于 999 元.4999 元.8999 元这样.它们和 1000 元.5000 元和 9000 元并没有什么本质区别,但是在心理学上会让人感觉便宜很多 ...
- UVA1386 【Cellular Automaton】题解
题面:UVA1386 Cellular Automaton 矩阵乘法+快速幂解法: 这是一个比较裸的有点复杂需要优化的矩乘快速幂,所以推荐大家先做一下下列洛谷题目练练手: (会了,差不多就是多倍经验题 ...
- PHP编程效率的20个要点-[转]
用 单引号代替双引号来包含字符串,这样做会更快一些.因为PHP会在双引号包围的字符串中搜寻变量,单引号则 不会,注意:只有echo能这么做,它是一种可以把多个字符 串当作参数的“函数”(译注:PHP手 ...
- python作业ATM(第五周)
作业需求: 额度 15000或自定义. 实现购物商城,买东西加入 购物车,调用信用卡接口结账. 可以提现,手续费5%. 支持多账户登录. 支持账户间转账. 记录每月日常消费流水. 提供还款接口. AT ...
- js之事件冒泡和事件捕获及其阻止详细介绍
虽然精通jquery,但对它的原型javascript却不是很了解,最近在学习javascript中遇到了一些困难,比如冒泡和捕获,很多次被提到,但又不知究竟应用在何处.找到了一些好文章解惑,在这里分 ...
- Dream------spark--spark集群的环境搭建
1.下载安装scala http://www.scala-lang.org/download/2.11.6.html 2.解压下载后的文件,配置环境变量:编辑/etc/profile文件,添加如下 ...