Windows 上で Vagrant を使用して、Laravel Homestead の共同クロスプラットフォーム開発環境を作成する

WBOY
リリース: 2016-06-23 13:30:36
オリジナル
1075 人が閲覧しました

前書き

仮想化の利点は当然人々の心に深く根付いているはずですが、Vagrant を使用して Laravel Homestead と同様の完全な開発環境を構築できます。セットアップと開発環境を削減し、異なる Windows/Mac/Linux プラットフォームでのカスタマイズされたパッケージの共有もサポートし、チーム間の開発環境を統合して作業効率を向上させます。また、Docker の登場により、将来がさらに楽しみになります。

Vagrant を使って素晴らしいクロスプラットフォーム開発環境を自分で作ってみましょう

更新履歴

2015 年 7 月 18 日 - 初稿

原文を読む - http://wsgzao.github.io/post/vagrant/

拡張機能の読み取り

Vagrant - https://www.vagrantup.com/
Laravel Homestead - http://laravel.com/docs/5.1/homestead
Windows での Linux 開発: Vagrant+virtualbox の使用 - http://blog .star7th.com/2015/06/1538.html
Vagrant を使用して Mac/win7 上にローカル開発環境を作成する - http://segmentfault.com/a/1190000002645737

環境の準備

  1. Git (必須ではありません)
  2. PHP (必須ではありません)
  3. Laravel (必須ではありません)
  4. Composer (必須ではありません)
  5. Vagrant
  6. VirtualBox

オフラインインストールが必要な場合は、メッセージを残して直接返信してください

gitをインストールします

1. Windows 用 GitHub をダウンロードします

https://windows.github.com/

php をインストールします

最新バージョンの PHP をインストールすることをお勧めします

1. PHP をダウンロードします

http://windows.php .net/download/

2. ディレクトリを解凍します

My path D: php

3. 環境変数を追加します

コンピューターを右クリックし、[システムの詳細設定] を選択し、[環境変数] を選択します。 ;PATH

C:ProgramDataOracleJavajavapath; %SystemRoot%system32;%SystemRoot%;%SystemRoot%System32Wbem;%SYSTEMROOT%System32WindowsPowerShellv1.0;C:nodejs;D:php;C:ProgramDataComposerSetupbin

php.ini

を設定します。 PHP インストール ディレクトリ (例: D:php) を入力します。 php.ini-development ファイルを見つけて現在のディレクトリにコピーし、名前を php.ini に変更して、次の設定を変更します

extension=php_mbstring.dll (888 行目あたり) の前のセミコロンを削除します

のセミコロンを削除しますextension=php_openssl.dll の前のセミコロン(893行目あたり)

extension_dir = "ext" の前のセミコロンを削除(736行目あたり)

5.環境変数を有効にする

explorer.exeを再起動する

Laravelをインストールする

1. Laravel をダウンロードします

http://www.golaravel.com/download/

2. ディレクトリを解凍します

私のパス D: laravel-v5.1.4

3. Laravel を起動します

http:/ にアクセスしますブラウザの /localhost:8000 /

artisan のserve コマンドは 2 つのパラメータもサポートしています:

host はホスト アドレスを設定します

port は Web サーバーがリッスンするポート番号を設定します

例: phpArtisanserve --port=8888

Composer をインストールします

1. Composer-Setup.exe をダウンロードします

https://getcomposer.org/doc/00-intro.md#installation-windows


2. Composer を設定します
インストール プロセスでエラーが発生した場合CA 証明書が見つからない場合は、cacert.pem をダウンロードしてパスをカスタマイズします

http://curl.haxx.se/docs/caextract.html

次に php.ini ファイル (1983 行目あたり) を変更します

openssl.cafile= D:phpverifycacert.pem

3. テストコンポーザー

をインストールします

1. Vagrant をダウンロードします

https://www.vagrantup.com/downloads.html

2. 仮想イメージをオフラインでダウンロードします

https:/ /github.com/tommy-muehle/puppet-vagrant-boxes /releases/download/1.0.0/centos-6.6-x86_64.box

上記は centos-6.6 イメージのダウンロード リンクです。他のイメージをダウンロードするには、にアクセスしてください。公式ウェブサイト

