GithubHelp home page GithubHelp logo

ghost-vagrant's People

Contributors

ananthhh avatar bteng22 avatar codelahoma avatar cwonrails avatar dscape avatar erisds avatar halfdan avatar jaswilli avatar javorszky avatar jgable avatar jgillich avatar johnonolan avatar mike182uk avatar petems avatar sebgie avatar stantond avatar stevewooding avatar tonyyates avatar tybenz 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

ghost-vagrant's Issues

Initialization should be provided

There are some steps in the README that one must execute to get the box set up so that node index.js will work.

Wondering if/how those can be added to the puppet manifests.

In addition, once the git, npm, and grunt stuff has been executed it seems as though the puppet manifests could autostart the node application.

I have some changes check in on my fork that use upstart to daemonize the node app. But I can't figure out how to execute the git submodule update, npm install, and grunt init first.

Any thoughts?

NFS Not Working

I'm having issues with Vagrant hanging on nfs mount. I'm on a mac with Yosemite running latest Vagrant and Yosemite.

I found some threads for other projects that encountered similar issues. Do you know of any issues with this setup or base OS?

Instructions should use --init in git-submodule as well

When you check out the Ghost repository, and later go into it to include casper, you say to run git submodule update --recursive in the repository in the VM. However, that doesn't actually pull down casper as the repository hasn't been initialized. It's a simple change, just change it to git submodule update --init --recursive.

git --version reports 1.9.7.5 in the VM.

Initial Vagrant VM Setup

Just for record keeping, here's the goal for the initial box.

  • Puppet based configuration
  • Ubuntu Precise base box (most likely amd64 from ubuntu cloud images)
  • NVM to manage node versions for testing, but 0.10.latest as default.
  • Globally installed packages; grunt, sass, compass
  • Configurable (but intelligent defaults) paths to ghost source folders so they can be attached to the vagrant machine to be run.

If anyone has any big objections to this, go ahead and let me know on this thread. Probably the most controversial things are the puppet based provisioner over Chef and the amd64 ubuntu box.

Typos in README.md

Spotted a couple of typos in the README file.

On line 16, nfs-kernel-server is a missing the r in server.

On line 102, the word failes should be fails.

I would like to be assigned this issue so I can practice going through the Ghost PR workflow.

Thank you.

Error: grunt init returned 6 instead of one of [0]

I get the following output during vagrant up:

Notice: /Stage[main]/Mysql/Mysql_database[ghost_test]/ensure: created
Notice: /Stage[main]/Mysql/Mysql_user[ghost@localhost]/ensure: created
Notice: /Stage[main]/Mysql/Mysql_database[ghost_dev]/ensure: created
Notice: /Stage[main]/Mysql/Mysql_database[ghost_prod]/ensure: created
Notice: Finished catalog run in 368.79 seconds


Stderr from the command:

stdin: is not a tty
Warning: Config file /etc/puppet/hiera.yaml not found, using Hiera defaults
Error: grunt init returned 6 instead of one of [0]
Error: /Stage[main]/Ghost/Exec[grunt init]/returns: change from notrun to 0 failed: grunt init returned 6 instead of one of [0]

I'm unsure if it's related but http://local.tryghost.org/ gives a 502 bad gateway error.

Adopt versioning process fully or drop versioning completely

Hey,

Whilst i was updating the docs i came across the changelog section that contains version numbers for the changes that have been made. I can see that the version number is also included in the motd template.

The project does not seem to tag the versions or have any sort of release process around versioning so i'm not sure we are getting any benefit out of applying version numbers when we make a change. Its easy to forget to do this also when a change is made, so the documentation and referenced version number in the motd template soon become out of date.

I would like to propose one of the following:

a) drop applying version numbers and have a dated changelog instead
b) drop applying version numbers and drop the changelog - do we really need the changelog? can we not just see this information in the Git history if its really needed?
c) adopt a more formal release process and tag releases with the appropriate version number in Github

thoughts?

Custom Configuration

With our current configuration it needs a bit of digging before someone who is not familiar with Vagrant is able to modify basic settings.

To make it easier to customize the configuration without having to understand how a Vagrantfile works, I would suggest to collect the following options in one place to make editing easier:

  • VM hostname
  • VM IP address
  • VM memory
  • Host directory that is mounted into /home/vagrant/code/Ghost

A short explanation what these values are used for would also help.

I see 2 options to make that work:

  • add variables with comments at the beginning of our Vagrantfile
  • add the option to use a separate config file (config.yaml) for these values

The values that are used in our current configuration seem to be sensible default values and should stay the same if the user doesn't change them manually.

Thoughts?

Error 255 when upgrade the ghost

Hi, all:
I upgrade the ghost from 0.3.3 to 0.5.8 according the document given by http://support.ghost.org/how-to-upgrade/
1.Download the latest version of Ghost from Ghost.org
2.Extract the zip file to a temporary location
3.Delete existing index.js and package.json then copy new index.js and package.json files to the same directory.
4.Next, delete the old core directory completely, and then put the new core directory in its place.
5.For releases which include update to Casper (the default theme), delete the old content/themes/casper directory and put the new one its place
6.Run npm install --production
7.Finally, Restart Ghost so that the changes take effect

Then, when i use "npm start" to start my ghost, there is an error happen, here is log:

[email protected] start /home/xiaohuolu/blog
node index

