windows 安装 homestead

article/2025/9/15 14:08:13

windows 安装 homestead

参考文档 :

laravel开发环境部署
Windows下Laravel5.5 的 Homestead 开发环境部署
[ Laravel 5.7 文档 ] 快速入门 —— 重量级开发环境:Homestead
git配置私钥(私钥、ssh、公钥)

准备安装

在使用 Homestead 之前,需要先安装 Git 、Virtual Box 5.2、VMWare、Parallels 或 Hyper-V (四选一,我们通常选择 VirtualBox,因为只有它是免费的)以及 Vagrant

下载 Vagrant
下载 VirtualBox
下载 windows版Git

安装Vagrant 需要重启电脑

将 laravel/homestead Box 添加到 Vagrant 中安装

win+R 打开cmd 运行以下命令 安装 homestead Box

vagrant box add laravel/homestead

我下载一直未成功 就参考第一个链接 直接下载 Homestead 虚拟机盒子

下载后的文件为 lc-homestead-6.1.1-2018090400.zip,请对其进行 zip 解压操作,解压成功后可以看到目录 lc-homestead-6.1.1-2018090400,此目录下包含两个文件:

  • virtualbox.box(教程定制化过的 Homestead 盒子)
  • metadata.json(盒子的导入配置文件)

导入Box

在解压目录中 lc-homestead-6.1.1-2018090400 运行以下命令导入 Box:

vagrant box add metadata.json

注意:请必须解压到 非中文路径,有同学反馈中文路径会出现不可预知问题。

安装Git

开头参考文档第三个链接
git配置私钥(私钥、ssh、公钥)

  1. 本地安装好git;

  2. 桌面右键 Git Bash Here 打开git命令行;

  3. ssh-keygen -t rsa -C “nideyouxiang@xxx.com” (全部按enter);

  4. cd ~/.ssh (如果没有执行第三步,则不会有这个文件夹);

  5. cat id_rsa.pub 在命令行打开这个文件,会直接输出密钥;

  6. 复制,打开github ,点自己头像 >> settings >> SSH and GPG keys >>New SSH key

  7. titile 随便写。 key里 粘贴第六步的内容;完成。

步骤三 :
生成 SSH 请将 your_email@example.com 替换为你的邮箱:

> ssh-keygen -t rsa -C "your_email@example.com"
Generating public/private rsa key pair.

命令行会提示让你指定秘钥的名称,按回车键将 SSH Key 保存到默认文件名即可:

Enter a file in which to save the key (/Users/you/.ssh/id_rsa): [Press enter]

接下来会询问你为 SSH Key 设置密码,按回车键即可,默认为空密码:

Enter passphrase (empty for no passphrase): [Type a passphrase]
Enter same passphrase again: [Type passphrase again]

可以都选择默认,一路 Enter 键即可,大致如下:
在这里插入图片描述
这个时候如果我们使用:

> ls -al ~/.ssh

查看的话,会出现:
在这里插入图片描述
SSH 秘钥的两个文件:

  • id_rsa —— SSH 秘钥的 私钥 (Private Key)
  • id_rsa.pub —— SSH 秘钥的 公钥 (Public Key)
    步骤四:
    在这里插入图片描述
    步骤五:
    在这里插入图片描述
    步骤六:
    在这里插入图片描述在这里插入图片描述
    在这里插入图片描述

下载 Homestead 管理脚本

cd ~
> git clone https://git.coding.net/summerblue/homestead.git Homestead

Windows 下,~ 目录代表着 C:\Users\你的用户名,而 ~/Homestead 代表着 C:\Users\你的用户名\Homestead 目录,类似:
https://cdn.learnku.com/uploads/images/201705/15/1/N4gHuniPOo.png

注:我们把 Homestead 放在 ~/Homestead 路径下,为方便后面的讲解,请保持一致。

下载完成之后我们使用命令行进入 Homestead 目录,再使用 Git 检出我们需要的 Homestead 版本:

> cd ~/Homestead
> git checkout v7.8.0

接下来我们需要初始化 Homestead:

> bash init.sh

运行以上命令后,会在 ~/Homestead 目录下生成以下三个文件:

