Vagrant/VirtualBox 위에 세운 웹 사이트의 실제 기계 확인을 iPhone/iPad에서 수행

Goal


  • MacOSX를 Host로, CentOS를 Guest로 한 VM을 Vagrant/VirtualBox로 시작하고 HTTP 서버를 통해 웹 응용 프로그램을 개발합니다.
  • Guest (CentOS/Vagrant)를 public_network의 고정 IP로 시작하여 네트워크에서 액세스 할 수 있습니다.
  • iPhone, iPad를 동일한 Wifi 네트워크에 연결하고 고정 ip 직전에 웹 화면에 액세스
  • 호스트명으로의 VirtualHost를 유효하게 할 수 있도록(듯이), Web 서버가 붙어 있는 Guest(CentOS/Vagrant)에 자신의 DNS도 대어 이름 해석을 할 수 있도록(iPhone은 jail break 하지 않으면 호스트를 괴롭히지 않는 것 같기 때문에 대체 대안 ...)



    이 예에서 Wifi 네트워크 주소는 192.168.2입니다.
    192.168.2.XXX는 Mac OSX가 외부와 통신하기위한 네트워크 인터페이스입니다.
    192.168.2.YYY는 iPhone/iPad가 외부와 통신하기위한 네트워크 인터페이스 (MacOSX와 동일한 Wifi를 선택합니다).
    192.168.2.ZZZ는 vagrant의 호스트가 외부와 직접 통신하는 네트워크 인터페이스입니다.

    vagrant에 고정 IP를 할당하여 시작



    고정 ip = 192.168.2.ZZZ로 Wifi에 브리지하고 시작하십시오.
    bridge는 지정하지 않으면 vagrant를 시작할 때 선택할 수 있으므로 다른 네트워크를 선택하려는 경우마다 대상을 결정해야합니다.

    public_network의 IP는 private_network와 다른 주소를 지정합니다.
    Mac OSX의 IP를 검사하여 동일한 네트워크 아래의 주소를 갖도록하십시오 (이번에는 192.168.2를 prefix로 설정).
    config.vm.network :public_network, ip: '192.168.2.ZZZ', bridge: 'en0: Wi-Fi (AirPort)'
    

    확인



    게스트 시스템의 네트워크 인터페이스가 증가하고 있는지 확인하십시오.
    ifconfig | grep '192.168.2.ZZZ'
    

    호스트 컴퓨터 (Mac OSX)에서 ping 명령으로 통신 할 수 있는지 확인하십시오.
    ping 192.168.2.ZZZ
    

    게스트 컴퓨터 (CentOS, Vagrant)에서 apache 등을 시작하고 port80을 청취하십시오.
    netstat -an | grep :80
      # 192.168.2.ZZZ:80でLISTEN状態になっていること
    

    iPhone/iPad에서 브라우저의 주소 표시 줄로 IP (192.168.2.ZZZ)를 직접 사용하여 vagrant의 apache에 요청이 있는지 확인하십시오.

    로컬 DNS를 사용하여 로컬 도메인에서 액세스할 수 있고 호스트 이름에서 VirtualHost를 사용할 수 있도록 합니다.



    IP를 직접 액세스 할 수있는 곳까지는 쉽지만 DNS 서버를 구축하는 데는 여러 가지 작업이 있습니다.

    DNS 설정



    다음을 참조하여 Guest Machine (CentOS, Vagrant)에 DNS 서버를 설치하십시오.
    djbdns에서 로컬 도메인의 이름 확인

    ↑의 예에서는,
    192.168.2.ZZZ => 192.168.2.12
    192.168.2.XXX => 192.168.2.100
    로 설정되었습니다.

    iPhone/iPad의 DNS 서버 지정



    네트워크 설정에서 192.168.2.ZZZ의 주소를 지정하십시오.
    設定 > Wi-Fi > 接続されているネットワークの(i)ボタン > DHCP > DNS
    

    iPhone/iPad 브라우저의 주소 표시 줄에 로컬 도메인을 입력하여 vagrant의 apache 등에 액세스 할 수 있으면 괜찮습니다.

    환경



    CentOS, Vagrant
    uname -a
      # Linux *** 2.6.32-431.el6.x86_64 #1 SMP Fri Nov 22 03:15:09 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
    
    cat /etc/issue
      # CentOS release 6.5 (Final)
      # Kernel \r on an \m
    

    Mac OSX
    OSX Yosemite version 10.10.1
    

    아이폰
    iOS 8.1.2
    
  • 좋은 웹페이지 즐겨찾기