Я хочу установить виртуальную машину с Vagrant.
Я использовал Puphet для запуска и запуска моей виртуальной машины.
После того, как я скачал свои файлы из https://puphpet.com/
я запускаю команду бродяги.
это работает нормально и не дает ошибок.
Но когда я иду на свой сервер 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
Я только что наткнулся на эту проблему при настройке Vagrant.
Я обнаружил в своих журналах, что проблема была в fcgi, поэтому я заметил эту строку в файле vhost, созданном vagrant:
ProxyPassMatch ^/(.*\.php(/.*)?)$ fcgi://127.0.0.1:9000/var/www//$1
измените это на:
ProxyPassMatch ^/(.*\.php(/.*)?)$ fcgi://127.0.0.1:9000/var/www/awesome/$1
это должно работать сейчас. Теперь проблема в том, что вы должны редактировать его каждый раз, когда вы используете vagrant up
У меня также есть решение для этого, возможно, не лучшее решение, но оно работает, и я буду использовать его, если кто-то не придумает лучшего решения.
измените раздел vhosts в config.yaml на что-то вроде этого:
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 %>
Тогда я сделал vagrant destroy
а также vagrant up
и это сработало.
Попробуй обновить твой хост-файл (http://en.wikipedia.org/wiki/Hosts_%28file%29) содержать
192.168.56.101 www.awesome.dev
Вы можете проверить ваш корень документа. Сначала я подумал, что это /var/www/html
но это не так, это было /var/www/default
,
Попробуйте добавить index.html на /var/www/default/
каталог. Затем беги http://192.168.56.101
снова.