http://www.vagrantbox.es/

VirtualBox をインストールします

BIOS で CPU ハードウェア仮想化サポート VT (仮想化テクノロジ) を有効にします

1. VirtualBox をダウンロードします

https://www.virtualbox.org/ wiki/Downloads

2. イメージをインポートします

VirtualBox ディレクトリを設定し、イメージをコピーします centos-6.6-x86_64.box

E:VirtualBoxcentos-6.6-x86_64.box

3. Vagrant を初期化するコマンド

d:cd laravel-v5.1.4D:\laravel-v5.1.4>php artisan serveLaravel development server started on http://localhost:8000/
ログイン後にコピー

Vagrant の設定

詳細な設定ドキュメントについては、公式マニュアルを参照してください - https://docs.vagrantup.com /v2/

Vagrantを起動します

シェルからディレクトリE:VirtualBoxに入り、コマンドを実行します

Loading composer repositories with package informationInstalling dependencies (including require-dev)SSL certificate problem, verify that the CA cert is OK. Details: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed”
ログイン後にコピー

完全なプロセススムーズな起動の様子は以下のとおりです

composer -VComposer version 1.0-dev (d79427f1a7b15e8f4d46ce8124a4d0c58ba1479c) 2015-07-04 11:22:58
ログイン後にコピー

仮想マシンが起動したら、さらなる環境のために vagrant ssh 経由で仮想マシンに接続できます。 設定やソフトウェアのインストール関連の作業の場合、Windows システムでは、vagrant ssh 経由で仮想マシンに直接接続することはできませんvagrant ssh に接続するには、SecureCRT/Putty/Xshell などのサードパーティ ツールを使用する必要があります。接続アドレス 127.0.0.1、ポート 2222。ログインアカウント root のパスワードは vagrant です

E:\VirtualBox> vagrant upBringing machine 'default' up with 'virtualbox' provider...==> default: Clearing any previously set forwarded ports...==> default: Clearing any previously set network interfaces...==> default: Preparing network interfaces based on configuration...    default: Adapter 1: nat    default: Adapter 2: bridged==> default: Forwarding ports...    default: 80 => 8080 (adapter 1)    default: 22 => 2222 (adapter 1)==> default: Booting VM...==> default: Waiting for machine to boot. This may take a few minutes...The guest machine entered an invalid state while waiting for itto boot. Valid states are 'starting, running'. The machine is in the'poweroff' state. Please verify everything is configuredproperly and try again.If the provider you're using has a GUI that comes with it, it is often helpful to open that and watch the machine, since the GUI often has more helpful error messages than Vagrant can retrieve. For example, if you're using VirtualBox, run `vagrant up` while theVirtualBox GUI is open.
ログイン後にコピー

如果有报上述错误,并且运行Virtualbox去安装系统时出错:Failed to open a session for the virtual machine,Unable to load R3 module C:\Program Files\Oracle\VirtualBox/VBoxDD.DLL (VBoxDD): GetLastError=1790 (VERR_UNRESOLVED_ERROR).,需要使用UniversalThemePatcher还原未破解的themeservice.dll themeui.dll uxtheme.dll文件

已经打包好的下载链接 - http://pan.baidu.com/s/1c0HGj2g

==> default: Booting VM...==> default: Waiting for machine to boot. This may take a few minutes...    default: SSH address: 127.0.0.1:2222    default: SSH username: vagrant    default: SSH auth method: private key    default: Warning: Connection timeout. Retrying...    default: Warning: Connection timeout. Retrying...    default: Warning: Connection timeout. Retrying...
ログイン後にコピー

如果报default: Warning: Connection timeout. Retrying...,建议打编辑Vagrantfile打开VirtualBox图形化界面vb.gui = true进一步分析错误代码和原因。

导出box

通过Shell进入目录E:\VirtualBox后执行命令

vagrant packagevagrant package --output NAME --vagrantfile FILE#可选参数:--output NAME : (可选)设置通过NAME来指定输出的文件名--vagrantfile FILE:(可选)可以将Vagrantfile直接封进box中
ログイン後にコピー

