This guide will walk you through the steps on how to setup a VirtualBox shared folder inside your Ubuntu Server guest.
This guide assumes that you are using the following setup:
- Oracle VM VirtualBox version 6.0.10
- Microsoft Windows 7 SP1 as the host OS
- A fresh install of Ubuntu Server 18.04.2 LTS as the guest OS
You could still make this guide work with other setups (possibly with some modifications to the commands and whatnot). But if you want to do it the way I did then please feel free to use my setup above.
- Open VirtualBox
- Right-click your VM, then click Settings
- Go to Shared Folders section
- Add a new shared folder
- On Add Share prompt, select the Folder Path in your host that you want to be accessible inside your VM.
- In the Folder Name field, type
shared - Uncheck Read-only and Auto-mount, and check Make Permanent
- Start your VM
- Once your VM is up and running, go to Devices menu -> Insert Guest Additions CD image menu
- Use the following command to mount the CD:
sudo mkdir /media/cdrom sudo mount -t iso9660 /dev/cdrom /media/cdrom - Install dependencies for VirtualBox guest additions:
sudo apt-get update sudo apt-get install -y build-essential linux-headers-`uname -r` - Run installation script for the guest additions:
sudo /media/cdrom/./VBoxLinuxAdditions.run - Reboot VM
sudo shutdown -r now - Create "shared" directory in your home
mkdir ~/shared - Mount the shared folder from the host to your ~/shared directory
sudo mount -t vboxsf shared ~/shared - The host folder should now be accessible inside the VM.
cd ~/shared
This directory mount we just made is temporary and it will disappear on next reboot. To make this permanent, we'll set it so that it will mount our ~/shared directory on system startup
- Edit fstab file in /etc directory
sudo nano /etc/fstab - Add the following line to fstab (separated by tabs) and press Ctrl+O to Save.
shared /home/<username>/shared vboxsf defaults 0 0 - Edit modules
sudo nano /etc/modules - Add the following line to
/etc/modulesand savevboxsf - Reboot the vm and log-in again
sudo shutdown -r now - Go to your home directory and check to see if the file is highlighted in green.
cd ~ ls
If it is then congratulations! You successfully linked the directory within your vm with your host folder.
How to point apache's web directory to our folder in the host.
- Remove apache's old
htmldirectory (WARNING! Backup your data if necessary)sudo rm -rf /var/www/html - Add a symbolic link in its place
sudo ln -s ~/shared /var/www/html
Note: This setup works fine with Windows hosts. But if your using Linux or Mac you may have to set the appropriate file permissions on your directory with chmod in order to make it work.