流浪供应失败

Vagrant provisioning fails

所以在我创建了一个类似的虚拟机之后,Vagrant 无法提供:

vagrant up

...

详细:

==> default: Info: /Stage[main]/Apache::Mod::Worker/Apache::Mpm[worker]/File[/etc/apache2/mods-enabled/worker.load]: Scheduling refresh of Class[Apache::Service]
==> default: Notice: /Stage[main]/Apache::Mod::Worker/File[/etc/apache2/mods-available/worker.conf]/ensure: defined content as '{md5}59cf27b20f14393692303b41f3071df6'
==> default: Info: /Stage[main]/Apache::Mod::Worker/File[/etc/apache2/mods-available/worker.conf]: Scheduling refresh of Class[Apache::Service]
==> default: Notice: /Stage[main]/Apache::Mod::Worker/Apache::Mpm[worker]/File[/etc/apache2/mods-enabled/worker.conf]/ensure: created
==> default: Info: /Stage[main]/Apache::Mod::Worker/Apache::Mpm[worker]/File[/etc/apache2/mods-enabled/worker.conf]: Scheduling refresh of Class[Apache::Service]
==> default: Info: /Stage[main]/Apache::Mod::Cgid/File[cgid.conf]: Filebucketed /etc/apache2/mods-available/cgid.conf to puppet with sum e8a2836392051bde889cf9c137058273
==> default: Notice: /Stage[main]/Apache::Mod::Cgid/File[cgid.conf]/content: content changed '{md5}e8a2836392051bde889cf9c137058273' to '{md5}7dffbb5823bcbb9ab4d3e67ab14d38a0'
==> default: Info: /Stage[main]/Apache::Mod::Cgid/File[cgid.conf]: Scheduling refresh of Class[Apache::Service]
==> default: Notice: /Stage[main]/Apache::Mod::Cgid/Apache::Mod[cgid]/File[cgid.conf symlink]/ensure: created
==> default: Info: /Stage[main]/Apache::Mod::Cgid/Apache::Mod[cgid]/File[cgid.conf symlink]: Scheduling refresh of Class[Apache::Service]
==> default: Notice: /Stage[main]/Apache::Mod::Cgid/Apache::Mod[cgid]/File[cgid.load symlink]/ensure: created
==> default: Info: /Stage[main]/Apache::Mod::Cgid/Apache::Mod[cgid]/File[cgid.load symlink]: Scheduling refresh of Class[Apache::Service]
==> default: Notice: /Stage[main]/Main/Apache::Vhost[default_vhost_80]/Concat::Fragment[default_vhost_80-directories]/File[/var/lib/puppet/concat/10-default_vhost_80.conf/fragments/60_default_vhost_80-directories]/ensure: defined content as '{md5}c0f5d086c1fb77355364fde626855125'
==> default: Info: /Stage[main]/Main/Apache::Vhost[default_vhost_80]/Concat::Fragment[default_vhost_80-directories]/File[/var/lib/puppet/concat/10-default_vhost_80.conf/fragments/60_default_vhost_80-directories]: Scheduling refresh of Exec[concat_10-default_vhost_80.conf]
==> default: Notice: /Stage[main]/Main/Apache::Vhost[default_vhost_80]/Concat[10-default_vhost_80.conf]/Exec[concat_10-default_vhost_80.conf]/returns: executed successfully
==> default: Notice: /Stage[main]/Main/Apache::Vhost[default_vhost_80]/Concat[10-default_vhost_80.conf]/Exec[concat_10-default_vhost_80.conf]: Triggered 'refresh' from 9 events
==> default: Notice: /Stage[main]/Apache::Default_mods/Apache::Mod[env]/File[env.load symlink]/target: target changed '../mods-available/env.load' to '/etc/apache2/mods-available/env.load'
==> default: Info: /Stage[main]/Apache::Default_mods/Apache::Mod[env]/File[env.load symlink]: Scheduling refresh of Class[Apache::Service]
==> default: Notice: /Stage[main]/Main/Puphpet::Php::Module[intl]/Php::Module[intl]/Package[PhpModule_intl]/ensure: ensure changed 'purged' to 'present'
==> default: Info: /Stage[main]/Main/Puphpet::Php::Module[intl]/Php::Module[intl]/Package[PhpModule_intl]: Scheduling refresh of Service[php5-fpm]

然后它在这里某处失败了:

==> default: Notice: /Stage[main]/Main/Service[php5-fpm]: Triggered 'refresh' from 13 events
==> default: Running provisioner: shell...

错误日志非常笼统