Homestead.yaml - 主要配置信息文件,我们可以在此文件中配置 Homestead 的站点和数据库等信息;
after.sh - 每一次 Homestead 盒子重置后(provision)会调用的 shell 脚本文件;
aliases - 每一次 Homestead 盒子重置后(provision),会被替换至虚拟机的 ~/.bash_aliases 文件中,aliases 里可以放一些快捷命令的定义。
接下来我们将会对 Homestead.yaml 文件的各项配置信息进行详细讲解。

Homestead.yaml 配置文件

Homestead.yaml 文件在 ~/Homestead 文件夹里,在 Git-Bash 里,你可以使用以下命令使用文件夹打开当前命令行所在目录:

> cd ~/Homestead/
> explorer .

可通过运行下面命令快速打开 Homestead.yaml 文件:

> subl ~/Homestead/Homestead.yaml

如果你没有集成 subl 命令的话, 请使用编辑器直接打开文件,文件路径在 C:\Users\a\Homestead文件夹内

Homestead.yaml 里的配置大致可以分为以下几种:

  1. 虚拟机设置;
  2. SSH 秘钥登录配置;
  3. 共享文件夹配置;
  4. 站点配置;
  5. 数据库配置;
  6. 自定义变量;
    接下来我们逐个讲解。

1. 虚拟机设置

Homestead 支持我们对虚拟机的 IP,内存,CPU,虚拟机的默认提供者进行配置。这里我们基本不需要做任何配置,因此可以跳过。

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

2. SSH 秘钥登录配置

authorize 选项是指派登录虚拟机授权连接的公钥文件,此文件填写的是主机上的公钥文件地址,虚拟机初始化时,此文件里的内容会被复制存储到虚拟机的 /home/vagrant/.ssh/authorized_keys 文件中,从而实现 SSH 免密码登录。在这里我们默认填写即可。

authorize: ~/.ssh/id_rsa.pub

keys 是数组选项,填写的是本机的 SSH 私钥文件地址。虚拟机初始化时,会将此处填写的所有 SSH 私钥文件复制到虚拟机的 /home/vagrant/.ssh/ 文件夹中,从而使虚拟机能共享主机上的 SSH 私钥文件,使虚拟机具备等同于主机的身份认证。此功能为 SSH 授权提供了便利,例如在后面章节中,我们只需要在 GitHub 上配置一个 SSH 公钥,即可实现 GitHub 对虚拟机和主机共同认证。

此处我们将公钥和私钥一起同步到虚拟机中:

keys:- ~/.ssh/id_rsa- ~/.ssh/id_rsa.pub

接下来我们来生成 SSH Key,开始之前,我们先使用以下命令来检查主机上是否已经生成过 SSH Key:

ls -al ~/.ssh

在这里插入图片描述
SSH 秘钥的两个文件:

  • id_rsa —— SSH 秘钥的 私钥 (Private Key)
  • id_rsa.pub —— SSH 秘钥的 公钥 (Public Key)

如果没有 请往上翻 安装Git 中的生成SSH。

3. 共享文件夹配置

我们可以通过 folders 来指明本机要映射到 Homestead 虚拟机上的文件夹。

  • map 对应的是我们本机的文件夹,格式例如:E:/Homestead/Code,以开发者实际项目目录为准。
  • to 对应的是 Homestead 上的文件夹。

为了后续课程讲解,请统一配置如下:

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

默认 Homestead 会将我们本机的 ~/Code 文件夹映射到 /home/vagrant/Code 文件夹上。现在我们本机还没有 ~/Code 文件夹,让我们来创建一个:

    > cd ~> mkdir Code

执行成功后,同样的,我们可以通过 explorer . 命令在文件夹中打开此目录:
在这里插入图片描述
在后面的章节中,我们将会在该文件夹下放置我们所有的 Laravel 项目,Homestead 会把该文件夹下的项目自动映射到虚拟机的 /home/vagrant/Code 文件夹上。

4. 站点配置

站点配置允许你在主机里,通过域名来访问虚拟机里的 Laravel 应用。如下面 sites 配置所示,将 homestead.test 映射到一个 Laravel 项目的 public 目录上。这一行配置,会命令 Homestead 为我们新建一个 Nginx 站点,并且把 Web Root 配置到指定目录下。Laravel 应用的 Nginx 站点 Web Root 配置,默认就是在根目录下的 public 目录。

sites:- map: homestead.testto: /home/vagrant/Code/Laravel/public

目前 Laravel 项目并不存在。这里先统一配置为以上,请不用着急,在后续的章节中,我们会创建该 Laravel 项目。

