仮想化の利点は当然人々の心に深く根付いているはずですが、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. Windows 用 GitHub をダウンロードします
https://windows.github.com/
最新バージョンの 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.環境変数を有効にする
Laravelをインストールする
1. Laravel をダウンロードします
2. ディレクトリを解凍します
私のパス D: laravel-v5.1.43. Laravel を起動します
http:/ にアクセスしますブラウザの /localhost:8000 /artisan のserve コマンドは 2 つのパラメータもサポートしています:
host はホスト アドレスを設定します
port は Web サーバーがリッスンするポート番号を設定します
例: phpArtisanserve --port=8888Composer をインストールします
1. Composer-Setup.exe をダウンロードします
https://getcomposer.org/doc/00-intro.md#installation-windows
2. Composer を設定します
インストール プロセスでエラーが発生した場合CA 証明書が見つからない場合は、cacert.pem をダウンロードしてパスをカスタマイズします
openssl.cafile= D:phpverifycacert.pem
3. テストコンポーザー
をインストールします1. Vagrant をダウンロードします
https://www.vagrantup.com/downloads.html 2. 仮想イメージをオフラインでダウンロードします
上記は centos-6.6 イメージのダウンロード リンクです。他のイメージをダウンロードするには、にアクセスしてください。公式ウェブサイト
http://www.vagrantbox.es/
VirtualBox をインストールします
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を起動します
シェルからディレクトリ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
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进一步分析错误代码和原因。
通过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中的配置都不会保留)
细节部分可参考官方文档 - 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体验之旅吧。
版权声明:本文为博主原创文章,未经博主允许不得转载。