Getting remote import to work on a barracuda setup with vagrant
Tags: drupalplanet drupalbarracudaboa
This is how I got remote import to work on a BOA setup with a local development environment created by vagrant. After reading the article you should be able to add remote servers, and import sites via Aegir to your local development box.
First setup your local server with vagrant. You can do it using vagrant and barracuda, as I outlined in this article.
Making remote import work, is not too hard, but there are some things, you need to know about. There is some instruction on how to make this work with Barracuda. I read the instructions carefully, but tweaked it a bit.
Remote remote_import drush extension from source server
Really important or strange things will occur, so make sure to remove remote_import from the source server before you proceed. Log into the source server, follow the docs and do like this:
mv /data/disk/o1/.drush/provision/remote_import /tmp/Prepare the users on both systems for passwordless login
For this process to work, you need the same user both on the source and target server. That means that you can only do this, if you have the same users on both server (work is being done to make that optional).
On both the target and source server, do like this.
chsh -s /bin/bash o1
su o1
mkdir -p ~/.ssh
Create a public key with an empty paraphrase on the target server. I did mine with:
ssh-keygen -b 4096 -t rsa -N "" -f ~/.ssh/id_rsa
Make sure that the permissions are ~/.ssh has permission 700 and the files in ~/.ssh has permission 600 on the source-server.
Add your public key to the remote source server. From the target server, run the following:
ssh-copy-id -i .ssh/id_rsa.pub user@remote-server
Try logging in from the source server to the source server and make sure that ~/.ssh/authorized_keys are correct. You should not be prompted a password, when logging in, as this should now be handled by the keys instead. So basically, you should be able to log into the remote server without a password now.
You migt also need to follow the rest of the docs by opening up ports in the firewall and granting mysql users access, but I do not think it is neccessary.
Adding the server in Aegir
Now, you should be able to add the server in the aegir control panel under the tab servers and verify the server and get a list of the remote sites.
You can also create a platform where you want to be able to import sites to. However, I had to do a little tweaking for actually getting the imports to work. I followed the explanation in this issue and hardcoded changes to remote_import drush extension. You need to hardcode the directory where the target server should fetch the files on the source server.
Now I had a working development environment, where I could easily fetch the production site so I can tweak it.