Solving the FTP credentials WordPress request in Vagrant
February 11, 2014
For my latest client work I've jumped on the Vagrant wagon and decided to give it a go.
I've also taken the shortcut provided by PuPHPet to have a Vagrant machine up and running in minutes.
And then WordPress
After enjoying the easy WordPress installation and usual clean-up I've tried to install the WordPress Importer plugin to import theme unit test content into my local version. The rolling sequence of rainbows and unicorn my Vagrant experience had been so far stopped on its tracks to this screen [caption id="attachment_573" align="aligncenter" width="1024"][](http://theaveragedev.local/wordpress/wp-content/uploads/2014/02/Screen-Shot-2014-02-11-at-11.42.12.png) FTP what?[/caption] where WordPress (it's italian) is asking me the FTP credentials. I have no idea what those might be.
The web to the rescue... maybe not
A quick search via Google did not yield any constructive answer but "you can reach the files and folders via the shared folders: why bother setting up FTP?".
I'm dealing with a non average problem here
Since the solution to my current problem is not on the first page of Google results I must be dealing with a non-average problem and hence some reasoning is in order.
My first attempt at using the chmod
and chown
commands was not successful and the solution came from this thread on Stackoverflow (always praise Stackoverflow): after downloading the package from PuPHPet I've modified the lines about synced folders in Vagrantfile
data['vm']['synced_folder'].each do |i, folder|
if folder['source'] != '' && folder['target'] != '' && folder['id'] != ''
nfs = (folder['nfs'] == "true") ? "nfs" : nil
config.vm.synced_folder "#{folder['source']}", "#{folder['target']}", id: "#{folder['id']}", type: nfs, owner: "www-data", group: "www-data"
end
end
What I've done is modifying the instruction that's setting up the synced folders to change their ownership from the vagrant
user to the wwww-data
user, the one Apache server will use to read and write in the www
folder.
While the above solution is probably not the best one it is safe to use during local development.