Migrations: Database upgrade required from version 000 to 003
Migrations: Creating database backup
Migrations: Database backup written to: /home/xiaohuolu/blog/content/data/vinllen-chens-blog.ghost.2015-01-13.json
Migrations: Running migrations
Migrations: Creating table: permissions_apps
Migrations: Creating table: apps
Migrations: Creating table: app_settings
Migrations: Creating table: app_fields
Migrations: Creating table: clients
Migrations: Creating table: accesstokens
Migrations: Creating table: refreshtokens
Migrations: Adding column: tags.image
Migrations: Adding column: tags.hidden
Migrations: Updating fixtures
Migrations: Upgrading fixtures
Migrations: Adding client fixture
Migrations: Adding owner role fixture
Migrations: Upgrading permissions
Migrations: Populating permissions
Migrations: Removing old permissions
Migrations: Converting admin to owner
Migrations: Populating default settings
Migrations: Complete

ERROR: (Code: EACCES)
There was an error starting your server.
Please use the error code above to search for a solution.

npm ERR! weird error 255
npm WARN This failure might be due to the use of legacy binary "node"
npm WARN For further explanations, please read
/usr/share/doc/nodejs/README.Debian

npm ERR! not ok code 0

Thanks for anyone's reply

Install PhantomJS and CasperJS

The functional tests require CasperJS to be installed, it would thus be nice if these were already installed by vagrant or if we at least provided directions for getting them setup and running them. It took me about an hour and a half to figure it out with no pre-existing knowledge of CasperJS.

Vagrant setup asking for password?

Vagrant setup proceeds normally through the mapping of shared folders and "Exporting NFS shared folders…". The next message is "Preparing to edit /etc/exports. Administrator privileges will be required…". This is followed by a Password prompt.
I'm assuming this is the Vagrant VM, but the usual 'vagrant' password doesn't work, and I would have thought the default use of private/public keys for vagrant would have been utilized…what password is required here?
thanks!
LG
OSX, Virtualbox 4.2.22, extension pack 4.2.20---

Requires puppet

When running vagrant up I get the following error.

Unable to load puppet. Please install it using native packages for your platform (eg .deb, .rpm, .dmg, etc).
No such file or directory - puppet

Perhaps puppet should be listed in the prerequisites?

Exec Error

Hello,

I've a problem to mount Ghost on Vagrant on Mac OsX.

When I enter 'vagrant up', my terminal return this error "Exec error: fork/exec /opt/vagrant/embedded/bin/ruby: argument list too long"

Ave you an idea to resolve this ?

Thx

Error while trying to install

I followed the guide in the readme, but got errors while doing vagrant up.
Also I noticed that in this repo and in my clone after running the two git submodule steps, that sqlite isn't in the modules folder.
Can you please check if everything is working for you.

Maybe this has to do with the change to ember-cli or so... /cc @novaugust

Thanks in advance

Vagrant up hangs with SSH timeout error

Hi all,
I am trying to run Ghost-Vagrant on Mavericks (10.9.2) with Ghost-Vagrant version (5f29db8). When I run vagrant up (I did the submodule updating) the virtual machine gets created but their is a connection timeout for SSH.
screen shot 2014-04-30 at 9 55 28 pm

I followed up and found that this might happen due to not having vagrant user inside the box. I tried to solve this couple of times but no success on that.

Errors during vagrant up

Hi All,
I installed virtual box (4.2.2), vagrant and ghost-vagrant as read me documentation on my ; also i upgraded virtual box guest addition.
After vagrant up command 'git submodule update' error occur (my logs following):

Bringing machine 'default' up with 'virtualbox' provider...
[default] Setting the name of the VM...
[default] Clearing any previously set forwarded ports...
[default] Creating shared folders metadata...
[default] Clearing any previously set network interfaces...
[default] Preparing network interfaces based on configuration...
[default] Forwarding ports...
[default] -- 22 => 2222 (adapter 1)
[default] Running any VM customizations...
[default] Booting VM...
[default] Waiting for VM to boot. This can take a few minutes.
[default] VM booted and ready for use!
GuestAdditions 4.2.22 running --- OK.
[default] Configuring and enabling network interfaces...
[default] Mounting shared folders...
[default] -- /vagrant
[default] -- /tmp/vagrant-puppet/manifests
[default] -- /tmp/vagrant-puppet/modules-0
[default] Exporting NFS shared folders...
Preparing to edit /etc/exports. Administrator privileges will be required...
Password:
[default] Mounting NFS shared folders...
[default] Running provisioner: puppet...
Running Puppet with base.pp...
warning: Could not retrieve fact fqdn
err: /Stage[main]/Ghost/Exec[git submodule update]/returns: change from notrun to 0 failed: git submodule update --init returned 128 instead of one of [0] at /tmp/vagrant-puppet/modules-0/ghost/manifests/init.pp:62
notice: /Stage[main]/Nvm/Exec[set-node-version]/returns: executed successfully
err: /Stage[main]/Ghost/Exec[npm-install-packages]/returns: change from notrun to 0 failed: npm install returned 34 instead of one of [0] at /tmp/vagrant-puppet/modules-0/ghost/manifests/init.pp:56
notice: /Stage[main]/Ghost/Exec[grunt init]: Dependency Exec[npm-install-packages] has failures: true
warning: /Stage[main]/Ghost/Exec[grunt init]: Skipping because of failed dependencies
notice: /Stage[main]/Upstart/Service[app]/ensure: ensure changed 'stopped' to 'running'
notice: Finished catalog run in 1.36 seconds
The following SSH command responded with a non-zero exit status.
Vagrant assumes that this means the command failed!

