Я собираюсь записать пошаговую процедуру настройки Homestead для Laravel-5.2 в Windows 10 с VirtualBox. Я потратил много времени, чтобы настроить усадьбу для Laravel-5.2 на моем компьютере с Windows 10. Я пишу это так, чтобы любой мог получить пользу от этого поста. Ну, хватит говорить. Давайте копаться в.
Официальная документация по настройке Laravel Homestead: Официальная документация .
NB. Пожалуйста, попробуйте ввести все команды вместо копирования и вставки из этого руководства. Это может вызвать неожиданные ошибки. См. Раздел ответов ниже для получения дополнительной информации.
Шаг 1
Как говорится в официальной документации, вам необходимо включить аппаратную виртуализацию (VT-x). Чтобы сделать это, перейдите на этот сайт: http://www.howtogeek.com/213795/how-to-enable-intel-vt-x-in-your-computers-bios-or-uefi-firmware/ .
Если это не поможет, отправьте в Google номер модели вашего ноутбука или конфигурацию вашего ПК. Вы должны включить аппаратную виртуализацию (VT-x). И если вы используете Hyper-V в системе UEFI, вам дополнительно необходимо отключить Hyper-V для доступа к VT-x.
Вам также может понравиться:
Восемь самых больших ошибок разработки Laravel, которых вы можете легко избежать .
Шаг 2
Теперь вам нужно скачать последнюю версию VirtualBox и vagrant.
- Ссылка для скачивания Virtualbox: https://www.virtualbox.org/wiki/Downloads
- Бродячая ссылка для скачивания: https://www.vagrantup.com/downloads.html ..
После загрузки сначала установите VirtualBox. А затем установите Vagrant. Вам может потребоваться перезагрузить компьютер после завершения установки.
Шаг 3
Теперь нам нужно установить git bash (если git bash уже установлен на вашем компьютере, пропустите этот шаг). Ссылка для скачивания: https://git-scm.com/download/win . После загрузки установите его.
Шаг 4
Теперь откройте git bash в режиме администратора и выполните следующую команду:
Оболочка
xxxxxxxxxx
1
vagrant box add laravel/homestead
Если вы сейчас получаете сообщение об ошибке, подобное этому:
Простой текст
1
The box ‘laravel/homestead’ could not be found or
2
could not be accessed in the remote catalog. If this is a private
3
box on HashiCorp’s Atlas, please verify you’re logged in via
4
`vagrant login`. Also, please double-check the name. The expanded
5
URL and error message are shown below:
6
URL: [“https://atlas.hashicorp.com/laravel/homestead"]
8
Error:
Затем загрузите этот распространяемый файл MS Visual C ++ 2010 x86 и установите его. Теперь снова запустите следующую команду:
Простой текст
xxxxxxxxxx
1
vagrant box add laravel/homestead
Он должен добавить коробку Laravel / Homestead к вашей установке Vagrant. Загрузка окна займет несколько минут, в зависимости от скорости вашего интернет-соединения.
Шаг 5
После выполнения шага 4 введите cd ~
git bash и нажмите Enter. Теперь выполните следующую команду:
Джава
xxxxxxxxxx
1
git clone https://github.com/laravel/homestead.git Homestead
Он будет клонировать репозиторий Homestead в папку Homestead в вашем домашнем каталоге (C: \ Users \ USER_NAME).
Теперь выполните следующие две команды одну за другой:
Джава
xxxxxxxxxx
1
cd Homestead
2
bash init.sh
Это создаст файл конфигурации Homestead.yaml . Homestead.yaml файл будет помещен в C: \ Users \ имя_пользователя \ .homestead каталога.
NB: (в соответствии с этим изменением # 06b52c7 с 17 февраля 2017 года файл Homestead.yaml теперь будет находиться в папке C: \ Users \ USER_NAME \ Homestead)
Шаг 6
Теперь нам нужен ключ SSH. Чтобы проверить, что он уже существует на вашем компьютере или нет, перейдите в каталог C: \ Users \ USER_NAME \ и попробуйте найти папку с именем .ssh . Если он существует, перейдите в папку и попробуйте найти два файла с именами id_rsa и id_rsa.pub . Если папка .ssh не существует или папка существует, но два файла с именами id_rsa и id_rsa.pub не существуют, выполните следующую команду:
Джава
xxxxxxxxxx
1
ssh-keygen -t rsa -C “”
Затем командная строка спросит вас о двух вещах. Вам не нужно ничего вводить, просто нажмите клавишу ВВОД на любой запрос командной строки. После выполнения этой команды будет создана новая папка .ssh (если она еще не существует) с двумя именами файлов: id_rsa и id_rsa.pub .
Шаг 7
Теперь мы собираемся отредактировать файл Homestead.yaml , созданный на шаге 5. Этот шаг очень важен. Перейдите в каталог C: \ Users \ USER_NAME \ .homestead . Там откройте файл Homestead.yaml в любом текстовом редакторе. Файл будет выглядеть так:
Простой текст
xxxxxxxxxx
1
— -
2
ip: “192.168.10.10”
3
memory: 2048
4
cpus: 1
5
provider: virtualbox
6
authorize: ~/.ssh/id_rsa.pub
8
keys:
10
— ~/.ssh/id_rsa
11
folders:
13
— map: ~/Code
14
to: /home/vagrant/Code
15
sites:
17
— map: homestead.app
18
to: /home/vagrant/Code/Laravel/public
19
databases:
21
— homestead
22
# blackfire:
24
# — id: foo
25
# token: bar
26
# client-id: foo
27
# client-token: bar
28
# ports:
30
# — send: 50000
31
# to: 5000
32
# — send: 7777
33
# to: 777
34
# protocol: udp
Я объясню файл шаг за шагом, а также изменю его для настройки нашей усадьбы. Давайте начнем.
Джава
xxxxxxxxxx
1
ip: “192.168.10.10”
2
memory: 2048
3
cpus: 1
4
provider: virtualbox
Эти строки указывают, по какому IP-адресу прослушивает наша Homestead (в данном случае 192.168.10.10),
максимальный объем памяти, который он может использовать (2048), сколько процессоров он будет использовать (1) и провайдер (VirtualBox).
Простой текст
xxxxxxxxxx
1
authorize: ~/.ssh/id_rsa.pub
2
keys:
4
— ~/.ssh/id_rsa
В этих строках мы собираемся настроить наши ssh-ключи для Homestead. Помните, что мы создали наши ssh-ключи на шаге 6. Мы собираемся указать на эти два файла в нашем файле Homestead.yaml . После редактирования этих двух строк это будет выглядеть так:
Простой текст
xxxxxxxxxx
1
authorize: c:/Users/USER_NAME/.ssh/id_rsa.pub
2
keys:
4
— c:/Users/USER_NAME/.ssh/id_rsa
Не забудьте использовать строчную букву имени вашего диска («c» вместо «C») и косую черту («/») вместо обратной («\»). Посмотри, что я написал. Естественно, мы должны написать C: \ Users \ USER_NAME \ .ssh, верно? но нет, смотрите внимательно. Я написал c: /Users/USER_NAME/.ssh вместо C: \ Users \ USER_NAME \ .ssh. Это сложная часть; не пропустите это.
Мы всегда будем использовать нижний регистр имени нашего диска (например, «c» вместо «C») и косую черту («/») вместо обратной косой черты («\») в нашем файле Homestead.yaml.
Простой текст
xxxxxxxxxx
1
folders:
2
— map: ~/Code
3
to: /home/vagrant/Code
Здесь мы собираемся сопоставить папку, которая будет использоваться как нашим ПК, так и Vagrant. просто представьте себе общую папку, в которой, если мы что-то изменим с нашего ПК с Windows 10, это изменение будет видно из бродяги (и наоборот).
- map: ~ / Code означает папку, которая находится на нашем ПК, а / home / vagrant / Code означает, что мы будем иметь доступ к той же папке в vagrant. Еще не ясно? Хорошо, просто посмотри на строки после того, как я их поменяю. Это будет ясно после изменения:
Простой текст
xxxxxxxxxx
1
folders:
2
— map: e:/Homestead_Projects
3
to: /home/vagrant/Code
Видишь сейчас? Папка e: / Homestead_Projects моего компьютера и папка / home / vagrant / Code vagrant указывают на одну и ту же папку. Если вы измените что-либо в папке / home / vagrant / Code , это также будет отражено в папке e: / Homestead_Projects и наоборот.
В моем случае e: / Homestead_Projects - это папка моего проекта. В вашем случае используйте вашу собственную папку проекта. Вы можете использовать любое имя папки здесь / home / vagrant / ANY_FOLDER_NAME вместо / home / vagrant / Code
Простой текст
xxxxxxxxxx
1
sites:
2
— map: homestead.app
3
to: /home/vagrant/Code/Laravel/public
Не запутайтесь в этом с последним обсуждением. эти строки не имеют ничего общего с последним обсуждением. Я собираюсь объяснить это. Эта конфигурация говорит, что если мы нажмем hometead.app из нашего браузера, vagrant будет обслуживать сайт из / home / vagrant / Code / Laravel / public .
Да, я знаю, что мы еще не создали ни одной папки с именем Laravel в нашей папке / home / vagrant / Code от Vagrant или в нашей папке e: / Homestead_Projects с нашего ПК. Мы создадим это позже. Вы найдете ответ на шаге 10. В будущем, если вы создадите больше сайтов, эта конфигурация будет выглядеть следующим образом:
Простой текст
xxxxxxxxxx
1
sites:
2
— map: homestead.app
3
to: /home/vagrant/Code/Laravel/public
4
— map: site2.bla
5
to: /home/vagrant/Code/site2/public
6
— map: site3.yeap
7
to: /home/vagrant/Code/site3/public
8
— — -bla bla bla bla bla — — — -
Еще одна вещь - префикс / Laravel / public , который является / home / vagrant / Code , должен точно соответствовать : / home / vagrant / Code из последнего раздела. Если вы использовали / home / vagrant / ANY_FOLDER_NAME для сопоставления папки проекта вашего компьютера, то здесь вы должны использовать / home / vagrant / ANY_FOLDER_NAME в качестве префикса / Laravel / public , который будет выглядеть как / home / vagrant / ANY_FOLDER_NAME / Laravel / общедоступный . ЭТО ВАЖНО.
Пожалуйста, прочтите «
NB» часть шага 8, прежде чем перейти к следующему пункту.
Простой текст
xxxxxxxxxx
1
databases:
2
— homestead
Эта линия создаст базу данных в Вагранте с именем Усадьба .
После редактирования моего файла Homestead.yaml это выглядит следующим образом:
Простой текст
xxxxxxxxxx
1
— -
2
ip: “192.168.10.10”
3
memory: 1024
4
cpus: 1
5
provider: virtualbox
6
authorize: c:/Users/Eaiman/.ssh/id_rsa.pub
8
keys:
10
— c:/Users/Eaiman/.ssh/id_rsa
11
folders:
13
— map: e:/Homestead_Projects
14
to: /home/vagrant/Code
15
sites:
17
— map: homestead.app
18
to: /home/vagrant/Code/Laravel/public
19
databases:
21
— homestead
22
# blackfire:
24
# — id: foo
25
# token: bar
26
# client-id: foo
27
# client-token: bar
28
# ports:
30
# — send: 50000
31
# to: 5000
32
# — send: 7777
33
# to: 777
34
# protocol: udp
Шаг 8
Теперь, Windows не позволит homestead.app ссылку ударить из браузера. Мы должны добавить это в файл хостов Windows . так что если мы нажмем hometead.app из нашего браузера, он перейдет на IP-адрес, который мы определили в нашем файле Homestead.yaml . На данный момент наш определенный IP-адрес 192.168.10.10 .
Перейдите в папку C: \ Windows \ System32 \ drivers \ etc \ и отредактируйте файл hosts в любом текстовом редакторе ( текстовый редактор должен открываться в режиме администратора ). Добавьте следующую строку в самом низу файла hosts:
Простой текст
xxxxxxxxxx
1
192.168.10.10 homestead.app
Если вы хотите добавить другой сайт, просто добавьте сюда вот так:
Простой текст
xxxxxxxxxx
1
192.168.10.10 homestead.app
2
192.168.10.10 site2.bla
3
192.168.10.10 site3.yeap
4
— -bla bla bla bla — —
Теперь hometead.app доступен из нашего браузера. но не ударил его еще .
NB: https://laravel-news.com/chrome-63-now-forces-dev-domains-https
эта ссылка гласит: «На основании этой статьи Дэнни Вала он рекомендует использовать один из следующих вариантов:« .localhost »,« .invalid »,« .test »или« .example ». Таким образом, вы должны использовать «hometead.test» или что-то еще вместо «homestead.app»
В настоящее время браузер заставляет все домены .dev использовать HTTPS. Вы можете попробовать это. Или вы можете использовать одно из следующих: «.localhost», «.invalid», «.test» или «.example».
Если все это кажется слишком большой проблемой, другой жизнеспособный вариант - переключиться на Firefox в качестве браузера для разработки.
Шаг 9
Теперь мы можем запустить нашу Усадьбу, используя Vagrant, выполнив команду vagrant up
. Но для этого мы всегда должны запускать эту команду из каталога C: \ User \ USER_NAME \ Homestead . Мы можем сделать что-то, чтобы мы могли запускать бродячие ящики из любого места, используя git bash .
Для этого, загрузите этот файл https://www.dropbox.com/s/haekwwhab4jn56r/.bash_profile?dl=0 и вставить его в C: \ User \ имя_пользователя \ каталог или в C: \ User \ USER_NAME \ каталог и создайте файл с именем .bash_profile . Затем запишите следующие строки в файле .bash_profile :
Оболочка
xxxxxxxxxx
1
# Some shortcuts for easier navigation & access
2
alias ..="cd .."
3
alias vm="ssh vagrant@127.0.0.1 -p 2222"
4
# Homestead shortcut
6
function homestead() {
7
( cd ~/Homestead && vagrant $* )
8
}
Теперь, используя git bash из любого места, запустив команду hometead up , вы можете запустить окно vagrant. Чтобы прекратить, бродячая коробка запускает команду остановки усадьбы . Возможно, вам придется перезапустить Git bash, так как .bash_profile загружается при запуске . Впервые homestead up
займет некоторое время.
Я снова записываю две команды:
Оболочка
xxxxxxxxxx
1
To up vagrant box use:
2
homestead up
3
To stop vagrant box use:
4
homestead halt
- NB:
- Если вы собирающий г « Баш: CD: / с / Пользователи / Имя пользователя / Homestead: Нет такого файла или каталога» такого рода ошибки , то замените следующую строку .bash_profile
cd ~/Homestead && vagrant $*
сcd “YOUR_ACTUAL_HOMESTEAD_DERECTORY_PATH” && vagrant $*
и, конечно , рестарт мерзавца Баш. - Если эти команды не работают на git bash, попробуйте запустить эти команды из CMD .
- Если вы собирающий г « Баш: CD: / с / Пользователи / Имя пользователя / Homestead: Нет такого файла или каталога» такого рода ошибки , то замените следующую строку .bash_profile
Шаг 10
Теперь мы собираемся создать наш первый проект под названием Laravel . Ваши вопросы от просмотра / home / vagrant / Code / Laravel / public в Шаге 7 теперь будут понятны. До сих пор у нас есть только папка / home / vagrant / Code . Там нет папки с именем Laravel в / дома / бродяга / Код папке еще.
Вы можете проверить папку вашего проекта на вашем ПК, что я говорю вам правильно или неправильно. В моем случае папка проекта на моем компьютере - это e: / Homestead_Projects . Вы увидите, что в папке проекта вашего компьютера нет папки с именем Laravel . Ну, а теперь мы собираемся его создать.
Запустите Homestead с помощью homestead up
команды. Затем выполните следующую команду:
Вы войдете в Vagrant. Введите ls
и нажмите ввод. Вы увидите, что есть только одна папка с именем Code . Введите cd Code
и нажмите ввод. Теперь вы находитесь в папке с кодом . Введите ls
снова и нажмите Enter, и вы увидите, что в этой папке еще ничего нет.
Теперь пришло время создать наш первый проект Laravel здесь. Запустите следующую команду:
Оболочка
xxxxxxxxxx
1
composer create-project --prefer-dist laravel/laravel Laravel
Эта команда займет некоторое время и создаст проект laravel в папке Laravel . Введите ls
и нажмите ввод. Теперь вы увидите, что есть папка с именем Laravel . Перейдите в папку вашего проекта на вашем ПК (в моем случае, e: / Homestead_Projects ), и вы увидите, что есть папка с именем Laravel . Теперь вы можете видеть, что папка / home / vagrant / Code и папка вашего проекта фактически являются одной и той же папкой.
Шаг 11
Ну, теперь все установлено. Убедитесь, что усадьба работает. Теперь введите hometead.app в браузере и нажмите ввод. Вы должны увидеть страницу приветствия Laravel 5 🙂
Поздравляем! Пожалуйста, поделитесь этой статьей и оставьте комментарий для любых вопросов или отзывов.