另外,主机里直接访问虚拟机站点,必须通过绑定 hosts 来实现。接下来我们利用 hosts 文件绑定 homestead.test 到虚拟机 IP 192.168.10.10 上。hosts 文件的完整路径为 C:\Windows\System32\Drivers\etc\hosts,可使用下面命令打开:

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

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

在 hosts 文件的最后面加入以下一行:

192.168.10.10  shop.test //shop.test 就是你创建的网站名称

5. 数据库配置

我们可以为 Homestead 指定数据库名称,这里使用默认设置即可。

    databases:- homestead

6. 自定义变量

最后,如果你需要自定义一些在虚拟机上可以使用的自定义变量,则可以在 variables 中进行定义。

variables:- key: APP_ENVvalue: local

Homestead 自定义变量在本书中并未使用,知悉有此功能即可。

运行 Vagrant

完成了 Homestead 的配置,接下来我们要开始启动虚拟机了。

> cd ~/Homestead && vagrant up

第一次启动时,Vagrant 会做以下这几件事情:

以导入的 Homestead 虚拟机盒子为模板,新建一台虚拟机;
并按照 Homestead.yaml 里的配置信息,对这台新建的虚拟机进行配置;
配置完成后启动虚拟机。
在这里插入图片描述
在这里插入图片描述
成功启动后,还是在 ~/Homestead 目录中,通过以下命令来 SSH 登录 Homestead 虚拟机中:

> vagrant ssh

在我们登录成功后,你能看到类似于如下图的界面,现在我们在该终端界面中输入的所有命令都将运行在 Homestead 虚拟机上。
在这里插入图片描述
在虚拟机界面下可以输入退出虚拟机:

    $ exit

最后尝试关闭 Homestead:

> vagrant halt

当执行vagrant up 操作时 会在你的系统盘的Virtualbox VMs 文件夹中创建Homestead-7在这里插入图片描述


http://chatgpt.dhexx.cn/article/vb4mpXaq.shtml

相关文章

Mac 安装 Homestead

不了解 homestead 可以去 laravel 学院 和 laravel 中文网了解一下,简单来说就是一个专门为 laravel 开发准备的虚拟机,整合了所需的 Nginx PHP MySQL Composer 等等,减少了搭建环境的烦琐程序,实在理解不了,就当做…

Homestead Windows安装使用

Homestead Windows安装使用 见laravel框架安装步骤 1、VirtualBox 6.x, VMWare, Parallels 或 Hyper-V 以及 Vagrant的安装 下载后安装. 2、查看是否安装 查看vagrant是否安装 在线下载很慢很慢所以用了github的 Homestead。 生成Homestead.yaml文件 // Mac / Linux... bas…

手把手教你Homestead安装,并填坑!!

来源:http://www.jianshu.com/p/ae9d1261bbd8 话说作为laravel的开发者,你听说Homestead应该很久了,可是官方推荐的开发环境在国内为什么鲜有人用?我这几天试着安装了一下,发现官方的安装教程实在存在着太多的大坑,尤…

Laravel Homestead的安装和使用