cd /tmp/vagrant-puppet/manifests && puppet apply --modulepath '/etc/puppet/modules:/tmp/vagrant-puppet/modules-0' base.pp --detailed-exitcodes || [ $? -eq 2 ]

Can you help me?
Thanks
Regards
Gianluca

Versions

Can someone tell me how versions are tracked in this project? Is there a manifest file of some sort with the version? Also i noticed there's no tags, is this intentional or it's just an oversight: e.g. forgot to git push --tags ?

Improve README.md

Our current readme is very minimalistic (Changlog has more lines than Instructions) and doesn't really explain what is going on behind the curtain. For new contributors this is not very helpful since they are able to get a new VM up and running within minutes, but don't know how to customize it without reading Vagrant or Puppet documentation.

In my opinion it would be good to answer the the following list of questions along with install and usage instructions.

  • What software is available on the VM?
  • What services are running after vagrant up?
  • How to start/stop/restart/provision an existing VM?
  • What does vagrant ssh do?
  • How to mount a custom directory? (see #72)
  • Why would I want to use Ghost-Vagrant and how does it help my Ghost development?
  • How to use the preconfigured SSL certificates?
  • ...?

NFS does not work on Mac

I have Vagrant 1.6.3 and OSX 10.10.1

it get stuck at default: Mounting NFS shared folders... and then gives the following error after a while:

The following SSH command responded with a non-zero exit status.                            
Vagrant assumes that this means the command failed!

mount -o 'vers=3,udp' 192.168.33.1:'/Users/hadifarnoud/Projects/Vagrant/ghost' /home/vagrant/code/Ghost

Stdout from the command:



Stderr from the command:

stdin: is not a tty
mount.nfs: Connection timed out

1GB of RAM

On https://github.com/TryGhost/Ghost-Vagrant/blob/master/Vagrantfile#L50 you set the VMs RAM to 1GB? I hope this is not a requirement of Ghost and its just assigning extra RAM to make the VM faster?

If its the latter, wouldn't it make more sense to lower this and then if developers need more RAM when developing then they can increase that. Most users may not check this and if they have slow machines may feel the Vagrant box is too slow.

If its actually required RAM for Ghost to run, then how come?

error occurred while installing json (1.8.3)

Hi

I'm getting the following error. Unfortunately, I don't have the knowledge to debug this. Let me know if there is any more digging I can do.

C:\web\Ghost-Vagrant>vagrant up
Installing the 'vagrant-librarian-puppet' plugin. This can take a few minutes...
Bundler, the underlying system Vagrant uses to install plugins,
reported an error. The error is shown below. These errors are usually
caused by misconfigured plugin installations or transient network
issues. The error from Bundler is:

An error occurred while installing json (1.8.3), and Bundler cannot continue.
Make sure that `gem install json -v '1.8.3'` succeeds before bundling.

Warning: this Gemfile contains multiple primary sources. Using `source` more than once without a block is a security risk, and may result in installing unexpected gems. To resolve this warning, use a block to indicate which gems should come from the secondary source. To upgrade this warning to an error, run `bundle config disable_multisource true`.Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

    "C:/Program Files (x86)/HashiCorp/Vagrant/embedded/bin/ruby.exe" -r ./siteconf20160221-9472-1lb3fg6.rb extconf.rb
creating Makefile

make "DESTDIR=" clean

make "DESTDIR="
generating generator-i386-mingw32.def
/bin/sh: -c: line 0: syntax error near unexpected token `x86'
/bin/sh: -c: line 0: `/C/Program\ Files\ (x86)/HashiCorp/Vagrant/embedded/bin/ruby -e "puts 'EXPORTS', 'Init_generator'"  > generator-i386-mingw32.def'
make: *** [generator-i386-mingw32.def] Error 2

make failed, exit code 2

Gem files will remain installed in C:/Users/Daniel/.vagrant.d/gems/gems/json-1.8.3 for inspection.
Results logged to C:/Users/Daniel/.vagrant.d/gems/extensions/x86-mingw32/2.2.0/json-1.8.3/gem_make.out

Thanks

VM is really slow

My VM is really slow during development. Running the jshint is taking a really long time.

I'm going to start looking into the problem today, in case it's affecting anyone else.

Improve nginx SSL setup

The no.1 thing I use Vagrant for, is testing SSL and the URL configs that you can't do without nginx.

The keys are present on the box, but the default nginx config doesn't use them, which is fine. However it would be really nice to:

  1. provide an easy way to switch to the SSL config
  2. document what that is in the README

I think the default nginx config is kind of halfway to having an SSL config that can be uncommented, but I believe it's missing some stuff. The config file also has other bits and pieces in it which I think are unnecessary.

It would be better, I think, if it matched the support docs.

Default setup doesn't point to local.tryghost.org

The instructions have you create a hosts entry for local.tryghost.org pointing to the the VM's address, but Ghost startup copies config.example.js, which has URLs set to my-ghost-blog.com.

I'd be happy to take care of this, but would like some guidance on where in the process the correction this would best take place (so I know which tool to learn first :-)). I suspect it'll be in the Vagrant/Puppet processing, since that's independent of the Ghost project proper.

Unable to load puppet

Having problems spinning up the vagrant box when running 'vagrant up'. Haven't used Vagrant+Puppet in a while :( Any help would be greatly appreciated!

I installed the latest versions of Vagrant (1.8.1) and VirtualBox (5.0.12 r104815). Using ruby version (2.3.0).

Bringing machine 'default' up with 'virtualbox' provider...
==> default: Removing hosts
==> default: Installing Puppet modules in "." with Librarian-Puppet...
Unable to load puppet. Please install it using native packages for your platform (eg .deb, .rpm, .dmg, etc).
puppet --version returned pid 6864 exit 1
/Users/brandonteng/.vagrant.d/gems/gems/puppet-3.4.3/lib/puppet/defaults.rb:343: warning: duplicated key at line 344 ignored: :queue_type
/Users/brandonteng/.vagrant.d/gems/gems/puppet-3.4.3/lib/puppet/vendor/safe_yaml/lib/safe_yaml/syck_node_monkeypatch.rb:42:in `<top (required)>': uninitialized constant Syck (NameError)
    from /Users/brandonteng/.vagrant.d/gems/gems/puppet-3.4.3/lib/puppet/vendor/safe_yaml/lib/safe_yaml.rb:197:in `require'
    from /Users/brandonteng/.vagrant.d/gems/gems/puppet-3.4.3/lib/puppet/vendor/safe_yaml/lib/safe_yaml.rb:197:in `<module:YAML>'
    from /Users/brandonteng/.vagrant.d/gems/gems/puppet-3.4.3/lib/puppet/vendor/safe_yaml/lib/safe_yaml.rb:132:in `<top (required)>'
    from /Users/brandonteng/.vagrant.d/gems/gems/puppet-3.4.3/lib/puppet/vendor/require_vendored.rb:4:in `require'
    from /Users/brandonteng/.vagrant.d/gems/gems/puppet-3.4.3/lib/puppet/vendor/require_vendored.rb:4:in `<top (required)>'
    from /Users/brandonteng/.vagrant.d/gems/gems/puppet-3.4.3/lib/puppet/vendor.rb:38:in `require'
    from /Users/brandonteng/.vagrant.d/gems/gems/puppet-3.4.3/lib/puppet/vendor.rb:38:in `require_libs'
    from /Users/brandonteng/.vagrant.d/gems/gems/puppet-3.4.3/lib/puppet/vendor.rb:51:in `load_vendored'
    from /Users/brandonteng/.vagrant.d/gems/gems/puppet-3.4.3/lib/puppet.rb:164:in `<module:Puppet>'
    from /Users/brandonteng/.vagrant.d/gems/gems/puppet-3.4.3/lib/puppet.rb:29:in `<top (required)>'
    from /Users/brandonteng/.vagrant.d/gems/gems/puppet-3.4.3/lib/puppet/util/command_line.rb:12:in `require'
    from /Users/brandonteng/.vagrant.d/gems/gems/puppet-3.4.3/lib/puppet/util/command_line.rb:12:in `<top (required)>'
    from /Users/brandonteng/.vagrant.d/gems/gems/puppet-3.4.3/bin/puppet:3:in `require'
    from /Users/brandonteng/.vagrant.d/gems/gems/puppet-3.4.3/bin/puppet:3:in `<top (required)>'
    from /Users/brandonteng/.vagrant.d/gems/bin/puppet:23:in `load'
    from /Users/brandonteng/.vagrant.d/gems/bin/puppet:23:in `<main>'

Start/Stop service doesn't work

Starting up the vagrant box, I can't access local.ghost.com on the host. Also:

vagrant@local:~$ sudo start app
start: Job failed to start
vagrant@local:~$ sudo stop app
stop: Unknown instance:

npm start works:

vagrant@local:~$ cd code/Ghost
vagrant@local:~/code/Ghost$ npm start

> [email protected] start /home/vagrant/code/Ghost
> node index

WARNING: Ghost is attempting to use a direct method to send email.
It is recommended that you explicitly configure an email service.
Help and documentation can be found at http://support.ghost.org/mail.

Migrations: Up-to-date at version 005
Ghost is running in development...
Listening on 127.0.0.1:2368
Url configured as: http://localhost:2368
Ctrl+C to shut down

I'd appreciate some advice on troubleshooting this further.

What are the default Ghost account credentials?

Thanks for this project, it helped me get Ghost up and running on my machine where a direct installation always failed!

I'm stuck now though because it seems as though a ghost account was automatically created, but I can't find the credentials to access it anywhere in this repo or in tryghost/ghost.

I tried creating an account at http://local.tryghost.org/ghost/setup, but that failed (briefly displaying a URL mismatch error, I think) and now I can't get back to that setup page http://local.tryghost.org/ghost/setup redirects to http://local.tryghost.org/ghost/signin and the credentials I entered in /setup aren't accepted.

Any help is appreciated, thanks!

Add mysql & pg

It would be great if we could get both mysql & pg configured on the vagrant box.

Not sure if there is a way to keep a config file on there with examples for each, but that would be awesome too.

Note: this repo is a bit under maintained, if anyone is interested in taking it on please let me know 👻

Vagrant Up, The plugins failed to load : uninitialized constant Vagrant::Provisioners::Base

Surely this is user error :). I am trying to follow the instructions from https://github.com/TryGhost/Ghost-Vagrant . I did have to uninstall my Vagrant gem and reinstall it, but that seemed to go well. Any ideas? Thank you so much!

$ git clone https://github.com/TryGhost/Ghost-Vagrant bcdo-ghost
Cloning into 'bcdo-ghost'...Checking connectivity... done
$ cd bcdo-ghost/
$ git status
# On branch master
nothing to commit, working directory clean

$ git submodule init
Submodule 'modules/mysql' (https://github.com/puppetlabs/puppetlabs-mysql) registered for path 'modules/mysql'
Submodule 'modules/stdlib' (https://github.com/puppetlabs/puppetlabs-stdlib.git) registered for path 'modules/stdlib'

$ git submodule update --recursive
Cloning into 'modules/mysql'...
remote: Reusing existing pack: 3371, done.
remote: Counting objects: 5, done.
remote: Compressing objects: 100% (5/5), done.
remote: Total 3376 (delta 0), reused 0 (delta 0)
Receiving objects: 100% (3376/3376), 733.42 KiB | 0 bytes/s, done.
Resolving deltas: 100% (1520/1520), done.
Checking connectivity... done
Submodule path 'modules/mysql': checked out '1454a5ba198ff48a13d0843f9682e70e28abc83f'
Cloning into 'modules/stdlib'...
remote: Reusing existing pack: 4811, done.
remote: Counting objects: 45, done.
remote: Compressing objects: 100% (41/41), done.
remote: Total 4856 (delta 29), reused 6 (delta 4)
Receiving objects: 100% (4856/4856), 979.08 KiB | 0 bytes/s, done.
Resolving deltas: 100% (1849/1849), done.
Checking connectivity... done
Submodule path 'modules/stdlib': checked out 'ab981422a67636441f1bfebaaade36aa690f1f25'

$ pwd
~/src/bcdo-ghost
$ ls
LICENSE     README.md   Vagrantfile manifests   modules

#Edit my folder path
$ pico Vagrantfile
# Edit my port/host
$ sudo pico /etc/hosts

$ pwd
/Users/amoroney/src/bcdo-ghost


$ git clone https://github.com/TryGhost/Ghost tdd-ghost
Cloning into 'tdd-ghost'...
...Checking connectivity... done
$ pwd
~/src
$ cd ./tdd-ghost/
$ vagrant up
Vagrant failed to initialize at a very early stage:
The plugins failed to load properly. The error message given is
shown below.
uninitialized constant Vagrant::Provisioners::Base

# There is no Vagrantfile here so go back to the VM folder
$ ls
CONTRIBUTING.md     README.md       config.example.js   index.js
Gruntfile.js        SECURITY.md     content         package.json
LICENSE         bower.json      core

$ cd ../bcdo-ghost/
$ ls
LICENSE     README.md   Vagrantfile manifests   modules
$ vagrant up
Vagrant failed to initialize at a very early stage:
The plugins failed to load properly. The error message given is
shown below.
uninitialized constant Vagrant::Provisioners::Base

//AnneTheAgile

npm install fails

I'm honestly not sure what to make of this. Running npm install, as in the readme:

vagrant@local:~$ cd code/Ghost
vagrant@local:~/code/Ghost$ npm install

> [email protected] preinstall /home/vagrant/code/Ghost
> npm install semver && node -e "require('./core/server/utils/startup-check.js').nodeVersion()"

[email protected] node_modules/semver
npm WARN engine [email protected]: wanted: {"node":">=0.12"} (current: {"node":"0.10.38","npm":"1.4.28"})
npm WARN engine [email protected]: wanted: {"node":">=0.12.0"} (current: {"node":"0.10.38","npm":"1.4.28"})
npm WARN deprecated [email protected]: graceful-fs v3.0.0 and before will fail on node releases >= v7.0. Please update to graceful-fs@^4.0.0 as soon as possible. Use 'npm ls graceful-fs' to find it in the tree.
npm WARN deprecated [email protected]: Jade has been renamed to pug, please install the latest version of pug instead of jade
npm WARN deprecated [email protected]: graceful-fs v3.0.0 and before will fail on node releases >= v7.0. Please update to graceful-fs@^4.0.0 as soon as possible. Use 'npm ls graceful-fs' to find it in the tree.
npm WARN engine [email protected]: wanted: {"node":">=0.10.40"} (current: {"node":"0.10.38","npm":"1.4.28"})
npm WARN engine [email protected]: wanted: {"node":">=0.10.40"} (current: {"node":"0.10.38","npm":"1.4.28"})
npm WARN engine [email protected]: wanted: {"node":">=0.10.40"} (current: {"node":"0.10.38","npm":"1.4.28"})
npm WARN engine [email protected]: wanted: {"node":">=0.12"} (current: {"node":"0.10.38","npm":"1.4.28"})
npm WARN engine [email protected]: wanted: {"node":">=0.12"} (current: {"node":"0.10.38","npm":"1.4.28"})
npm WARN engine [email protected]: wanted: {"node":">=0.12.0"} (current: {"node":"0.10.38","npm":"1.4.28"})
npm WARN deprecated [email protected]: graceful-fs v3.0.0 and before will fail on node releases >= v7.0. Please update to graceful-fs@^4.0.0 as soon as possible. Use 'npm ls graceful-fs' to find it in the tree.

> [email protected] preinstall /home/vagrant/code/Ghost/node_modules/grunt-docker/node_modules/docker/node_modules/watchr/node_modules/bal-util/node_modules/typechecker
> node ./cyclic.js

npm WARN engine [email protected]: wanted: {"node":">=0.12.0","iojs":">=1.0.0"} (current: {"node":"0.10.38","npm":"1.4.28"})
npm WARN engine [email protected]: wanted: {"node":">=0.10.40"} (current: {"node":"0.10.38","npm":"1.4.28"})
npm WARN engine [email protected]: wanted: {"node":">=0.10.40"} (current: {"node":"0.10.38","npm":"1.4.28"})
npm WARN engine [email protected]: wanted: {"node":">=0.10.40"} (current: {"node":"0.10.38","npm":"1.4.28"})
npm WARN engine [email protected]: wanted: {"node":">=0.10.40"} (current: {"node":"0.10.38","npm":"1.4.28"})
npm WARN engine [email protected]: wanted: {"node":">=0.10.40"} (current: {"node":"0.10.38","npm":"1.4.28"})
npm WARN engine [email protected]: wanted: {"node":">=0.10.40"} (current: {"node":"0.10.38","npm":"1.4.28"})
\
> [email protected] postinstall /home/vagrant/code/Ghost/node_modules/jsonpath
> node lib/aesprim.js > generated/aesprim-browser.js

npm WARN engine [email protected]: wanted: {"node":">=0.12"} (current: {"node":"0.10.38","npm":"1.4.28"})
npm WARN engine [email protected]: wanted: {"node":">=0.12"} (current: {"node":"0.10.38","npm":"1.4.28"})
npm WARN engine [email protected]: wanted: {"node":">=0.12"} (current: {"node":"0.10.38","npm":"1.4.28"})
npm WARN engine [email protected]: wanted: {"node":">=0.12"} (current: {"node":"0.10.38","npm":"1.4.28"})

> [email protected] install /home/vagrant/code/Ghost/node_modules/sqlite3
> node-pre-gyp install --fallback-to-build

[sqlite3] Success: "/home/vagrant/code/Ghost/node_modules/sqlite3/lib/binding/node-v11-linux-x64/node_sqlite3.node" is installed via remote
npm WARN engine [email protected]: wanted: {"node":">=0.12"} (current: {"node":"0.10.38","npm":"1.4.28"})
npm WARN engine [email protected]: wanted: {"node":">=0.12"} (current: {"node":"0.10.38","npm":"1.4.28"})
npm ERR! EEXIST, open '/home/vagrant/.npm/cc7a7c07-nt-npm-lodash-4-12-0-package-tgz.lock'
File exists: /home/vagrant/.npm/cc7a7c07-nt-npm-lodash-4-12-0-package-tgz.lock
Move it away, and try again.

npm ERR! System Linux 3.13.0-79-generic
npm ERR! command "/home/vagrant/nvm/v0.10.38/bin/node" "/home/vagrant/nvm/v0.10.38/bin/npm" "install"
npm ERR! cwd /home/vagrant/code/Ghost
npm ERR! node -v v0.10.38
npm ERR! npm -v 1.4.28
npm ERR! path /home/vagrant/.npm/cc7a7c07-nt-npm-lodash-4-12-0-package-tgz.lock
npm ERR! code EEXIST
npm ERR! errno 47
npm ERR! not ok code 0
vagrant@local:~/code/Ghost$ npm start

> [email protected] start /home/vagrant/code/Ghost
> node index

ERROR: Ghost is unable to start due to missing dependencies:
  Cannot find module 'cheerio'

Please run `npm install --production` and try starting Ghost again.
Help and documentation can be found at http://support.ghost.org.


npm ERR! [email protected] start: `node index`
npm ERR! Exit status 233
npm ERR!
npm ERR! Failed at the [email protected] start script.
npm ERR! This is most likely a problem with the ghost package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node index
npm ERR! You can get their info via:
npm ERR!     npm owner ls ghost
npm ERR! There is likely additional logging output above.
npm ERR! System Linux 3.13.0-79-generic
npm ERR! command "/home/vagrant/nvm/v0.10.38/bin/node" "/home/vagrant/nvm/v0.10.38/bin/npm" "start"
npm ERR! cwd /home/vagrant/code/Ghost
npm ERR! node -v v0.10.38
npm ERR! npm -v 1.4.28
npm ERR! code ELIFECYCLE
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR!     /home/vagrant/code/Ghost/npm-debug.log
npm ERR! not ok code 0
vagrant@local:~/code/Ghost$ npm install --production

Running npm install --production, as in the readme on the Ghost repo:

vagrant@local:~/code/Ghost$ npm install --production

> [email protected] preinstall /home/vagrant/code/Ghost
> npm install semver && node -e "require('./core/server/utils/startup-check.js').nodeVersion()"

npm WARN package.json [email protected] No README data
npm WARN package.json [email protected] No README data
[email protected] node_modules/semver
npm WARN package.json [email protected] No README data
npm WARN package.json [email protected] No README data
npm WARN engine [email protected]: wanted: {"node":">=0.12.0"} (current: {"node":"0.10.38","npm":"1.4.28"})
npm WARN engine [email protected]: wanted: {"node":">=0.10.40"} (current: {"node":"0.10.38","npm":"1.4.28"})
npm WARN engine [email protected]: wanted: {"node":">=0.10.40"} (current: {"node":"0.10.38","npm":"1.4.28"})
npm WARN engine [email protected]: wanted: {"node":">=0.10.40"} (current: {"node":"0.10.38","npm":"1.4.28"})
[email protected] node_modules/cheerio
├── [email protected]
├── [email protected] ([email protected])
├── [email protected] ([email protected], [email protected], [email protected], [email protected])
├── [email protected] ([email protected], [email protected], [email protected], [email protected], [email protected])
├── [email protected] ([email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected])
└── [email protected]

Running grunt init as the next step, as on the readme:

vagrant@local:~/code/Ghost$ grunt init
Loading "Gruntfile.js" tasks...ERROR
>> Error: Cannot find module 'top-gh-contribs'
Warning: Task "init" not found. Use --force to continue.

Aborted due to warnings.

Automatic Vagrant Plugin Installation

I was wondering if we could make the installation process for users who don't have any experience using vagrant a bit easier (reduce the number of commands needed) by automatically installing the needed Vagrant plugins?

According to this StackOverflow thread this isn't supported by default. But the thread points out a possible solution:

required_plugins = %w( vagrant-hostsupdater vagrant-someotherplugin )
required_plugins.each do |plugin|
  system "vagrant plugin install #{plugin}" unless Vagrant.has_plugin? plugin
end

@mike182uk: Since you added the plugins, what do you think about this approach?

When following the GuestAdditions instructions verbatim the box doesn't provision

[default] -- /vagrant
[default] -- /home/vagrant/code/Ghost
[default] -- /tmp/vagrant-puppet/manifests
[default] -- /tmp/vagrant-puppet/modules-0

should do

[default] -- /vagrant
[default] -- /home/vagrant/code/Ghost
[default] -- /tmp/vagrant-puppet/manifests
[default] -- /tmp/vagrant-puppet/modules-0
[default] Running provisioner: puppet...

Problems booting VM in Windows

Looks like there are some problems booting in Windows. Running vagrant up is hanging at the waiting for VM to boot stage.

Will try to debug later today.

Useful packages & other improvements

In the interest of trying to make Ghost-Vagrant the best possible way to dev for Ghost, there are a few packages that could be installed that would be great:

It would be amazing if we could forward .gitconfig from the client machine to the vagrant machine as well (some ideas how as the first thing I do after vagrant ssh is type git st and get an error 😉

Also the following package is no longer needed:

  • casper.js

I also recommend having the service called ghost rather than app as that is what it's called pretty much everywhere else (DO setup, our init script, etc) and I always forget this.

Keeping Guest Additions up-to-date

I'm having trouble launching Ghost on my machine (OSX) due to conflicting VirtualBox Guest Additions versions - the box has 4.1.12 while my install is 4.2.1.

I'm using the vagrant-vbguest plugin that automatically updates guest additions when needed, but it fails due to the ubuntu cloud image being bundled with it's own guest additions packages.

dotless-de/vagrant-vbguest#43 details how to customize the installer to remove the package so that vagrant-vbguest can do it's thing.

Error Installing Vagrant

When I try to install the Vagrant for the first time, the Vagrant fails. I followed the directions on the README.md, and I apologize that I do not have any more information than this log here.

Error when running Vagrant up

Bringing machine 'default' up with 'virtualbox' provider...
There are errors in the configuration of this machine. Please fix
the following errors and try again:

vm:

  • The host path of the shared folder is missing: ./Ghost

The requested url returned error: 404 Not Found

Vagrantfile:

# -*- mode: ruby -*-
# vi: set ft=ruby :

# NOTE: This should match your path to the Ghost source
GhostSourcePath = "../ghost-repo"

Vagrant.configure("2") do |config|
  # All Vagrant configuration is done here. The most common configuration
  # options are documented and commented below. For a complete reference,
  # please see the online documentation at vagrantup.com.

  # Every Vagrant virtual environment requires a box to build off of.
  config.vm.box = "base"

  # The url from where the 'config.vm.box' box will be fetched if it
  # doesn't already exist on the user's system.
  config.vm.box_url = "http://cloud-images.ubuntu.com/vagrant/precise/current/precise-server-cloudimg-amd64-vagrant-disk1.box"

  # Create a forwarded port mapping which allows access to a specific port
  # within the machine from a port on the host machine. In the example below,
  # accessing "localhost:8080" will access port 80 on the guest machine.
  # config.vm.network :forwarded_port, guest: 80, host: 8080

  # Create a private network, which allows host-only access to the machine
  # using a specific IP.
  # TODO: Add a host entry to your hosts file; e.g. 192.168.33.10 local.tryghost.org
  config.vm.network :private_network, ip: "192.168.33.10"

  # Create a public network, which generally matched to bridged network.
  # Bridged networks make the machine appear as another physical device on
  # your network.
  # config.vm.network :public_network

  # Share an additional folder to the guest VM. The first argument is
  # the path on the host to the actual folder. The second argument is
  # the path on the guest to mount the folder. And the optional third
  # argument is a set of non-required options.
  config.vm.synced_folder GhostSourcePath, "/home/vagrant/code/Ghost", :nfs => true

  # Provider-specific configuration so you can fine-tune various
  # backing providers for Vagrant. These expose provider-specific options.
  # Example for VirtualBox:
  #
  config.vm.provider :virtualbox do |vb|
    # Don't boot with headless mode
    # vb.gui = true

    # Use VBoxManage to customize the VM. For example to change memory:
    vb.customize ["modifyvm", :id, "--memory", "1024"]
    # To add cores
    #vb.customize ["modifyvm", :id, "--cpus", "4"]
    #vb.customize ["modifyvm", :id, "--ioapic", "on"]

    # Via http://blog.liip.ch/archive/2012/07/25/vagrant-and-node-js-quick-tip.html
    vb.customize ["setextradata", :id, "VBoxInternal2/SharedFoldersEnableSymlinksCreate/v-root", "1"]
  end
  #
  # View the documentation for the provider you're using for more
  # information on available options.

  # Enable provisioning with Puppet stand alone.  Puppet manifests
  # are contained in a directory path relative to this Vagrantfile.
  # You will need to create the manifests directory and a manifest in
  # the file base.pp in the manifests_path directory.
  config.vm.provision :puppet do |puppet|
    puppet.manifests_path = "manifests"
    puppet.manifest_file  = "base.pp"
    puppet.module_path = "modules"
  end
end

$ vagrant up



Bringing machine 'default' up with 'virtualbox' provider...
==> default: Box 'base' could not be found. Attempting to find and install...
    default: Box Provider: virtualbox
    default: Box Version: >= 0
==> default: Adding box 'base' (v0) for provider: virtualbox
    default: Downloading: http://cloud-images.ubuntu.com/vagrant/precise/current/precise-server-cloudimg-amd64-vagrant-disk1.box
An error occurred while downloading the remote file. The error
message, if any, is reproduced below. Please fix this error and try
again.

The requested URL returned error: 404 Not Found

Is this a problem with the vagrantfile or me?

Can't install Casperjs during Provision

The same error, below, happens each time I try. Would appreciate any pointers!

C:\dev\Ghost-Vagrant>vagrant provision
==> default: [vagrant-hostsupdater] Checking for host entries
==> default: [vagrant-hostsupdater]   found entry for: 192.168.33.10 local.tryghost.org
==> default: Installing Puppet modules in "." with Librarian-Puppet...
==> default: Configuring cache buckets...
==> default: Running provisioner: puppet...
==> default: Running Puppet with base.pp...
==> default: stdin: is not a tty
==> default: Warning: Config file /etc/puppet/hiera.yaml not found, using Hiera defaults
==> default: Notice: Compiled catalog for local.tryghost.org in environment production in 7.41 seconds
==> default: Notice: /Stage[main]/Ghost/Exec[apt-update]/returns: executed successfully
==> default: Notice: /Stage[main]/Mysql/Mysql_grant[ghost@localhost/ghost\_%.*]/ensure: created
==> default: Error: Download file checksum mismatch
==> default: Error: /Stage[main]/Casperjs/Archive[phantomjs]/ensure: change from absent to present failed: Download file checksum mismatch
==> default: Notice: /Stage[main]/Nvm/Exec[set-node-version]/returns: executed successfully
==> default: Notice: /Stage[main]/Casperjs/Exec[link-phantomjs]: Dependency Archive[phantomjs] has failures: true
==> default: Warning: /Stage[main]/Casperjs/Exec[link-phantomjs]: Skipping because of failed dependencies
==> default: Error: Could not start Service[app]: Execution of '/sbin/start app' returned 1:
==> default: Error: /Stage[main]/Upstart/Service[app]/ensure: change from stopped to running failed: Could not start Service[app]: Execution of '/sbin/start app' returned 1:
==> default: Notice: Finished catalog run in 20.66 seconds
The SSH command responded with a non-zero exit status. Vagrant
assumes that this means the command failed. The output for this command
should be in the log above. Please read the output to determine what
went wrong.

VM fails at "Mounting NFS shared folders"

Somehow mounting the NFS share does not work. Here is the command output:

[jakob@thinkpad Ghost-Vagrant]$ vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
[default] Importing base box 'base'...
[default] Matching MAC address for NAT networking...
[default] Setting the name of the VM...
[default] Clearing any previously set forwarded ports...
Pruning invalid NFS exports. Administrator privileges will be required...
[sudo] password for jakob: 
[default] Creating shared folders metadata...
[default] Clearing any previously set network interfaces...
[default] Preparing network interfaces based on configuration...
[default] Forwarding ports...
[default] -- 22 => 2222 (adapter 1)
[default] Running any VM customizations...
[default] Booting VM...
[default] Waiting for VM to boot. This can take a few minutes.
[default] VM booted and ready for use!
[default] The guest additions on this VM do not match the installed version of
VirtualBox! In most cases this is fine, but in rare cases it can
cause things such as shared folders to not work properly. If you see
shared folder errors, please update the guest additions within the
virtual machine and reload your VM.

Guest Additions Version: 4.1.12
VirtualBox Version: 4.2
[default] Configuring and enabling network interfaces...
[default] Mounting shared folders...
[default] -- /vagrant
[default] -- /tmp/vagrant-puppet/manifests
[default] -- /tmp/vagrant-puppet/modules-0
[default] Exporting NFS shared folders...
Preparing to edit /etc/exports. Administrator privileges will be required...
Redirecting to /bin/systemctl restart  nfs-server.service
[default] Mounting NFS shared folders...
The following SSH command responded with a non-zero exit status.
Vagrant assumes that this means the command failed!

mount -o vers=3 192.168.33.1:'/home/jakob/devel/Ghost' /home/jakob/devel/Ghost

The VM is working fine (vagrant ssh gives me a shell), the NFS service is running and the /etc/exports file also contains the share:

# VAGRANT-BEGIN: 936e3510-7e8e-4848-a7f8-135ee4a51efc
/home/jakob/devel/Ghost 192.168.33.10(rw,no_subtree_check,all_squash,anonuid=1000,anongid=1000,fsid=850bbf903e564f53bff7251b47c5e833)
# VAGRANT-END: 936e3510-7e8e-4848-a7f8-135ee4a51efc

I run Fedora 19 x86_64. Any suggestions how to fix this?

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.