Git Product home page Git Product logo

chassis's Introduction

Chassis

Chassis is a virtual server for your WordPress site, built using Vagrant.

Chassis is basically a way to run WordPress (and related parts, such as PHP and nginx) without needing to worry about setting up anything. You can imagine it as MAMP/WAMP on steroids.

Installing & Documentation

Follow our quickstart instructions to get up and running right away!

We've got tonnes more documentation available at http://chassis.io/ to peruse through at your leisure.

FAQ

How is Chassis different from VVV?

Each Chassis install is self-contained. We do this to try and mirror the server that you will be deploying to.

Note that while you can't have multiple independent installs on the same Chassis box, we support both subdomain and subdirectory multisite out of the box.

Can you add X?

While we certainly can add any feature, consider first if it's better off as a Chassis extension. We try and keep Chassis as lightweight as possible, and extensions are a good way of adding features without weighing down Chassis itself.

chassis's People

Contributors

bradp avatar bronsonquick avatar cameronjonesweb avatar codenameeli avatar dan-westall avatar dependabot[bot] avatar grappler avatar igmoweb avatar ipstenu avatar jasonmccreary avatar javorszky avatar jenkoian avatar joemcgill avatar johnbillion avatar jsnajdr avatar kadamwhite avatar lewiscraik avatar markjaquith avatar mikeselander avatar ntwb avatar om4james avatar peterwilsoncc avatar rarst avatar rmccue avatar roborourke avatar shadyvb avatar shelob9 avatar sirovenmitts avatar tareiking avatar tomjn avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

chassis's Issues

migrating to live?

Less an issue w/ Chassis but more a question of what next - with the /content folder not in the actual install, I assume it's setup so to easily allow exporting to a live sites wp-content folder, however i'm curious about the DB: if i export the DB and import it into a new site DB, will paths be messed up? What further steps would be needed for migration.

Only first domain loaded in hosts file with specified IP config.local.yaml

When adding multiple domain names to config.local.yaml and specifying an IP, no other domain names are added to hosts files.

hosts:
    - exampledomain.edu.au
    - www.secondexampledomain.com.au
    - www.thirdexampledomain.com.au

ip: 192.168.33.10
multisite: Yes

results in

192.168.33.10  exampledomain.edu.au  # VAGRANT: 02fb49fbc10abae52a7cfdc152119365 (default) / 8afd64b1-199d-41b8-946a-2375438073f0

Move submodules to subtree

Rather than having to clone all of WP via a submodule, we can import it as a subtree and simply update it on each release. This gives a much quicker clone, assuming we use the --squash parameter.

Add dynamic IP allocation

To allow easier use of more than one VM at once, Chassis should be able to dynamically assign IP addresses. No idea how possible/plausible this is.

vagrant up error after fresh VirtualBox install (dhcp private_network fails)

After a fresh VirtualBox install, running vagrant up results in VirtualBox barking the following:

There was an error while executing `VBoxManage`, a CLI used by Vagrant
for controlling VirtualBox. The command and stderr is shown below.

Command: ["dhcpserver", "add", "--ifname", "vboxnet0", "--ip", "172.28.128.2", "--netmask", "255.255.255.0", "--lowerip", "172.28.128.3", "--upperip", "172.28.128.254", "--enable"]

Stderr: VBoxManage: error: DHCP server already exists

Subsequent attempts to boot result in:

A host only network interface you're attempting to configure via DHCP
already has a conflicting host only adapter with DHCP enabled. The
DHCP on this adapter is incompatible with the DHCP settings. Two
host only network interfaces are not allowed to overlap, and each
host only network interface can have only one DHCP server. Please
reconfigure your host only network or remove the virtual machine
using the other host only network.

According to hashicorp/vagrant#3083, it looks like the Chassis vagrant config of a private network with type: :dhcp is colliding with the default VirtualBox dhcpserver.

Removing the default dhcpserver from VirtualBox seems to fix.

VBoxManage dhcpserver remove --netname HostInterfaceNetworking-vboxnet0

Consider throwing a notice on both the front and backend if on local

I'd like to think about throwing a notice/warning on both the frontend and backend if you're on a local install. We could check for the presence of local config files and display a "Development Site".

I've only felt the need for that today as dev and staging were identical and I was getting confuzzled™

Create extension for ImageMagick

When this extension is created it will need to install the correct version based on the PHP version that has been installed in Chassis

Add docs for Chassis migrations

We should add migration docs to assist with people who are new to Chassis and want to move a Chassis site from local to staging/production.

Autoinstall extensions from Git

We should allow specifying an extensions option in config.yaml that will autoinstall extensions correctly.

# Autoinstall the following extensions
# (Note that all directories in extensions will be loaded; this is only for initial provisioning)
extensions:
  memcache: Chassis/memcache # mapped to https://github.com/Chassis/memcache.git
  xhprof: https://github.com/Chassis/xhprof.git

Add per-project provisioning

For projects with custom requirements (memcache, redis, etc), it would be nice to allow provisioning in the content directory.

I have the code written for this (it will use content/puppet/manifests/content.pp if available), the question is whether we want to handle it this way.

The aforementioned cases can be handled by installing packages via normal Puppet plus some configuration, however we risk reinventing the wheel, as it's just as easy to shove a package { 'memcached': } in a file, plus it's much more powerful.

Using Chassis in a sub-directory

I got an email from @rezzz-dev regarding using Chassis in a sub directory:

