2013-06-20 121 views
4

我一直在努力嘗試使用Vagrant連接到一個centos 6.4 vm。 我使用salt作爲配置代理,並且已成功安裝了apache,php,mysql包。 當我ssh進入框中apache運行良好。我加在/ var/WWW的index.html文件和我得到的內容回來時,我蜷本地主機:80在Mac OS X Lion上運行流浪端口

Vagrant.configure("2") do |config| 
    ## Chose your base box 
    config.vm.box = "centos63" 
    config.vm.box_url = "" 

    ## For masterless, mount your salt file root 
    config.vm.synced_folder "salt/roots/", "/srv/" 


    ## Use all the defaults: 
    config.vm.provision :salt do |salt| 
    salt.verbose = true 
    salt.run_highstate = true 
    salt.minion_config = "salt/minion" 
end 
end 

Vagrant::Config.run do |config| 
config.vm.forward_port 80, 8080 
config.vm.share_folder "mypath", "/var/www/leo", "." 
end 

我跑須藤lsof的-i:我的本地機器上8080,沒有給我結果。我還使用iptables -F清除了訪客機器中的iptable配置。當我蜷縮客機

curl -v 'localhost:8080'        
* About to connect() to localhost port 8080 (#0) 
* Trying ::1... 
* Connection refused 
* Trying 127.0.0.1... 
* Connection refused 
* Trying fe80::1... 
* Connection refused 
* couldn't connect to host 
* Closing connection #0 
curl: (7) couldn't connect to host 

我是否需要安裝客人補充?我環顧四周如何安裝,但我不確定它是否必須安裝在主機或來賓。不知道還有什麼要嘗試。

回答

0

我將客人端口更改爲5656,它工作。當運行lsof -i:8080時,我沒有看到任何結果,所以我想沒有什麼是使用該端口,也許我錯了。

3

你在這裏試圖做的是不可能僅僅使用流浪者而不運行流浪者爲root。你可以運行流浪作爲root我相信但VirtualBox不會同意這一點。您可以繼續使用端口號,或者如果您想要或需要使用端口80,則有一種方法。

我有這個問題,當我的一個客戶要求我做一個Wordpress多站點設置。使用Wordpress MS,您不能在URL中使用端口號b/c某些URL映射將無法正常工作。當我發現並且不想回到使用像MAMP這樣的程序時,我感到很驚訝。

無論如何,這裏有兩種方法來達到這個目標(兩者都非常困難)。我是Mac用戶,所以這些是Mac特定的答案,我會看看是否有Windows版本,並更新我的答案,當我可以測試它確保(見下文,有一種方法)。

路#1(Mac的IP防火牆工具):

在你流浪的文件

config.vm.forward_port 80, 8080 
config.vm.forward_port 443, 8443 

那是非常正常的。

現在打開終端,你可以使用ipfw的實用

sudo ipfw add 100 fwd 127.0.0.1,8080 tcp from any to me 80 
sudo ipfw add 101 fwd 127.0.0.1,8443 tcp from any to me 443 

現在cmd是不是永久性的,所以你必須,如果你重新啓動你的機器重新運行CMD。你可以永久使用它,我在下面包含一個鏈接,它將解釋#1的其餘部分。

Web Development on Port 80 and 443 in Vagrant

路#2(蘋果POW和砧):

如果你不具備戰俘的是,得到它!這是一個非常酷的應用程序。 安裝Pow和Anvil,你可以在那裏找到Anvil,你可以在那裏找到Pow

您可以閱讀關於如何設置這些文檔的文檔,但不注意「靜態」和「機架」網站部分,您需要this部分。

您將使用通過Pow的端口代理從mycoolsite接收流量。dev,然後將其轉發到虛擬機mycoolsite.dev:8080,然後虛擬機將8080轉發到80,並備份內容將要到達的行。

在安裝砧/戰俘,並讓他們建立了運行這行:

echo 8080 > ~/.pow/mycoolsite 

然後單擊鐵砧在任務欄(您可能需要刷新或關閉並重新打開),然後打開網站那就是它,什麼?真?戰俘和鐵砧搖滾!

所以我發現有兩種方法,我確定你可以用你的主機文件做一些事情,我曾經這樣做過。但是,這些可用的其他方式確實可以讓您輕鬆忘記那些討厭的hosts文件。

注意Windows用戶(以及不喜歡前2種方式的Mac用戶):您可以使用Vagrant Host Manager,您可以瞭解如何將其設置爲here on github。這是一個無用的插件,基本上會爲你編輯你的hosts文件,你所做的只是你的vagrantfile配置,而且你很好。我只是在Windows 7上測試它,它在那裏工作,所以它應該是好的,如果你有任何問題,只需查看github上的文檔或向Vagrant Host Manager團隊提交問題以供審查。