J'ai un devbox VM fonctionnant via vagrant et virtualbox. J'aimerais qu'il fonctionne simplement en tant que serveur Web et effectue tout mon travail sur ma machine locale (où se trouvent mes outils de développement).
Je l'ai déjà fait auparavant. La VM possède un dossier d'application qui pointe vers le dossier de la machine hôte et, chaque fois que des modifications sont apportées sur la machine locale (via Sublime/vim, par exemple), elles sont automatiquement mises à jour. la VM.
La VM exécute une image Heroku (qui, je crois, fonctionne sous Ubuntu). La machine hôte est également Ubuntu 13.04
Par défaut, Vagrant partagera le répertoire de votre projet (le répertoire avec le fichier Vagrant) avec /vagrant
.
Dans votre Vagrantfile
, vous devriez avoir les éléments suivants
Vagrant.configure("2") do |config|
# other config here
config.vm.synced_folder "src/", "/srv/website"
end
REMARQUE: le premier paramètre est un chemin d'accès à un répertoire sur la machine hôte. Si le chemin est relatif, il est relatif à la racine du projet. Le deuxième paramètre doit être un chemin absolu indiquant où partager le dossier sur la machine invitée. Ce dossier sera créé (récursivement s'il le faut) s'il n'existe pas.
Autres options
Option 1
Recommandé sshfs
Installez le paquet sshfs
, montez un chemin sur l'hôte via ssh, par exemple, montez le $HOME/project
à /srv/www
sur l'invité
sshfs user@Host:~/project /srv/www
Pour démonter sshfs
fusermount -u /mnt/sshfs
/srv/www
sur l'invité apparaît comme s'il était local.
Option 2
NFS See => Vagrant - NFS