Я использую инструмент PuPHET для настройки Vagrant, так что комбо-бродяга + марионетка должна просто загружать виртуальную машину с бродягой. Im, использующий настройку Centos64 – php 5.4 и некоторый незначительный стандартный режим отладки. Im работает это на Mac OSX Maverick.
vagrantfile-local: vm: box: centos64-x64-vbox43-1383512148 box_url: 'http://box.puphpet.com/centos64-x64-vbox43.box' hostname: null network: private_network: 192.168.56.101 forwarded_port: OhyIDGb9LuDg: host: '7943' guest: '22' provider: virtualbox: modifyvm: natdnshostresolver1: on memory: '1024' setextradata: VBoxInternal2/SharedFoldersEnableSymlinksCreate/v-root: 1 provision: puppet: manifests_path: puphpet/puppet manifest_file: manifest.pp options: - '--verbose' - '--hiera_config /vagrant/puphpet/puppet/hiera.yaml' - '--parser future' synced_folder: ppWP2lt1BsDi: id: vagrant-root source: '/Users/Documents/vagrant/www/' target: /var/www nfs: 'false' usable_port_range: 2200..2250 ssh: host: null port: null private_key_path: null username: vagrant guest_port: null keep_alive: true forward_agent: false forward_x11: false shell: 'bash -l' vagrant: host: detect server: packages: - vim-common - git dot_files: - bash_aliases: null _prevent_empty: '' mailcatcher: install: 0 settings: smtp_ip: 0.0.0.0 smtp_port: 1025 http_ip: 0.0.0.0 http_port: '1080' path: /usr/local/bin log: /var/log/mailcatcher/mailcatcher.log apache: modules: - php - rewrite vhosts: geXjvySSeKG4: servername: test.dev docroot: /var/www/public_html port: '80' setenv: - 'APP_ENV dev' override: - All user: www-data group: www-data default_vhost: true mpm_module: prefork mod_pagespeed: 0 mod_spdy: 0 php: version: '54' composer: '1' modules: php: - cli - intl - mcrypt - cgi - memcache - pspell - tidy pear: { } pecl: - pecl_http ini: display_errors: On error_reporting: '-1' session.save_path: /var/lib/php/session allow_url_fopen: '1' allow_url_include: '1' error_log: syslog apc.enabled: '1' timezone: America/Chicago xdebug: install: '1' settings: xdebug.default_enable: '1' xdebug.remote_autostart: '0' xdebug.remote_connect_back: '1' xdebug.remote_enable: '1' xdebug.remote_handler: dbgp xdebug.remote_port: '9000' drush: install: 0 settings: drush.tag_branch: 6.x mysql: root_password: *** phpmyadmin: '1' adminer: 0 databases: kqca9cVkAol1: grant: - ALL name: *** host: localhost user: *** password: *** sql_file: '' mongodb: install: 0 auth: 1 port: '27017' databases: { } beanstalkd: install: '1' settings: listenaddress: 10.0.1.5 listenport: '13000' maxjobsize: '65535' maxconnections: '1024' binlogdir: /var/lib/beanstalkd/binlog binlogfsync: null binlogsize: '10485760' beanstalk_console: '1' binlogdir: /var/lib/beanstalkd/binlog rabbitmq: install: 0 port: '5672'
Теперь я также изменил файл хоста, найденный в / etc / hosts, и добавил 192.168.56.101 test.dev
Я могу выполнить ping по IP, я могу выполнить ping по доменному имени, я могу даже бродяжничать ssh в VM.
Проблема? Я не могу получить доступ к нему в браузере (который побеждает цель установки). Я сбросил простой php hello world script внутри папки общего доступа. У меня есть SSH в VM, чтобы увидеть, есть ли там это и есть. Но так потеряно, почему он не работает из коробки? Я также пытался получить доступ к 7943 или 22 портам. Безрезультатно.
Мне удалось заставить это работать. При работе с Vagrant я обычно выбираю либо приватную сеть, либо переадресацию портов, но никогда и то, и другое.
Если вы измените конфигурацию yaml в разделе пересылаемых портов и добавьте
forwarded_port: OhyIDGb9LuDg: host: '7943' guest: '22' GET0RirwFFW: host: '8080' guest: '80'
Затем вы можете получить доступ к виртуальному хосту по адресу http://awesome.dev:8080 . Обратите внимание на порт 8080 в конце, это означает, что порт 8080 на хост-машине отправляется на порт 80 на гостевой.
Вот скриншот об этом. http://img.ruphp.com/php/e38b9d2debc888588581c46b4aebb2c0.png