The provider for this Vagrant-managed machine is reporting that it
is not yet ready for SSH. Depending on your provider this can carry
different meanings. Make sure your machine is created and running and
try again. Additionally, check the output of `vagrant status` to verify
that the machine is in the state that you expect. If you continue to
get this error message, please view the documentation for the provider
you're using.

机器状态:

default                   aborted (virtualbox)

再次尝试up后,状态变为

default                   running (virtualbox)

但是,apache2 仍未配置。

这台机器运行良好,直到我的电脑意外关闭。

Vagrantfile 使用 puphpet 配置:

vagrantfile:
    target: local
    vm:
        box: puphpet/ubuntu1404-x64
        box_url: puphpet/ubuntu1404-x64
        hostname: local.puphpet
        memory: '4096'
        cpus: '1'
        chosen_provider: virtualbox
        network:
            private_network: 192.168.56.101
            forwarded_port:
                vflnp_s2r52zqm9il5:
                    host: '5105'
                    guest: '22'
        post_up_message: ''
        provider:
            virtualbox:
                modifyvm:
                    natdnshostresolver1: on
            vmware:
                numvcpus: 1
            parallels:
                cpus: 1
        provision:
            puppet:
                manifests_path: puphpet/puppet
                manifest_file: site.pp
                module_path: puphpet/puppet/modules
                options:
                    - '--verbose'
                    - '--hiera_config /vagrant/puphpet/puppet/hiera.yaml'
                    - '--parser future'
        synced_folder:
            vflsf_jsyjt6qqjv6g:
                source: ./
                target: /var/www/some
                sync_type: default
                rsync:
                    args:
                        - '--verbose'
                        - '--archive'
                        - '-z'
                    exclude:
                        - .vagrant/
                        - .git/
                    auto: 'true'
                owner: www-data
                group: www-data
        usable_port_range:
            start: 10200
            stop: 10500
    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:
    install: '1'
    packages: {  }
users_groups:
    install: '1'
    groups: {  }
    users: {  }
firewall:
    install: '1'
    rules: {  }
cron:
    install: '1'
    jobs: {  }
nginx:
    install: '0'
    settings:
        default_vhost: 1
        proxy_buffer_size: 128k
        proxy_buffers: '4 256k'
    upstreams: {  }
    vhosts:
        nxv_waoqjnfx3bdq:
            server_name: awesome.dev
            server_aliases:
                - www.awesome.dev
            www_root: /var/www/awesome
            listen_port: '80'
            index_files:
                - index.html
                - index.htm
                - index.php
            client_max_body_size: 1m
            ssl: '0'
            ssl_cert: ''
            ssl_key: ''
            ssl_port: '443'
            ssl_protocols: ''
            ssl_ciphers: ''
            rewrite_to_https: '1'
            spdy: '1'
            locations:
                nxvl_dxl1t6uo4ne5:
                    location: /
                    autoindex: off
                    try_files:
                        - $uri
                        - $uri/
                        - /index.php$is_args$args
                    fastcgi: ''
                    fastcgi_index: ''
                    fastcgi_split_path: ''
                nxvl_sz4s0mdyj1l7:
                    location: '~ \.php$'
                    autoindex: off
                    try_files:
                        - $uri
                        - $uri/
                        - /index.php$is_args$args
                    fastcgi: '127.0.0.1:9000'
                    fastcgi_index: index.php
                    fastcgi_split_path: '^(.+\.php)(/.*)$'
                    fast_cgi_params_extra:
                        - 'SCRIPT_FILENAME $request_filename'
                        - 'APP_ENV dev'
    proxies: {  }
apache:
    install: '1'
    settings:
        user: www-data
        group: www-data
        default_vhost: true
        manage_user: false
        manage_group: false
        sendfile: 0
    modules:
        - proxy_fcgi
        - rewrite
    vhosts:
        av_3e4zn3m5qrj8:
            servername: rusroads.dev
            docroot: /var/www/some
            port: '80'
            setenv:
                - 'APP_ENV dev'
            custom_fragment: ''
            ssl: '0'
            ssl_cert: ''
            ssl_key: ''
            ssl_chain: ''
            ssl_certs_dir: ''
            ssl_protocol: ''
            ssl_cipher: ''
            directories:
                avd_wji3ysov16ho:
                    path: /var/www/some
                    options:
                        - Indexes
                        - FollowSymlinks
                        - MultiViews
                    allow_override:
                        - All
                    require:
                        - 'all granted'
                    custom_fragment: ''
                    files_match:
                        avdfm_y8f6jikawjc0:
                            path: \.php$
                            sethandler: 'proxy:fcgi://127.0.0.1:9000'
                            custom_fragment: ''
                            provider: filesmatch
                    provider: directory
php:
    install: '1'
    settings:
        version: '56'
    modules:
        php:
            - cli
            - intl
            - mcrypt
        pear: {  }
        pecl:
            - pecl_http
    ini:
        display_errors: On
        error_reporting: '-1'
        session.save_path: /var/lib/php/session
        date.timezone: UTC
    fpm_ini:
        error_log: /var/log/php-fpm.log
    fpm_pools:
        phpfp_ljtz845og4bc:
            ini:
                prefix: www
                listen: '127.0.0.1:9000'
                security.limit_extensions: .php
                user: www-user
                group: www-data
    composer: '1'
    composer_home: ''
xdebug:
    install: '0'
    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'
blackfire:
    install: '0'
    settings:
        server_id: ''
        server_token: ''
        agent:
            http_proxy: ''
            https_proxy: ''
            log_file: stderr
            log_level: '1'
        php:
            agent_timeout: '0.25'
            log_file: ''
            log_level: '1'
xhprof:
    install: '0'
wpcli:
    install: '0'
    version: v0.19.0
drush:
    install: '0'
    version: 6.3.0
ruby:
    install: '1'
    versions: {  }
python:
    install: '1'
    packages: {  }
    versions: {  }
nodejs:
    install: '1'
    npm_packages:
        - grunt-cli
        - bower
hhvm:
    install: '0'
    nightly: 0
    composer: '1'
    composer_home: ''
    settings: {  }
    server_ini:
        hhvm.server.host: 127.0.0.1
        hhvm.server.port: '9000'
        hhvm.log.use_log_file: '1'
        hhvm.log.file: /var/log/hhvm/error.log
    php_ini:
        display_errors: On
        error_reporting: '-1'
        date.timezone: UTC
mysql:
    install: '0'
    settings:
        version: '5.6'
        root_password: 'some'
        override_options: {  }
    adminer: 0
    users:
        mysqlnu_4ljvghhv688f:
            name: 123
            password: 'some'
    databases:
        mysqlnd_opuz0wjig2wj:
            name: some
            sql: ''
    grants:
        mysqlng_gapwtqorf5s2:
            user: dbuser
            table: '*.*'
            privileges:
                - ALL
postgresql:
    install: '0'
    settings:
        global:
            encoding: UTF8
            version: '9.3'
        server:
            postgres_password: 'some'
    databases: {  }
    users: {  }
    grants: {  }
    adminer: 0
mongodb:
    install: '0'
    settings:
        auth: 1
        bind_ip: 127.0.0.1
        port: '27017'
    databases: {  }
redis:
    install: '0'
    settings:
        conf_port: '6379'
sqlite:
    install: '0'
    adminer: 0
    databases: {  }
mailcatcher:
    install: '0'
    settings:
        smtp_ip: 0.0.0.0
        smtp_port: 1025
        http_ip: 0.0.0.0
        http_port: '1080'
        mailcatcher_path: /usr/local/rvm/wrappers/default
        from_email_method: inline
beanstalkd:
    install: '0'
    settings:
        listenaddress: 0.0.0.0
        listenport: '13000'
        maxjobsize: '65535'
        maxconnections: '1024'
        binlogdir: /var/lib/beanstalkd/binlog
        binlogfsync: null
        binlogsize: '10485760'
    beanstalk_console: 0
    binlogdir: /var/lib/beanstalkd/binlog
rabbitmq:
    install: '0'
    settings:
        port: '5672'
    users: {  }
    vhosts: {  }
    plugins: {  }
elastic_search:
    install: '0'
    settings:
        version: 1.4.1
        java_install: true
solr:
    install: '0'
    settings:
        version: 4.10.2
        port: '8984'

我在 Vagrant 上安装 apache 时遇到了一些类似的错误。在我的例子中,这是因为在 apt-get 安装 Apache 时,Apache 的文档根目录不存在(或者是一个符号 link)。

我在安装 Apache 之前使用 bash 脚本配置来宾计算机,该脚本与 Apache 的根目录混淆,如下所示:

# Remove /var/www and recreate it as a link to the vagrant root.
rm -rf /var/www
ln -fs /vagrant/sites /var/www

# Install Apache.
apt-get install -y apache2

我能够通过颠倒顺序解决问题,先安装 Apache,然后更改它的文档根目录。

和你一样,这是在 Ubuntu 14.04 上运行的,它也对我有用,然后突然坏了。

抱歉,我不知道 puphpet。希望这对您有所帮助。