2015-03-03 38 views
1

以前,我在VirtualBox上手動設置自己的虛擬機並對其進行配置,以便在離線編碼時(無需互聯網/未連接到路由器)也能正常工作。我使用VirtualBox GUI中的設置以及VM中的Apache來完成此操作。如何將Laravel Homestead服務器設置爲在本地運行,而無需在網絡/ Internet上運行?

現在我對學習nginx感興趣,並決定嘗試使用Laravel的Homestead。我所看到的教程似乎假設我將通過網絡訪問Homestead VM(儘管它當然在同一臺PC上)。我需要做些什麼來確保虛擬機在我離線時可以訪問(例如,當我在飛機或火車上編碼時)?每當我回到WiFi(即apt-get等)時,我想仍然可以從VM訪問互聯網。

(注:我的主機運行的是Windows 7 64位)

回答

0

離線時在開發機器上運行的任何虛擬機可以被訪問。只要確保你設置了你的開發機器的主機文件來設置虛擬機的位置。

如果您關注的Laravel Homestead Setup

scripts/homestead.rb,你必須具有虛擬機的IP地址的線路。

# in scripts/homestead.rb 

# Configure A Private Network IP 
config.vm.network :private_network, ip: settings["ip"] ||= "192.168.10.10" 

將此IP地址添加到你的hosts文件中。這通常位於C:\Windows\System32\drivers\etc\hosts

#in hosts file 
192.168.10.10 yourwebsite.dev 
+1

僅僅因爲你沒有連接到互聯網並不意味着你沒有網絡:)虛擬機應該工作正常(安裝後設置)離線。 – Wader 2015-03-03 08:46:45

+0

通過網絡我的意思是我沒有連接到任何路由器。但我禁用了我的網絡適配器(完全脫機)並且一切都運行完畢! – prograhammer 2015-03-03 19:14:08

1
  1. 下載並安裝流浪和VirtualBox虛擬新鮮的副本。

https://dl.bintray.com/mitchellh/vagrant/vagrant_1.7.2.msi

http://dlc-cdn.sun.com/virtualbox/4.3.22/VirtualBox-4.3.22-98236-Win.exe

  • 另外下載laravel /家園手動 https://vagrantcloud.com/laravel/boxes/homestead/versions/0.2.2/providers/virtualbox.box
  • 到我的下載目錄C:\下載\ homestead- 0-2-2.box

    1. 安裝Virtualbox和Vagrant後。通過在git bash中運行以下命令安裝laravel/homestead(您可以在此處下載git bash:http://git-scm.com/downloads)。

      流浪漢框中添加laravel /宅基地/c/downloads/homestead-0-2-2.box

    2. 內運行C這個命令:\用戶\ yourusername

      混帳克隆https://github.com/laravel/homestead.git家園

    注意:這將創建該文件夾:C:\Users\yourusername\Homestead

    對於某些文件。

  • 在GIT中的bash,CD

    仍然成C:\Users\yourusername\Homestead並運行此命令:

    的bash init.sh

  • NB:這會創建一個文件夾C:\Users\yourusername\.homestead包含Homestead.yaml和其他一些文件

    1. 然後生成一個SSH密鑰,您需要登錄到您的虛擬機時運行以下命令:

      SSH-凱基-t RSA -C 「[email protected]

    注:這會問一些問題,只需點擊進入或鍵入yes並回車。 這將創建一個內部C:\Users\yourusername\.ssh

    您的SSH密鑰
  • 然後,你需要通過編輯Nginx的配置宅基地

    C:\用戶\ digitlimit \家園\家園。 yaml

  • 您可以右鍵單擊Homestead.yaml文件,然後單擊打開,然後選擇使用寫字板打開。

    我Homestead.yaml看起來這個編輯後:

    --- 
    ip: "192.168.10.10" 
    memory: 2048 
    cpus: 1 
    
    authorize: ~/.ssh/id_rsa.pub 
    
    keys: 
        - ~/.ssh/id_rsa 
    
    folders: 
        - map: /wamp/www 
         to: /home/vagrant/Code 
    
    sites: 
        - map: laravel.dev 
         to: /home/vagrant/Code/laravel/public 
    
    databases: 
        - homestead 
    
    variables: 
        - key: APP_ENV 
         value: local 
    
    # blackfire: 
    #  - id: foo 
    #  token: bar 
    

    注意:要了解哪些是主機和虛擬機之間共享文件夾的過程映射:

    我laravel項目位於在C:\wamp\www\laravel

    此目錄/home/vagrant/Code將在安裝後位於VM內部。

    那麼我告訴VM是,每當你看到的/ home /流浪者/代碼引用此文件夾C:\wamp\www\laravel

    同樣在此:

    sites: 
         - map: laravel.dev 
          to: /home/vagrant/Code/laravel/public 
    

    ,當我去什麼我們說這是我的瀏覽器和類型http://laravel.dev顯示/home/vagrant/Code/laravel/public的內容,它實際上指向C:\www\wamp\laravel\public

    編輯Homestead後。YAML文件保存在chnages

    注:之前,我們可以使用http://laravel.dev在主機Web瀏覽器來查看我們的laravel的項目,我們需要添加這個下面給位於

    C:\Windows\System32\drivers\etc\hosts 
    

    hosts文件中添加此IP如果列出的任何其他IP地址列表下的地址:

    192.168.10.10 laravel.dev 
    
  • 最後,回到你的Git的bash,確保你在 /c/Users/yourusername/homestead和類型:

    無業遊民了

  • 等待流浪者來完成它的過程。點擊是,當你看到任何對話框要求在你的系統上創建網絡適配器的權限

    +0

    老兄,你是最棒的 – PhillipMwaniki 2016-08-10 11:34:43

    相關問題