Homestead Homestead是什么安装1.打开Git Bash 进入E:\HashiCorp\Vagrant2.1 添加Homestead Vagrant Box 到 Vagrant (无本地box文件)2.2 homestead Vagrant Box 到 Vagrant (有本地box文件,本地文件位置在D:/vagrant/homestead-virtualbox-0…

Homestead搭建 - Windows

系统要求 Windows 7 及以上。 步骤简略 接下来让我们按照这几个步骤来完成整个 Laravel 开发环境的安装及配置: 安装 VirtualBox安装 Vagrant导入 Homestead Box 虚拟机盒子安装 Git安装 Homestead 管理脚本配置 Homestead.yaml 文件启动 Homestead 虚拟机 安装 …

m1搭建homestead环境,m1安装homestead环境

本文目录 一、环境要求1、mac M12、macOS Big Sur 11.3.1以上3、Parallels Desktop 16 for Mac4、Vagrant 二、安装homestead以及虚拟机1、安装homestead2、安装arm架构vagrant box 三、效果测试四、踩坑记录五、vagrant常见命令六、虚拟机安装laravel,本地测试 一、…

Homestead安装

安装软件 安装vargrant;安装Virtualbox安装git导入box 下载homestead.box,点击下载。 新建了一个文件夹名为homestead,然后将下好的box重命名为homestead.box放入,然后在此文件夹内运行如下命令(这里是按照一些普通的教程来添加,这时候挖了一个坑,后面填上)。 vagran…

vagrant Homestead 环境搭建

一. 搭建步骤 1、vagrant plugin install vagrant-vbguest 安装vagrant 先下载vagrant再执行指令 2、git config --global http.schannelCheckRevoke false 执行vagrant box add laravel/homestead 报错 解决: 手动下载 https://vagrantcloud.com/laravel/boxes/…

开发环境搭建homestead - windows

系统要求 Windows7 及以上。 步骤简略 安装 VirtualBox安装 vagrant导入 Homestead Box 虚拟机盒子安装 Git安装 Homestead 管理脚本配置 Homestead.yaml 文件启动 Homestead 虚拟机开启 NFS 挂载模式 安装 VirtualBox VirtualBox 是 Oracle 公司的开源虚拟机软件。Virtua…

Homestead 发布

以太坊开发开始于2013年12月份,当时两个开发者和一个大学辍学生(译者注:即Vitalik)决定集思广益,一起开发这一项目。后来与我们群志趣相投的人也加入了。我们的第一个概念验证(Proof of Cocept 1&#xff0…

TCP的三次握手和四次挥手(超详解)

TCP的三次握手和四次挥手 TCP的连接建立 TCP的连接建立的过程叫做握手,握手需要在客户和服务器之间交换三个TCP报文段。下图画出了三报文握手建立TCP连接的过程。 假定最初主机A运行的是TCP客户端程序,而B运行的是TCP服务端程序。最初两端的TCP进程都处…

简述TCP三次握手和四次挥手过程

TCP握手协议 在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接.第一次握手:建立连接时,客户端发送syn包(synj)到服务器,并进入SYN_SEND状态,等待服务器确认; SYN:同步序列编号(Synchronize Sequence Numbers)第二次握手&a…

TCP三次握手和四次挥手解析

三次握手(建立连接) (1)序号:seq序号,占32位,用来标识从TCP客户端向目的端发送的字节流,发起方发送数据时对此进行标记。 (2)确认序号:ack序号&a…

简述TCP的三次握手和四次挥手

TCP(Transmission Control Protocol,传输控制协议)是面向连接的协议,也就是说,在收发数据前,必须和对方建立可靠的连接。一个TCP连接必须要经过三次“对话”才能建立起来,其中的过程非常复杂&am…

简单理解TCP的三次握手和四次挥手

本文用简洁的语言教你理解TCP的三次握手和四次挥手,匆忙写的,审美可能有待提升。 本文适合入门,基础不高的同学观看,以便有一个大概的了解。深入的同学还请高抬贵手。 还有请记住,是传输层中TCP的东西,不…

tcp三次握手和四次挥手的过程

TCP是面向连接的,无论哪一方向另一方发送数据之前,都必须先在双方之间建立一条连接。在TCP/IP协议中,TCP 协议提供可靠的连接服务,连接是通过三次握手进行初始化的。三次握手的目的是同步连接双方的序列号和确认号 并交换 TCP窗口…

TCP的三次握手和四次挥手

一、TCP介绍 TCP是一种面向连接的、可靠的、基于字节流的传输层通信协议,在发送数据前,通信双方必须在彼此间建立一条连接。所谓的“连接”,其实是客户端和服务端保存的一份关于对方的信息,如ip地址、端口号等。TCP可以看成是一种…

TCP三次握手和四次挥手的全过程

三次握手和四次挥手是各个公司常见的考点,也具有一定的水平区分度,希望大家能带着如下问题进行阅读,收获会更大: 请画出三次握手和四次挥手的示意图为什么连接的时候是三次握手?什么是半连接队列?ISN(Initial Sequence Number)是…

TCP的三次握手和四次挥手总结

TCP的三次握手和四次挥手总结 本文经过借鉴书籍资料、他人博客总结出的知识点,欢迎提问 序列号 seq:占 4 个字节,用来标记数据段的顺序,TCP 把连接中发送的所有数据字节都编上一个序号,第一个字节的编号由本地随机产生…

三次握手和四次挥手知识总结(超详细)

前言: 最近学习了计算机网络的知识,看了很多的视频,并参考了很多资料,写下了这将近4500字的与“三次握手和四次挥手”相关的知识,希望能帮助到各位小伙伴儿以及加深自己印象,方便以后复习用 如果有什么写的…