2013-06-20 2 views
4

저는 Vagrant를 사용하여 centos 6.4 vm에 연결하려고 애 쓰고 있습니다. 나는 salt를 프로비저닝 에이전트로 사용하고 있으며 아파치, PHP, mysql 패키지를 성공적으로 설치했다. 내가 상자 아파치로 ssh 잘 실행 중입니다. 난은/var/www가에서 index.html 파일을 추가하고 나는 로컬 호스트 컬 때 다시 내용을 얻을 : 내 로컬 컴퓨터에 8080과 나에게 어떤 결과를 제공하지 : 80Mac OS X Lion에서의 Vagrant 포트 포워딩

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 

내가 sudo를 lsof를 -i를 실행. 또한 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입니다. Vagrant를 실행할 수 있습니다. root하지만 VirtualBox는 동의하지 않습니다. 포트 번호를 계속 사용할 수 있습니다. 또는 포트 80을 원하거나 필요로하는 경우 방법이 있습니다.

내 고객이 Wordpress Multisite 설정을 요청했을 때이 문제가 발생했습니다. Wordpress MS에서 URL b/c에 포트 번호를 입력 할 수 없으므로 일부 URL 매핑이 올바르게 작동하지 않습니다. 나는 그것을 발견하고 MAMP와 같은 프로그램을 사용하기로 돌아가고 싶지 않을 때 놀랐습니다.

어쨌든이 목표를 달성하는 데는 두 가지 방법이 있습니다 (둘 다 매우 어렵지 않습니다). 나는 Mac 사용자이므로 Mac 특정 답변이므로 Windows 버전이 있는지 확인하고 테스트 할 때 내 대답을 업데이트합니다 (아래 참조, 방법이 있습니다).

방법 # 1 (맥 IP 방화벽 유틸리티) : 당신의 방랑 파일에서

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

그게 꽤 정상.

지금 터미널을 열고 당신이 당신의 컴퓨터를 다시 시작하면 cmd를 다시 실행해야합니다, 그래서 당신은 이제 cmd를 영구적되지 않습니다 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 

를 사용할 수 있습니다. 당신은 그것을 영원히 만들 수 있습니다. 그리고 나는 나머지 방법 # 1을 설명 할 수있는 아래의 링크를 포함시키고 있습니다.

Web Development on Port 80 and 443 in Vagrant

방법 # 2 (맥 포로와 모루) :

아직 탕이없는 경우, 그것을 얻을! 정말 멋진 앱입니다. Pow와 Anvil을 설치하면 Anvil이 있고 Pow을 찾을 수 있습니다.

"정적"및 "랙"사이트 부분에주의하지 않으면 문서를 설정할 수있는 방법에 대해 문서를 읽을 수 있지만 this 부분이 필요합니다.

포트 프록시를 통해 Pow를 통해 mycoolsite에서 들어오는 트래픽을 가져옵니다.dev에 저장하고 mycoolsite.dev : 8080과 같은 가상 시스템으로 전달한 다음 가상 시스템은 8080을 80으로 전달하고 컨텐츠가 올 라인을 백업합니다.

당신이 모루/탕을 설치하고, 실행이 라인을 설정 얻을 후 :

echo 8080 > ~/.pow/mycoolsite 

그런 다음 작업 표시 줄에 모루를 클릭 (당신은 가까운하거나 새로 고침하고 다시해야 할 수도 있습니다)와에 사이트를 설정 , 그게 뭐야? 정말? Pow와 Anvil rock !!

내가 발견 한 두 가지 방법이 있습니다. 호스트 파일로 수행 할 수있는 몇 가지 작업이 있으며 그 작업을 여러 번했습니다. 그러나 이러한 다른 방법을 사용하면 실제로 성가신 호스트 파일을 쉽게 잊을 수 있습니다.

Windows 사용자 (및 첫 번째 2 가지 방법을 좋아하지 않는 Mac 사용자)에 대한 참고 사항 : Vagrant Host Manager를 사용하면 here on github을 설정하는 방법을 알 수 있습니다. 그것은 방랑자 플러그인이며, 기본적으로 귀하의 hosts 파일을 편집 할 것입니다. 당신이하는 일은 당신의 vagrantfile 설정이고 당신은 그 후에 갈 수 있습니다. 방금 Windows 7에서 테스트 했으므로 제대로 작동해야합니다. 문제점이있을 경우 github에서 문서를 검토하거나 Vagrant Host Manager 팀에서 검토 할 문제를 제기하십시오.