One thing I noticed was that Chassis doesn't play nicely under a directory. Mainly due to this line in the wp-config.php directory.
defined('WP_CONTENT_URL') or define( 'WP_CONTENT_URL', 'http://' . $_SERVER['HTTP_HOST'] . '/content' );

So I have a domain called somedomain.com. I normally use it as just a staging spot for some projects, so I drop each project into a subdirectory under that domain. So the URL may be like http://somedomain.com/projects/somenewproject - I know exactly why that's in there, but maybe there's a better way? For now I just put it in hardcoded since it's just a staging spot, but figured I'd bring it up for future reference/roadmap.

I'll have a look into this on our next hack day in a couple of weeks.

Make Chassis fast

Chassis takes a long time to set up a new project. Let's fix that.

  • Create a base box to avoid repeating the same steps every time: #36
  • Investigate apt caches: #25
  • Move the expensive submodule cloning into the main repo: #37

What else is slow? Let's investigate.

fopen request failed

Occasionally I'm seeing this warning at the top of the WordPress dashboard screen:

Warning: fopen(http://vagrant.local/wp/wp-cron.php?doing_wp_cron=1377151996.6534640789031982421875): failed to open stream: HTTP request failed! in /vagrant/wp/wp-includes/class-http.php on line 955

Not sure what's causing it, given that vagrant.local resolves to 127.0.0.1 on the virtual machine.

Using Core Control, I can see that the cURL transport isn't available, but PHP Streams and PHP fsockopen() are.

Manually installing PHP curl seems to solve this issue:

sudo apt-get install php5-curl
sudo service nginx restart

So perhaps this should be installed by default in puppet?

Add XDebug

I know @rmccue doesn't like PhpStorm but after watching this webinar last night: http://www.youtube.com/watch?v=LUTolQw8K9A I'm going to be using XDebug during all my dev going forward now that I've fully set it up on some old WAMP sites.

My days of echoing and var_dumping are over 🎆

Support Dictator

Now we've got Puppet extensions working the next challenge is maintaining state. Daniel's had two passes at the readme for Dictator and has a blog post on the way so I'd like us to have a play around with implementing it into Chassis.

Decrease waiting time

Currently out waiting time is off the chain:

screenshot 2014-05-27 14 20 32

I'm guessing we need to work through our Nginx confs as I don't have this issue with VVV. Let's do a like for like comparison on our next hack day and get this super fast.

Image resizing is insanely slow

I've just been trying to batch resize 320 images and it's insanely slow 😭

screenshot 2014-01-17 13 39 17

I tried bumping php memory limit up to 512M to see if that made any difference but that didn't seem to help. From the looks of it it's the CPU that's copping it:

screenshot 2014-01-17 13 37 22

What's the best way to debug the cause of this? Chassis should be using ImageMagick rather than GD given that both are installed. Could it be something else like the synced folders in Vagrant being slow? Could it be Nginx?

I figured I'd be better off asking you guys for ideas before I head down the rabbit hole further 😄

WP CLI not installing WordPress on vagrant up

Does appear to install the database though 👍
Offending error:
err:

/Stage[main]//Sennza::Wp[vagrant.local]/Sennza::Site[vagrant.local]/Wp::Site[/vagrant/wp]/Exec[wp install /vagrant/wp]/returns: change from notrun to 0 failed: /usr/bin/wp core install --url='http://vagrant.local/' --title='WordPress Site' --admin_email='[email protected]' --admin_name='admin' --admin_password='password' returned 1 instead of one of [0] at /vagrant/puppet/modules/wp/manifests/site.pp:30
notice: Finished catalog run in 275.50 seconds

Full Trace:

Bringing machine 'default' up with 'virtualbox' provider...
==> default: Importing base box 'precise32'...
==> default: Matching MAC address for NAT networking...
==> default: Setting the name of the VM: g8_default_1396569543718_41803
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
    default: Adapter 1: nat
    default: Adapter 2: hostonly
==> default: Forwarding ports...
    default: 22 => 2222 (adapter 1)
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
    default: SSH address: 127.0.0.1:2222
    default: SSH username: vagrant
    default: SSH auth method: private key
    default: Error: Connection timeout. Retrying...
==> default: Machine booted and ready!
==> default: Checking for guest additions in VM...
    default: The guest additions on this VM do not match the installed version of
    default: VirtualBox! In most cases this is fine, but in rare cases it can
    default: prevent things such as shared folders from working properly. If you see
    default: shared folder errors, please make sure the guest additions within the
    default: virtual machine match the version of VirtualBox you have installed on
    default: your host and reload your VM.
    default: 
    default: Guest Additions Version: 4.2.0
    default: VirtualBox Version: 4.3
==> default: Setting hostname...
==> default: Configuring and enabling network interfaces...
==> default: Mounting shared folders...
    default: /vagrant => /Users/tarei-air/sennza/g8
    default: /tmp/vagrant-puppet-1/manifests => /Users/tarei-air/sennza/g8/puppet/manifests
==> default: Running provisioner: shell...
    default: Running: /var/folders/cf/2zj6l2yd1xvgf643c_p_b30h0000gn/T/vagrant-shell20140404-13813-15r7wvk
stdin: is not a tty
rm: cannot remove `/tmp/apt-sources.list': No such file or directory
Ign http://security.ubuntu.com precise-security InRelease
Ign http://us.archive.ubuntu.com precise InRelease
Ign http://us.archive.ubuntu.com precise-updates InRelease
Ign http://us.archive.ubuntu.com precise-backports InRelease
Get:1 http://security.ubuntu.com precise-security Release.gpg [198 B]
Hit http://us.archive.ubuntu.com precise Release.gpg
Get:2 http://us.archive.ubuntu.com precise-updates Release.gpg [198 B]
Ign http://ubuntu.mirror.serversaustralia.com.au/ubuntu/ precise InRelease
Ign http://ubuntu.mirror.serversaustralia.com.au/ubuntu/ precise-updates InRelease
Ign http://ubuntu.mirror.serversaustralia.com.au/ubuntu/ precise-backports InRelease
Ign http://ubuntu.mirror.serversaustralia.com.au/ubuntu/ precise-security InRelease
Get:3 http://ubuntu.mirror.serversaustralia.com.au/ubuntu/ precise Release.gpg [198 B]
Get:4 http://ubuntu.mirror.serversaustralia.com.au/ubuntu/ precise-updates Release.gpg [198 B]
Get:5 http://ubuntu.mirror.serversaustralia.com.au/ubuntu/ precise-backports Release.gpg [198 B]
Get:6 http://ubuntu.mirror.serversaustralia.com.au/ubuntu/ precise-security Release.gpg [198 B]
Get:7 http://ubuntu.mirror.serversaustralia.com.au/ubuntu/ precise Release [49.6 kB]
Get:8 http://security.ubuntu.com precise-security Release [49.6 kB]
Get:9 http://ubuntu.mirror.serversaustralia.com.au/ubuntu/ precise-updates Release [49.6 kB]
Get:10 http://us.archive.ubuntu.com precise-backports Release.gpg [198 B]
Get:11 http://ubuntu.mirror.serversaustralia.com.au/ubuntu/ precise-backports Release [49.6 kB]
Get:12 http://ubuntu.mirror.serversaustralia.com.au/ubuntu/ precise-security Release [49.6 kB]
Hit http://us.archive.ubuntu.com precise Release
Get:13 http://ubuntu.mirror.serversaustralia.com.au/ubuntu/ precise/main i386 Packages [1,274 kB]
Get:14 http://us.archive.ubuntu.com precise-updates Release [49.6 kB]
Get:15 http://security.ubuntu.com precise-security/main Sources [102 kB]
Get:16 http://us.archive.ubuntu.com precise-backports Release [49.6 kB]
Hit http://us.archive.ubuntu.com precise/main Sources
Hit http://us.archive.ubuntu.com precise/restricted Sources
Hit http://us.archive.ubuntu.com precise/universe Sources
Hit http://us.archive.ubuntu.com precise/multiverse Sources
Hit http://us.archive.ubuntu.com precise/main i386 Packages
Hit http://us.archive.ubuntu.com precise/restricted i386 Packages
Hit http://us.archive.ubuntu.com precise/universe i386 Packages
Hit http://us.archive.ubuntu.com precise/multiverse i386 Packages
Hit http://us.archive.ubuntu.com precise/main TranslationIndex
Hit http://us.archive.ubuntu.com precise/multiverse TranslationIndex
Hit http://us.archive.ubuntu.com precise/restricted TranslationIndex
Hit http://us.archive.ubuntu.com precise/universe TranslationIndex
Get:17 http://us.archive.ubuntu.com precise-updates/main Sources [453 kB]
Get:18 http://ubuntu.mirror.serversaustralia.com.au/ubuntu/ precise/restricted i386 Packages [8,431 B]
Get:19 http://ubuntu.mirror.serversaustralia.com.au/ubuntu/ precise/universe i386 Packages [4,796 kB]
Get:20 http://security.ubuntu.com precise-security/restricted Sources [2,494 B]
Get:21 http://security.ubuntu.com precise-security/universe Sources [30.9 kB]
Get:22 http://security.ubuntu.com precise-security/multiverse Sources [1,789 B]
Get:23 http://security.ubuntu.com precise-security/main i386 Packages [402 kB]
Get:24 http://us.archive.ubuntu.com precise-updates/restricted Sources [8,028 B]
Get:25 http://us.archive.ubuntu.com precise-updates/universe Sources [105 kB]
Get:26 http://us.archive.ubuntu.com precise-updates/multiverse Sources [8,900 B]
Get:27 http://us.archive.ubuntu.com precise-updates/main i386 Packages [785 kB]
Get:28 http://security.ubuntu.com precise-security/restricted i386 Packages [4,620 B]
Get:29 http://security.ubuntu.com precise-security/universe i386 Packages [96.5 kB]
Get:30 http://security.ubuntu.com precise-security/multiverse i386 Packages [2,646 B]
Get:31 http://security.ubuntu.com precise-security/main TranslationIndex [74 B]
Get:32 http://security.ubuntu.com precise-security/multiverse TranslationIndex [72 B]
Get:33 http://security.ubuntu.com precise-security/restricted TranslationIndex [72 B]
Get:34 http://security.ubuntu.com precise-security/universe TranslationIndex [73 B]
Get:35 http://ubuntu.mirror.serversaustralia.com.au/ubuntu/ precise/multiverse i386 Packages [121 kB]
Get:36 http://ubuntu.mirror.serversaustralia.com.au/ubuntu/ precise/main TranslationIndex [3,706 B]
Get:37 http://ubuntu.mirror.serversaustralia.com.au/ubuntu/ precise/multiverse TranslationIndex [2,676 B]
Get:38 http://ubuntu.mirror.serversaustralia.com.au/ubuntu/ precise/restricted TranslationIndex [2,596 B]
Get:39 http://ubuntu.mirror.serversaustralia.com.au/ubuntu/ precise/universe TranslationIndex [2,922 B]
Get:40 http://ubuntu.mirror.serversaustralia.com.au/ubuntu/ precise-updates/main i386 Packages [784 kB]
Get:41 http://security.ubuntu.com precise-security/main Translation-en [175 kB]
Get:42 http://ubuntu.mirror.serversaustralia.com.au/ubuntu/ precise-updates/restricted i386 Packages [12.2 kB]
Get:43 http://ubuntu.mirror.serversaustralia.com.au/ubuntu/ precise-updates/universe i386 Packages [243 kB]
Get:44 http://ubuntu.mirror.serversaustralia.com.au/ubuntu/ precise-updates/multiverse i386 Packages [15.5 kB]
Get:45 http://ubuntu.mirror.serversaustralia.com.au/ubuntu/ precise-updates/main TranslationIndex [3,564 B]
Get:46 http://ubuntu.mirror.serversaustralia.com.au/ubuntu/ precise-updates/multiverse TranslationIndex [2,605 B]
Get:47 http://ubuntu.mirror.serversaustralia.com.au/ubuntu/ precise-updates/restricted TranslationIndex [2,461 B]
Get:48 http://ubuntu.mirror.serversaustralia.com.au/ubuntu/ precise-updates/universe TranslationIndex [2,850 B]
Get:49 http://ubuntu.mirror.serversaustralia.com.au/ubuntu/ precise-backports/main i386 Packages [6,182 B]
Get:50 http://ubuntu.mirror.serversaustralia.com.au/ubuntu/ precise-backports/restricted i386 Packages [14 B]
Get:51 http://ubuntu.mirror.serversaustralia.com.au/ubuntu/ precise-backports/universe i386 Packages [38.0 kB]
Get:52 http://ubuntu.mirror.serversaustralia.com.au/ubuntu/ precise-backports/multiverse i386 Packages [5,178 B]
Get:53 http://ubuntu.mirror.serversaustralia.com.au/ubuntu/ precise-backports/main TranslationIndex [72 B]
Get:54 http://ubuntu.mirror.serversaustralia.com.au/ubuntu/ precise-backports/multiverse TranslationIndex [72 B]
Get:55 http://ubuntu.mirror.serversaustralia.com.au/ubuntu/ precise-backports/restricted TranslationIndex [70 B]
Get:56 http://ubuntu.mirror.serversaustralia.com.au/ubuntu/ precise-backports/universe TranslationIndex [73 B]
Get:57 http://ubuntu.mirror.serversaustralia.com.au/ubuntu/ precise-security/main i386 Packages [402 kB]
Get:58 http://ubuntu.mirror.serversaustralia.com.au/ubuntu/ precise-security/restricted i386 Packages [4,620 B]
Get:59 http://ubuntu.mirror.serversaustralia.com.au/ubuntu/ precise-security/universe i386 Packages [96.5 kB]
Get:60 http://security.ubuntu.com precise-security/multiverse Translation-en [1,299 B]
Get:61 http://security.ubuntu.com precise-security/restricted Translation-en [1,253 B]
Get:62 http://ubuntu.mirror.serversaustralia.com.au/ubuntu/ precise-security/multiverse i386 Packages [2,646 B]
Get:63 http://ubuntu.mirror.serversaustralia.com.au/ubuntu/ precise-security/main TranslationIndex [74 B]
Get:64 http://ubuntu.mirror.serversaustralia.com.au/ubuntu/ precise-security/multiverse TranslationIndex [72 B]
Get:65 http://ubuntu.mirror.serversaustralia.com.au/ubuntu/ precise-security/restricted TranslationIndex [72 B]
Get:66 http://ubuntu.mirror.serversaustralia.com.au/ubuntu/ precise-security/universe TranslationIndex [73 B]
Get:67 http://ubuntu.mirror.serversaustralia.com.au/ubuntu/ precise/main Translation-en [726 kB]
Get:68 http://security.ubuntu.com precise-security/universe Translation-en [56.7 kB]
Get:69 http://us.archive.ubuntu.com precise-updates/restricted i386 Packages [12.2 kB]
Get:70 http://ubuntu.mirror.serversaustralia.com.au/ubuntu/ precise/multiverse Translation-en [93.4 kB]
Get:71 http://us.archive.ubuntu.com precise-updates/universe i386 Packages [243 kB]
Get:72 http://ubuntu.mirror.serversaustralia.com.au/ubuntu/ precise/restricted Translation-en [2,395 B]
Get:73 http://ubuntu.mirror.serversaustralia.com.au/ubuntu/ precise/universe Translation-en [3,341 kB]
Get:74 http://us.archive.ubuntu.com precise-updates/multiverse i386 Packages [15.5 kB]
Get:75 http://us.archive.ubuntu.com precise-updates/main TranslationIndex [3,564 B]
Get:76 http://us.archive.ubuntu.com precise-updates/multiverse TranslationIndex [2,605 B]
Get:77 http://us.archive.ubuntu.com precise-updates/restricted TranslationIndex [2,461 B]
Get:78 http://us.archive.ubuntu.com precise-updates/universe TranslationIndex [2,850 B]
Get:79 http://us.archive.ubuntu.com precise-backports/main Sources [4,850 B]
Get:80 http://us.archive.ubuntu.com precise-backports/restricted Sources [14 B]
Get:81 http://us.archive.ubuntu.com precise-backports/universe Sources [36.4 kB]
Get:82 http://us.archive.ubuntu.com precise-backports/multiverse Sources [5,311 B]
Get:83 http://us.archive.ubuntu.com precise-backports/main i386 Packages [6,182 B]
Get:84 http://us.archive.ubuntu.com precise-backports/restricted i386 Packages [14 B]
Get:85 http://us.archive.ubuntu.com precise-backports/universe i386 Packages [38.0 kB]
Get:86 http://us.archive.ubuntu.com precise-backports/multiverse i386 Packages [5,178 B]
Get:87 http://ubuntu.mirror.serversaustralia.com.au/ubuntu/ precise-updates/main Translation-en [340 kB]
Get:88 http://us.archive.ubuntu.com precise-backports/main TranslationIndex [72 B]
Get:89 http://us.archive.ubuntu.com precise-backports/multiverse TranslationIndex [72 B]
Get:90 http://ubuntu.mirror.serversaustralia.com.au/ubuntu/ precise-updates/multiverse Translation-en [9,010 B]
Get:91 http://ubuntu.mirror.serversaustralia.com.au/ubuntu/ precise-updates/restricted Translation-en [2,988 B]
Get:92 http://ubuntu.mirror.serversaustralia.com.au/ubuntu/ precise-updates/universe Translation-en [138 kB]
Get:93 http://us.archive.ubuntu.com precise-backports/restricted TranslationIndex [70 B]
Get:94 http://ubuntu.mirror.serversaustralia.com.au/ubuntu/ precise-backports/main Translation-en [5,562 B]
Get:95 http://ubuntu.mirror.serversaustralia.com.au/ubuntu/ precise-backports/multiverse Translation-en [4,610 B]
Get:96 http://ubuntu.mirror.serversaustralia.com.au/ubuntu/ precise-backports/restricted Translation-en [14 B]
Get:97 http://ubuntu.mirror.serversaustralia.com.au/ubuntu/ precise-backports/universe Translation-en [28.0 kB]
Get:98 http://ubuntu.mirror.serversaustralia.com.au/ubuntu/ precise-security/main Translation-en [175 kB]
Get:99 http://us.archive.ubuntu.com precise-backports/universe TranslationIndex [73 B]
Get:100 http://ubuntu.mirror.serversaustralia.com.au/ubuntu/ precise-security/multiverse Translation-en [1,299 B]
Get:101 http://ubuntu.mirror.serversaustralia.com.au/ubuntu/ precise-security/restricted Translation-en [1,253 B]
Get:102 http://ubuntu.mirror.serversaustralia.com.au/ubuntu/ precise-security/universe Translation-en [56.7 kB]
Hit http://us.archive.ubuntu.com precise/main Translation-en
Hit http://us.archive.ubuntu.com precise/multiverse Translation-en
Hit http://us.archive.ubuntu.com precise/restricted Translation-en
Hit http://us.archive.ubuntu.com precise/universe Translation-en
Get:103 http://us.archive.ubuntu.com precise-updates/main Translation-en [340 kB]
Get:104 http://us.archive.ubuntu.com precise-updates/multiverse Translation-en [9,010 B]
Get:105 http://us.archive.ubuntu.com precise-updates/restricted Translation-en [2,988 B]
Get:106 http://us.archive.ubuntu.com precise-updates/universe Translation-en [138 kB]
Get:107 http://us.archive.ubuntu.com precise-backports/main Translation-en [5,562 B]
Get:108 http://us.archive.ubuntu.com precise-backports/multiverse Translation-en [4,610 B]
Hit http://us.archive.ubuntu.com precise-backports/restricted Translation-en
Get:109 http://us.archive.ubuntu.com precise-backports/universe Translation-en [28.0 kB]
Fetched 16.2 MB in 32s (500 kB/s)
Reading package lists...
==> default: Running provisioner: puppet...
Running Puppet with development.pp...
stdin: is not a tty
warning: Could not retrieve fact fqdn
notice: /Stage[main]/Mysql::Client::Install/Package[mysql_client]/ensure: ensure changed 'purged' to 'present'
notice: /Stage[main]/Mysql::Server/Package[mysql-server]/ensure: ensure changed 'purged' to 'present'
notice: /Stage[main]/Sennza::Php/Apt::Ppa[ppa:ondrej/php5-oldstable]/Package[python-software-properties]/ensure: ensure changed 'purged' to 'present'
notice: /Stage[main]//Package[git-core]/ensure: ensure changed 'purged' to 'present'
notice: /Stage[main]/Sennza::Php/Apt::Ppa[ppa:ondrej/php5-oldstable]/Exec[add-apt-repository-ppa:ondrej/php5-oldstable]/returns: executed successfully
notice: /Stage[main]/Sennza::Php/Apt::Ppa[ppa:ondrej/php5]/Exec[add-apt-repository-ppa:ondrej/php5]/returns: executed successfully
notice: /Stage[main]/Apt::Update/Exec[apt_update]: Triggered 'refresh' from 2 events
notice: /Stage[main]/Sennza::Php/Package[php5-common]/ensure: ensure changed 'purged' to '5.4.*'
notice: /Stage[main]/Sennza::Php/Package[php5-fpm]/ensure: ensure changed 'purged' to '5.4.*'
notice: /Stage[main]/Sennza::Php/Package[php5-mysql]/ensure: ensure changed 'purged' to '5.4.*'
notice: /Stage[main]/Sennza::Php/Package[php5-gd]/ensure: ensure changed 'purged' to '5.4.*'
notice: /Stage[main]/Sennza::Php/File[/etc/php5/fpm/php.ini]/content: content changed '{md5}3ea4680fd655d65ad0126ce616052b00' to '{md5}8ebd1ae0f7138eec8f5e45321676f5c5'
notice: /Stage[main]/Sennza::Php/File[/etc/php5/fpm/pool.d/www.conf]/content: content changed '{md5}378e59e6a4c5d5c800f824cc1cf2457b' to '{md5}22ced7b76a43aedc0817f407cdf55d33'
notice: /Stage[main]/Sennza::Php/Package[php5-curl]/ensure: ensure changed 'purged' to '5.4.*'
notice: /Stage[main]/Wp::Cli/Package[git]/ensure: created
notice: /Stage[main]/Wp::Cli/File[/usr/local/src/wp-cli]/ensure: created
notice: /Stage[main]/Wp::Cli/File[/usr/local/src/wp-cli/bin]/ensure: created
notice: /Stage[main]/Mysql::Config/File[/etc/mysql/my.cnf]/content: content changed '{md5}77f15d6c87f9c136c4efcda072017f71' to '{md5}471b6c669c3b45a4d490c3dd60c0788e'
notice: /Stage[main]/Mysql::Config/Exec[set_mysql_rootpw]/returns: executed successfully
notice: /Stage[main]/Mysql::Config/File[/root/.my.cnf]/ensure: defined content as '{md5}4406b559512f8619e61dff6ae3bdb02d'
notice: /Stage[main]/Mysql::Config/Exec[mysqld-restart]: Triggered 'refresh' from 2 events
notice: /Stage[main]/Sennza::Php/Package[php5-cli]/ensure: ensure changed 'purged' to '5.4.*'
notice: /Stage[main]/Sennza::Php/Service[php5-fpm]: Triggered 'refresh' from 5 events
notice: /Stage[main]/Sennza/Package[nginx]/ensure: ensure changed 'purged' to 'latest'
notice: /Stage[main]/Sennza/File[/etc/nginx/nginx.conf]/content: content changed '{md5}63ffd8673a37159cae0974918625189c' to '{md5}aad73167978c97cf25037a2efbd43646'
notice: /Stage[main]/Sennza/Package[sendmail]/ensure: ensure changed 'purged' to 'present'
notice: /Stage[main]/Sennza/Package[curl]/ensure: ensure changed 'purged' to 'latest'
notice: /Stage[main]/Wp::Cli/Exec[wp-cli download]/returns: executed successfully
notice: /Stage[main]/Wp::Cli/File[/usr/local/src/wp-cli/bin/wp]/mode: mode changed '0644' to '0755' (a+x)
notice: /Stage[main]/Wp::Cli/File[/usr/bin/wp]/ensure: created
notice: /Stage[main]//Sennza::Wp[vagrant.local]/Sennza::Site[vagrant.local]/File[/etc/nginx/sites-available/vagrant.local]/ensure: defined content as '{md5}c997209b4268291e4d24fd8c3660168d'
notice: /Stage[main]//Sennza::Wp[vagrant.local]/Sennza::Site[vagrant.local]/File[/etc/nginx/sites-enabled/vagrant.local]/ensure: created
notice: /Stage[main]/Sennza/Service[nginx]/ensure: ensure changed 'stopped' to 'running'
notice: /Stage[main]/Sennza/Service[nginx]: Triggered 'refresh' from 2 events
notice: /Stage[main]//Sennza::Wp[vagrant.local]/Sennza::Site[vagrant.local]/Mysql::Db[wordpress]/Database[wordpress]/ensure: created
notice: /Stage[main]//Sennza::Wp[vagrant.local]/Sennza::Site[vagrant.local]/Mysql::Db[wordpress]/Database_user[wordpress@localhost]/ensure: created
notice: /Stage[main]//Sennza::Wp[vagrant.local]/Sennza::Site[vagrant.local]/Mysql::Db[wordpress]/Database_grant[wordpress@localhost/wordpress]/privileges: privileges changed '' to 'all'
err: /Stage[main]//Sennza::Wp[vagrant.local]/Sennza::Site[vagrant.local]/Wp::Site[/vagrant/wp]/Exec[wp install /vagrant/wp]/returns: change from notrun to 0 failed: /usr/bin/wp core install --url='http://vagrant.local/' --title='WordPress Site' --admin_email='[email protected]' --admin_name='admin' --admin_password='password' returned 1 instead of one of [0] at /vagrant/puppet/modules/wp/manifests/site.pp:30
notice: Finished catalog run in 275.50 seconds
The following SSH command responded with a non-zero exit status.
Vagrant assumes that this means the command failed!

puppet apply --modulepath "/vagrant/puppet/modules" --manifestdir /tmp/vagrant-puppet-1/manifests --detailed-exitcodes /tmp/vagrant-puppet-1/manifests/development.pp || [ $? -eq 2 ]

Stdout from the command:

warning: Could not retrieve fact fqdn
notice: /Stage[main]/Mysql::Client::Install/Package[mysql_client]/ensure: ensure changed 'purged' to 'present'
notice: /Stage[main]/Mysql::Server/Package[mysql-server]/ensure: ensure changed 'purged' to 'present'
notice: /Stage[main]/Sennza::Php/Apt::Ppa[ppa:ondrej/php5-oldstable]/Package[python-software-properties]/ensure: ensure changed 'purged' to 'present'
notice: /Stage[main]//Package[git-core]/ensure: ensure changed 'purged' to 'present'
notice: /Stage[main]/Sennza::Php/Apt::Ppa[ppa:ondrej/php5-oldstable]/Exec[add-apt-repository-ppa:ondrej/php5-oldstable]/returns: executed successfully
notice: /Stage[main]/Sennza::Php/Apt::Ppa[ppa:ondrej/php5]/Exec[add-apt-repository-ppa:ondrej/php5]/returns: executed successfully
notice: /Stage[main]/Apt::Update/Exec[apt_update]: Triggered 'refresh' from 2 events
notice: /Stage[main]/Sennza::Php/Package[php5-common]/ensure: ensure changed 'purged' to '5.4.*'
notice: /Stage[main]/Sennza::Php/Package[php5-fpm]/ensure: ensure changed 'purged' to '5.4.*'
notice: /Stage[main]/Sennza::Php/Package[php5-mysql]/ensure: ensure changed 'purged' to '5.4.*'
notice: /Stage[main]/Sennza::Php/Package[php5-gd]/ensure: ensure changed 'purged' to '5.4.*'
notice: /Stage[main]/Sennza::Php/File[/etc/php5/fpm/php.ini]/content: content changed '{md5}3ea4680fd655d65ad0126ce616052b00' to '{md5}8ebd1ae0f7138eec8f5e45321676f5c5'
notice: /Stage[main]/Sennza::Php/File[/etc/php5/fpm/pool.d/www.conf]/content: content changed '{md5}378e59e6a4c5d5c800f824cc1cf2457b' to '{md5}22ced7b76a43aedc0817f407cdf55d33'
notice: /Stage[main]/Sennza::Php/Package[php5-curl]/ensure: ensure changed 'purged' to '5.4.*'
notice: /Stage[main]/Wp::Cli/Package[git]/ensure: created
notice: /Stage[main]/Wp::Cli/File[/usr/local/src/wp-cli]/ensure: created
notice: /Stage[main]/Wp::Cli/File[/usr/local/src/wp-cli/bin]/ensure: created
notice: /Stage[main]/Mysql::Config/File[/etc/mysql/my.cnf]/content: content changed '{md5}77f15d6c87f9c136c4efcda072017f71' to '{md5}471b6c669c3b45a4d490c3dd60c0788e'
notice: /Stage[main]/Mysql::Config/Exec[set_mysql_rootpw]/returns: executed successfully
notice: /Stage[main]/Mysql::Config/File[/root/.my.cnf]/ensure: defined content as '{md5}4406b559512f8619e61dff6ae3bdb02d'
notice: /Stage[main]/Mysql::Config/Exec[mysqld-restart]: Triggered 'refresh' from 2 events
notice: /Stage[main]/Sennza::Php/Package[php5-cli]/ensure: ensure changed 'purged' to '5.4.*'
notice: /Stage[main]/Sennza::Php/Service[php5-fpm]: Triggered 'refresh' from 5 events
notice: /Stage[main]/Sennza/Package[nginx]/ensure: ensure changed 'purged' to 'latest'
notice: /Stage[main]/Sennza/File[/etc/nginx/nginx.conf]/content: content changed '{md5}63ffd8673a37159cae0974918625189c' to '{md5}aad73167978c97cf25037a2efbd43646'
notice: /Stage[main]/Sennza/Package[sendmail]/ensure: ensure changed 'purged' to 'present'
notice: /Stage[main]/Sennza/Package[curl]/ensure: ensure changed 'purged' to 'latest'
notice: /Stage[main]/Wp::Cli/Exec[wp-cli download]/returns: executed successfully
notice: /Stage[main]/Wp::Cli/File[/usr/local/src/wp-cli/bin/wp]/mode: mode changed '0644' to '0755' (a+x)
notice: /Stage[main]/Wp::Cli/File[/usr/bin/wp]/ensure: created
notice: /Stage[main]//Sennza::Wp[vagrant.local]/Sennza::Site[vagrant.local]/File[/etc/nginx/sites-available/vagrant.local]/ensure: defined content as '{md5}c997209b4268291e4d24fd8c3660168d'
notice: /Stage[main]//Sennza::Wp[vagrant.local]/Sennza::Site[vagrant.local]/File[/etc/nginx/sites-enabled/vagrant.local]/ensure: created
notice: /Stage[main]/Sennza/Service[nginx]/ensure: ensure changed 'stopped' to 'running'
notice: /Stage[main]/Sennza/Service[nginx]: Triggered 'refresh' from 2 events
notice: /Stage[main]//Sennza::Wp[vagrant.local]/Sennza::Site[vagrant.local]/Mysql::Db[wordpress]/Database[wordpress]/ensure: created
notice: /Stage[main]//Sennza::Wp[vagrant.local]/Sennza::Site[vagrant.local]/Mysql::Db[wordpress]/Database_user[wordpress@localhost]/ensure: created
notice: /Stage[main]//Sennza::Wp[vagrant.local]/Sennza::Site[vagrant.local]/Mysql::Db[wordpress]/Database_grant[wordpress@localhost/wordpress]/privileges: privileges changed '' to 'all'
err: /Stage[main]//Sennza::Wp[vagrant.local]/Sennza::Site[vagrant.local]/Wp::Site[/vagrant/wp]/Exec[wp install /vagrant/wp]/returns: change from notrun to 0 failed: /usr/bin/wp core install --url='http://vagrant.local/' --title='WordPress Site' --admin_email='[email protected]' --admin_name='admin' --admin_password='password' returned 1 instead of one of [0] at /vagrant/puppet/modules/wp/manifests/site.pp:30
notice: Finished catalog run in 275.50 seconds


Stderr from the command:

stdin: is not a tty

Xdebug temp work around

As #10 and #53 currently state that php5-xdebug is not available and adding it to the extensions in senzza::php fails during the provisioning, here's a temporary work around:

  1. Log into your box using vagrant ssh

  2. Install XDdebug by entering: sudo apt-get install php5-xdebug

  3. Enter php --ini to find your php.ini file (and additional ini files for PHP5 extensions). You will find all pathes with cli in between, as the env(/user) currently is cli.

  4. Open the ini file as admin user and replace cli with fpm: sudo -e /etc/php5/fpm/conf.d/20-xdebug.ini (or use the main file: sudo -e /etc/php5/fpm/php.ini).

  5. Enter the following lines at the end of the php.ini file that you got open in Nano/Pico

    xdebug.default_enable=1
    xdebug.remote_enable=1
    xdebug.remote_handler=dbgp
    xdebug.remote_host=vagrant.local
    xdebug.remote_port=9000
    xdebug.remote_autostart=0
    xdebug.remote_connect_back=1
    xdebug.idekey=PHPSTORM
    html_errors=On
    
  6. Restart Nginx with sudo service nginx restart

  7. Restart PHP5 FPM with sudo service php5-fpm restart

  8. Take a look at the output of phpinfo() to see xdebug as running library or add var_dump( $GLOBALS['wp'] ); (or any other thing to test-dump) to confirm that XDebug has taken over var_dump() with pretty print.

  9. If you want to be nice to yourself, you might want to consider adding the following to your .ini config:

    xdebug.var_display_max_children=-1
    xdebug.var_display_max_data=-1
    xdebug.var_display_max_depth=-1
    

Have chassis easily work as a drop-in for theme/plugin development.

Currently, this is the structure that we have to follow:

project-name
|_ Chassis
    |_ ...
    |_wp
       |_wp-content 
          |_ themes  <---| Work happens here 
          |_ plugins <---|

I would like to be able to drop Chassis into a theme (or plugin) development workflow, and keeping only that portion of wordpress visible for development:

project-name
|_ theme-name
    |_ files... <-- Chassis uses config.vm.synced_folder to map this to wp-content/themes/theme-name
|_ Chassis
    |_ ...

Or in the case of a plugin:

project-name
|_ plugin-name
    |_ files... <-- Chassis uses config.vm.synced_folder to map this to wp-content/plugins/plugin-name
|_ Chassis
    |_ ...

Keeping the actual wordpress installation only inside the virtual machine and not mapped to any directory in the host machine. The purpose of this is to have a self-contained Chassis drop-in for theme/plugin development that can be bundled with the sources without needing to bundle a complete WordPress installation too.

WordPress' files, updates, plugins, etc. in this case would be managed with wp-cli inside the vm only.

Any pointers on how to do this would be appreciated and I'd be glad to make a pull request if you guys find this could be useful (it would certainly be useful in my case)

My current approach is changing in puppet/manifests/development.pp

sennza::wp { $config['hosts'][0]:
    location          => '/vagrant',

For

sennza::wp { $config['hosts'][0]:
    location          => $config[wplocation],

So that the wplocation parameter can be set in config.yml to something other than /vagrant, and then (in the case of a theme) add:

config.vm.synced_folder "../theme-name", $config[wplocation] + "/wp-content/themes/theme-name", :extra => "dmode=777,fmode=777"

To map the appropriate folder to the Wordpress installation.

Let me know if this is something that would interest you and any pointers on getting it done.

Thanks

Unable to clone repo

I think I've missed something from your readme... Any advice?

$ git clone --recursive [email protected]:sennza/WordPress-Skeleton.git wp-project
Cloning into 'wp-project'...
Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

wp admin u/p?

So i had a virtual box corruption issue, lost my box - and had to remove everything and start over. However after cloning down a fresh install of Chassis and copying back in my old /content folder - upon navigating to local.vagrant, i'm not presented with the site setup dialog, everything appears to be setup already - 2014 is live. This is fine, but i don't know what the admin password is to get into the backend anymore and can't set it up.

advice?

Error on Installation (hint: I forgot submodules)

Issue

Puppet::Parser::AST::Resource failed with error ArgumentError: Invalid resource type apt::ppa at /tmp/vagrant-puppet-1/manifests/development.pp:2 on node vagrant

Solution
git submodule update --init

Notes
This issue is 100% related to my lack of newbie GIT knowledge, but might help solve a newb issue from facepalming.

Add WP-CLI command to create and setup

Using WP CLI's new community packages feature, we can create a tool to set up and work with the skeleton.

  • wp sennza create - Set up a new Skeleton and content directory
  • wp sennza sync - Rebase Skeleton and content directories from their upstream equivalents (i.e. update project specific from the base repos)

Add XHProf

For those times when Query Monitor isn't enough.

413 Request Entity Too Large

We need to alter site.nginx.conf.erb to add in a client_max_body_size to prevent 413 errors when files and images are uploaded.

Add GD

We've added ImageMagick to our skeleton but we should add GD as well.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.