完成后会在当前目录就会生成package.box,可以在家或者团队成员共享开发环境保持一致性

其它命令

vagrant up (启动虚拟机)
vagrant halt (关闭虚拟机??对应就是关机)
vagrant suspend (暂停虚拟机??只是暂停,虚拟机内存等信息将以状态文件的方式保存在本地,可以执行恢复操作后继续使用)
vagrant resume (恢复虚拟机 ?? 与前面的暂停相对应)
vagrant box remove centos6.6 (移除box,其中centos6.6是box名)
vagrant destroy (删除虚拟机,删除后在当前虚拟机所做进行的除开Vagrantfile中的配置都不会保留)

Laravel Homestead

细节部分可参考官方文档 - http://laravel.com/docs/5.1/homestead

1.下载安装包

vagrant box add laravel/homesteadE:\Homestead>vagrant box add laravel/homestead==> box: Loading metadata for box 'laravel/homestead'    box: URL: https://atlas.hashicorp.com/laravel/homesteadThis box can work with multiple providers! The providers that itcan work with are listed below. Please review the list and choosethe provider you will be working with.1) virtualbox2) vmware_desktopEnter your choice: 1==> box: Adding box 'laravel/homestead' (v0.2.7) for provider: virtualbox    box: Downloading: https://vagrantcloud.com/laravel/boxes/homestead/versions/0.2.7/providers/virtualbox.box    box: Progress: 0% (Rate: 9d/s, Estimated time remaining: 0:05:30)11))
ログイン後にコピー

由于国内网络环境问题建议离线下载后手动导入

#输入命令初始化E:\Homestead>vagrant init laravelA `Vagrantfile` has been placed in this directory. You are nowready to `vagrant up` your first virtual environment! Please readthe comments in the Vagrantfile as well as documentation on`vagrantup.com` for more information on using Vagrant.#执行添加命令E:\Homestead>vagrant box add laravel laravel.box==> box: Box file was not detected as metadata. Adding it directly...==> box: Adding box 'laravel' (v0) for provider:    box: Unpacking necessary files from: file://E:/Homestead/laravel.box    box: Progress: 100% (Rate: 141M/s, Estimated time remaining: --:--:--)==> box: Successfully added box 'laravel' (v0) for 'virtualbox'!#检查是否导入成功E:\Homestead>vagrant box listcentos6.6 (virtualbox, 0)laravel   (virtualbox, 0)#启动Lavarel HomesteadE:\Homestead>vagrant upBringing machine 'default' up with 'virtualbox' provider...==> default: Importing base box 'laravel'...==> default: Matching MAC address for NAT networking...==> default: Setting the name of the VM: Homestead_default_1437217549272_56101==> default: Clearing any previously set network interfaces...==> default: Preparing network interfaces based on configuration...    default: Adapter 1: nat==> default: Forwarding ports...    default: 22 => 2222 (adapter 1)==> default: Booting VM...==> default: Waiting for machine to boot. This may take a few minutes...    default: SSH address: 127.0.0.1:2222    default: SSH username: vagrant    default: SSH auth method: private key    default: Warning: Connection timeout. Retrying...    default:    default: Vagrant insecure key detected. Vagrant will automatically replace    default: this with a newly generated keypair for better security.    default:    default: Inserting generated public key within guest...    default: Removing insecure key from the guest if it's present... default: Key inserted! Disconnecting and reconnecting using new SSH key... ==> default: Machine booted and ready! ==> default: Checking for guest additions in VM... default: The guest additions on this VM do not match the installed version of default: VirtualBox! In most cases this is fine, but in rare cases it can default: prevent things such as shared folders from working properly. If you see default: shared folder errors, please make sure the guest additions within the default: virtual machine match the version of VirtualBox you have installed on default: your host and reload your VM. default: default: Guest Additions Version: 4.3.14 default: VirtualBox Version: 5.0 ==> default: Mounting shared folders... default: /vagrant => E:/Homestead
ログイン後にコピー

登录帐户vagrant/vagrant,开始全新的Laravel Homestead体验之旅吧。

版权声明:本文为博主原创文章,未经博主允许不得转载。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート