php – Vagrant,找不到Apache文件

我想安装一个有流浪汉的虚拟机.
我使用puphet来启动和运行我的虚拟机.
我从https://puphpet.com/下载了我的文件
我运行命令vagrant up.
这工作正常,没有错误.
但是当我去我的apache服务器(ip:192.168.56.101/).它说

    File not found

我的config.yaml看起来像这样:

vagrantfile-local:
vm:
    Box: puPHPet/debian75-x64
    Box_url: puPHPet/debian75-x64
    hostname: ''
    memory: '512'
    cpus: '1'
    chosen_provider: virtualBox
    network:
        private_network: 192.168.56.101
        forwarded_port:
            3gxDQCQAxfdF:
                host: '7872'
                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:
        ncdRZBfrkcfO:
            source: ./
            target: /var/www
            sync_type: default
            rsync:
                args:
                    - '--verbose'
                    - '--archive'
                    - '-z'
                exclude:
                    - .vagrant/
                auto: 'false'
    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: {  }
firewall:
    install: '1'
    rules: null
apache:
    install: '1'
    settings:
        user: www-data
        group: www-data
        default_vhost: true
        manage_user: false
        manage_group: false
        sendfile: 0
    modules:
        - rewrite
    vhosts:
        aVIZQPIIn6i3:
            servername: awesome.dev
            serveraliases:
                - www.awesome.dev
            docroot: /var/www/awesome
            port: '80'
            setenv:
                - 'APP_ENV dev'
            override:
                - All
            options:
                - Indexes
                - FollowSymLinks
                - MultiViews
            engine: PHP
            custom_fragment: ''
            ssl_cert: ''
            ssl_key: ''
            ssl_chain: ''
            ssl_certs_dir: ''
    mod_pagespeed: 0
Nginx:
    install: '0'
    settings:
        default_vhost: 1
        proxy_buffer_size: 128k
        proxy_buffers: '4 256k'
    vhosts:
        uwr7HyJ5WO1T:
            server_name: awesome.dev
            server_aliases:
                - www.awesome.dev
            www_root: /var/www/awesome
            listen_port: '80'
            location: \.PHP$
            index_files:
                - index.html
                - index.htm
                - index.PHP
            envvars:
                - 'APP_ENV dev'
            engine: PHP
            ssl_cert: ''
            ssl_key: ''
PHP:
    install: '1'
    version: '56'
    composer: '1'
    composer_home: ''
    modules:
        PHP:
            - cli
            - intl
            - mcrypt
        pear: {  }
        pecl:
            - pecl_http
    ini:
        display_errors: On
        error_reporting: '-1'
        session.save_path: /var/lib/PHP/session
    timezone: America/Chicago
    mod_PHP: 0
hhvm:
    install: '0'
    nightly: 0
    composer: '1'
    composer_home: ''
    settings:
        host: 127.0.0.1
        port: '9000'
    ini:
        display_errors: On
        error_reporting: '-1'
    timezone: null
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'
xhprof:
    install: '0'
drush:
    install: '0'
    version: 6.3.0
ruby:
    install: '1'
    versions:
        TSsZyQH2LHKq:
            version: ''
nodejs:
    install: '1'
    npm_packages: {  }
python:
    install: '1'
    packages: {  }
    versions:
        YVfdTeUuv8wW:
            version: ''
MysqL:
    install: '1'
    root_password: '123'
    adminer: 0
    databases:
        99Rdxm92r7xO:
            grant:
                - ALL
            name: dbname
            host: localhost
            user: dbuser
            password: '123'
            sql_file: ''
postgresql:
    install: '0'
    settings:
        root_password: '123'
        user_group: postgres
        encoding: UTF8
        version: '9.3'
    databases: {  }
    adminer: 0
mariadb:
    install: '0'
    root_password: '123'
    adminer: 0
    databases: {  }
    version: '10.0'
sqlite:
    install: '0'
    adminer: 0
    databases: {  }
mongodb:
    install: '0'
    settings:
        auth: 1
        port: '27017'
    databases: {  }
redis:
    install: '0'
    settings:
        conf_port: '6379'
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'
elastic_search:
    install: '0'
    settings:
        java_install: true
        autoupgrade: true
最佳答案
在设置流浪汉时我也偶然发现了这个问题.

我在我的日志中发现问题是fcgi所以我注意到由vagrant创建的vhost文件中的这一行:

ProxyPassMatch ^/(.*\.PHP(/.*)?)$fcgi://127.0.0.1:9000/var/www//$1

将其更改为:

ProxyPassMatch ^/(.*\.PHP(/.*)?)$fcgi://127.0.0.1:9000/var/www/awesome/$1

它现在应该工作.现在的问题是,每次使用vagrant时都必须编辑它

我也得到了一个解决方案,也许不是最好的解决方案,但它可以工作,除非有人提出更好的解决方案,否则我会使用它.

将config.yaml中的vhosts部分更改为以下内容

 vhosts:
    [your hash]
        server_name: awesome.dev
        server_aliases:
            - www.awesome.dev
        docroot: /var/www/
        port: '80'
        setenv:
            - 'APP_ENV dev'
        directories:
            provider: directory
            path: /var/www/awesome/
            allow_override:
                - All
            options:
                - Indexes
                - FollowSymLinks
                - MultiViews
        engine: PHP
        custom_fragment: ''
        ssl: '0'
        ssl_cert: ''
        ssl_key: ''
        ssl_chain: ''
        ssl_certs_dir: ''

在你的puPHPet文件夹中搜索这个文件:puppet / modules / puPHPet / templates / apache / custom_fragments.erb并将其内容更改为:

<%= @vhost['custom_fragment'] %>
<% if !@require_mod_PHP %>
  <% if @vhost.has_key?('engine') %>
    <% if @vhost['engine'] == 'PHP' %>
      <% if @vhost.has_key?('directories') %>
        <% if @vhost['directories'].has_key?('path') %>
          ProxyPassMatch ^/(.*\.PHP(/.*)?)$fcgi://<%= @fcgi_string %><%= @vhost['directories']['path'] %>$1
        <% else %>
          ProxyPassMatch ^/(.*\.PHP(/.*)?)$fcgi://<%= @fcgi_string %><%= @vhost['docroot'] %>/$1
        <% end %>
      <% else %>
        ProxyPassMatch ^/(.*\.PHP(/.*)?)$fcgi://<%= @fcgi_string %><%= @vhost['docroot'] %>/$1
      <% end %>
    <% end %>
  <% end %>
<% end %>

然后我做了流浪汉摧毁和流浪汉,它的工作.

相关文章

文件查找(find) 1 find 简单的说,就是实时查找指定的内容或条件。特点:最新、最快、最准确。 用法:...
非交互式添加分区 方法一 添加/deb/sdb 下的分区,其实位置为1到1000M,第二个分区位置为1001至3000M,...
编译安装httpd 1 去官网下载源码包 为避免非法软件,一定要去官网下载http://www.apache.org httpd-2.4...
gdisk用法 gdisk - InteractiveGUIDpartitiontable (GPT) manipulator GPTfdisk (akagdisk) isatext-mo...
1 一定用快捷键 这里简单的说下几个常用的快捷按键。 1.1 移动光标快捷键 Crtl + a 光标回到命令行...
bash shell中测试命令 test命令提供了if-than语句中测试不同条件的途径。如果test命令中列出的条件成立...