I am giving PuPHPet a go, so created an archive using all the basic options.
When trying vagrant up I get the error:
==> machine1: Error: Could not parse application options: invalid option: --manifestdir
A little bit of investigation points to the problem being with puppet V5 not longer supports manifest_dir option.
The suggested fix is to update the config to use environments and set environment and environments_path in config.
Can anyone throw some light on where in the config.yaml these need to be set?
Also where in the PuPHPet directory structure the environment folder needs to live?
The config.yaml that I am using;
vagrantfile:
target: local
vm:
provider:
local:
box: bento/ubuntu-16.04
box_url: 'false'
box_version: '0'
chosen_virtualizer: virtualbox
virtualizers:
virtualbox:
modifyvm:
natdnshostresolver1: false
showgui: 0
vmware:
numvcpus: 1
parallels:
linked_clone: 0
check_guest_tools: 0
update_guest_tools: 0
machines:
vflm_k8bgkk2q1t9z:
id: machine1
hostname: machine1.puphpet
network:
private_network: 192.168.56.101
forwarded_port:
vflmnfp_yru3n3tlfqio:
host: '9419'
guest: '22'
memory: '512'
cpus: '1'
provision:
puppet:
manifests_path: puphpet/puppet/manifests
module_path:
- puphpet/puppet/modules
- puphpet/puppet/manifests
options:
- '--verbose'
- '--hiera_config /vagrant/puphpet/puppet/hiera.yaml'
synced_folder:
vflsf_lvspa9n8sfn3:
owner: www-data
group: www-data
source: ./
target: /var/www
sync_type: default
smb:
smb_host: ''
smb_username: ''
smb_password: ''
mount_options:
dir_mode: '0775'
file_mode: '0664'
rsync:
args:
- '--verbose'
- '--archive'
- '-z'
exclude:
- .vagrant/
- .git/
auto: 'true'
usable_port_range:
start: 10200
stop: 10500
post_up_message: ''
ssh:
host: 'false'
port: 'false'
private_key_path: 'false'
username: vagrant
guest_port: 'false'
keep_alive: '1'
forward_agent: 'false'
forward_x11: 'false'
shell: 'bash -l'
insert_key: 'false'
vagrant:
host: detect
proxy:
http: ''
https: ''
ftp: ''
no_proxy: ''
server:
install: '1'
packages:
- bash-completion
- htop
- vim
users_groups:
install: '1'
groups: { }
users: { }
locale:
install: '1'
settings:
default_locale: en_US.UTF-8
locales:
- en_GB.UTF-8
- en_US.UTF-8
timezone: UTC
firewall:
install: '1'
rules: { }
resolv:
install: '1'
nameservers:
- 8.8.8.8
- 8.8.4.4
domainname: ''
searchpath: { }
cron:
install: '1'
jobs: { }
nginx:
install: '0'
settings:
version: present
default_vhost: 1
proxy_buffers: '4 256k'
proxy_buffer_size: 128k
proxy_connect_timeout: 600s
proxy_send_timeout: 600s
proxy_read_timeout: 600s
names_hash_bucket_size: 128
upstreams: { }
vhosts:
nxv_9iotkb0epf2c:
server_name: awesome.dev
server_aliases:
- www.awesome.dev
www_root: /var/www/awesome
listen_port: '80'
client_max_body_size: 1m
ssl: '0'
locations:
nxvl_jjk47mtl0r5o:
www_root: /var/www/awesome/web
location: /
autoindex: 'off'
internal: 'false'
index_files:
- index.html
- index.php
- app.php
try_files:
- $uri
- $uri/
- /index.php$is_args$args
- /app.php$is_args$args
fastcgi: ''
fastcgi_index: ''
fastcgi_split_path: ''
proxy: ''
proxy_redirect: ''
nxvl_8j0icnvn334t:
www_root: /var/www/awesome/web
location: '~ ^/(app_dev|config)\.php(/|$)'
autoindex: 'off'
internal: 'false'
try_files:
- $uri
- $uri/
- /app_dev.php$is_args$args
fastcgi: '127.0.0.1:9000'
fastcgi_index: app_dev.php
fastcgi_split_path: '^(.+\.php)(/.*)$'
fast_cgi_params_extra:
- 'SCRIPT_FILENAME $document_root$fastcgi_script_name'
- 'APP_ENV dev'
set:
- '$path_info $fastcgi_path_info'
proxy: ''
proxy_redirect: ''
nxvl_fan1klxugnqt:
www_root: /var/www/awesome/web
location: '~ ^/index\.php(/|$)'
autoindex: 'off'
internal: 'false'
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 $document_root$fastcgi_script_name'
set:
- '$path_info $fastcgi_path_info'
proxy: ''
proxy_redirect: ''
nxvl_5grri35wy80b:
www_root: /var/www/awesome/web
location: '~ ^/app\.php(/|$)'
autoindex: 'off'
internal: 'false'
try_files:
- $uri
- $uri/
- /app.php$is_args$args
fastcgi: '127.0.0.1:9000'
fastcgi_index: app.php
fastcgi_split_path: '^(.+\.php)(/.*)$'
fast_cgi_params_extra:
- 'SCRIPT_FILENAME $document_root$fastcgi_script_name'
- 'APP_ENV prod'
set:
- '$path_info $fastcgi_path_info'
proxy: ''
proxy_redirect: ''
proxies: { }
apache:
install: '1'
settings:
version: 2.4
user: www-data
group: www-data
default_vhost: true
manage_user: false
manage_group: false
sendfile: 0
modules:
- proxy_fcgi
- rewrite
vhosts:
av_2bg7c7vda1pb:
servername: awesome.dev
serveraliases:
- www.awesome.dev
docroot: /var/www/awesome/web
port: '80'
setenvif:
- 'Authorization "(.*)" HTTP_AUTHORIZATION=$1'
custom_fragment: ''
ssl: '0'
ssl_cert: LETSENCRYPT
ssl_key: LETSENCRYPT
ssl_chain: LETSENCRYPT
ssl_certs_dir: LETSENCRYPT
ssl_protocol: ''
ssl_cipher: ''
directories:
avd_ayxmp8ol7nqw:
path: /var/www/awesome/web
directoryindex: 'index.php app.dev'
options:
- Indexes
- FollowSymlinks
- MultiViews
allow_override:
- All
require:
- 'all granted'
custom_fragment: ''
provider: directory
files_match:
avfm_5mduocupch06:
path: (app_dev|config)\.php$
sethandler: 'proxy:fcgi://127.0.0.1:9000'
setenv:
- 'APP_ENV dev'
custom_fragment: ''
provider: filesmatch
avfm_h7xbhb0zqsoq:
path: app\.php$
sethandler: 'proxy:fcgi://127.0.0.1:9000'
setenv:
- 'APP_ENV prod'
custom_fragment: ''
provider: filesmatch
avfm_bgd9dcbawlo8:
path: \.php$
sethandler: 'proxy:fcgi://127.0.0.1:9000'
custom_fragment: ''
provider: filesmatch
letsencrypt:
install: '1'
settings:
email: ''
webserver_service: ''
domains: { }
php:
install: '1'
settings:
version: '7.2'
modules:
php:
- cli
- intl
- xml
pear: { }
pecl: { }
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_kk90qv3if70v:
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: v1.1.0
drush:
install: '0'
version: 8.0.5
ruby:
install: '1'
versions:
rv_45pl5r1olefv:
default: '1'
bundler: '1'
version: '2.4'
gems:
- [email protected]
- [email protected]
- [email protected]
python:
install: '1'
packages: { }
versions: { }
nodejs:
install: '0'
settings:
version: '6'
npm_packages: { }
mariadb:
install: '0'
settings:
version: '10.1'
root_password: '123'
override_options: { }
users:
mariadbnu_lxzy8vptfdcv:
name: dbuser
password: '123'
databases:
mariadbnd_vch18hn8fy7h:
name: dbname
sql: ''
grants:
mariadbng_dkhxul0k78c2:
user: dbuser
table: '*.*'
privileges:
- ALL
mysql:
install: '1'
settings:
version: '5.7'
root_password: '123'
override_options: { }
users:
mysqlnu_rew8wtlnfqjm:
name: dbuser
password: '123'
databases:
mysqlnd_xmr4nhv1e4ki:
name: dbname
sql: ''
grants:
mysqlng_eg463msh1guu:
user: dbuser
table: '*.*'
privileges:
- ALL
postgresql:
install: '0'
settings:
global:
encoding: UTF8
version: '9.6'
server:
postgres_password: '123'
databases: { }
users: { }
grants: { }
mongodb:
install: '0'
settings:
bind_ip: 127.0.0.1
port: '27017'
globals:
version: 3.6.2
databases: { }
redis:
install: '0'
settings:
port: '6379'
sqlite:
install: '0'
databases: { }
mailhog:
install: '0'
settings:
smtp_ip: 0.0.0.0
smtp_port: 1025
http_ip: 0.0.0.0
http_port: '8025'
path: /usr/local/bin/mailhog
beanstalkd:
install: '0'
settings:
listenaddress: 0.0.0.0
listenport: '11300'
maxjobsize: '65535'
maxconnections: '1024'
binlogdir: /var/lib/beanstalkd/binlog
binlogfsync: null
binlogsize: '10485760'
beanstalk_console: 0
rabbitmq:
install: '0'
settings:
port: '5672'
users: { }
vhosts: { }
plugins: { }
elastic_search:
install: '0'
settings:
version: 6.1.2
java_install: true
instances:
esi_qgdjc41v6s8n:
name: es-01
jvm_options:
- '-Xms2G'
- '-Xmx2G'
Step 1:
Open
puphpet/vagrant/Vagrantfile-localStep 2:
Find this line of code:
Step 3:
Insert these two lines of code before the line of code previously mentioned in
step 2It should look like this now:
Step 4:
open
puphpet/config.yamlStep 5:
Find this line of code:
Step 6:
Insert these two lines of code before the line of code previously mentioned in
step 5It should look like this now:
Step 7:
Go to
puphpet/puppetdirectory and create a new directory and name itenvironmentsand inside theenvironmentsdirectory, create another directory and name itdevelopmentThe structure should look like the one below:
And you're done!!!
But make sure to run
vagrant provisionto load the new configuration.