This repository provides a sample Vagrantfile to create a Ubuntu 14.04 64-bit virtual machine. After following the installation instructions, you'll have a server managed by ServerPilot and accessible via your browser at local.io.
Inspired from manjoker/Vagrantfile
You will be able to setup as many sub-domain as you want. You will have phpMyAdmin running on your server and you will also be able to share your virtual machine with https://vagrantcloud.com
- Install dependencies
 
- Virtualbox 4.0 or greater.
 - Vagrant 1.3.1 or greater.
 
- Copy the Vagrantfile
 - Execute the following commands to setup the virtual machine :
 
$ vagrant up
$ vagrant ssh- 
Log in to ServerPilot
 - 
Go to the Servers page and click + Connect Server
 - 
Click
Install ServerPilot manually.at the bottomName=>local.ioSFTP Password=>Choose a password
 - 
Copy the whole command (and let the page open in your browser):

 - 
Paste the command in the VM terminal and wait until to get this message :

 - 
Note : The part
Testing server configurationmay take several minutes (more than 20 minutes for me) 
- Go to the Apps page and click + Create App
Name=>websiteDomain=>local.ioServer=>local.io
 
- Edit the following file as 
administrator/root- Ubuntu/Mac OS X : 
/etc/hosts - Windows : 
C:\WINDOWS\system32\drivers\etc\hosts 
 - Ubuntu/Mac OS X : 
 - Add the following code in this file :
192.168.56.101 local.io- If you plan to add sub-domains, you can add them now in the 
hostsfile : 
 
192.168.56.101 local.io
192.168.56.101 subdomain1.local.io
192.168.56.101 subdomain2.local.io
- Now, you must edit the 
Vagrantfileand uncomment this line : 
config.vm.synced_folder '/var/www/Sites/website', '/srv/users/serverpilot/apps/website/public', owner: "serverpilot", group: "serverpilot"- Adapt it to your system. The first part, is the path on your system. The second part, is the path on the VM system.
- Note : Don't remove the 
ownerandgroupkeys. I have got some issues with the permissions, and this configuration seems to resolve all permissions bugs. If you want to add newsynced_folder, you must add theownerandgroupkeys with theserverpilotvalue. 
 - Note : Don't remove the 
 - Execute the following command to reload the VM with the modified Vagranfile :
 
vagrant@local:~$ exit
$ vagrant reload- Go to local.io in a new tab and you should see the ServerPilot splash page or your application.

 
The following configuration are not required, but can be usefull if you plan to install phpMyAdmin or setup a sub-domain.
- Create a new application on ServerPilot :
Name=>pmaDomain=>pma.local.ioServer=>local.io
 - Download the latest version of 
phpMyAdmin: - Open the archive that you downloaded
 - Place the archive where you want on your system. For the tutorial, i have placed it in 
/var/www/Sites/pma. - Rename 
config.sample.inc.phptoconfig.inc.php. - Now, open 
config.inc.phpand set a random string of characters for the value of$cfg['blowfish_secret']near the top of the file. Exemple : 
$cfg['blowfish_secret'] = 'asdof7q230984(*^3q4';- Add 
192.168.56.101 pma.local.ioto yourhostsfile. - Uncomment and adapt (regarding to the path) the following line in the Vagranfile :
 
config.vm.synced_folder '/var/www/Sites/pma', '/srv/users/serverpilot/apps/pma/public', owner: "serverpilot", group: "serverpilot"- Execute the following command to reload the VM with the modified Vagranfile :
 
$ vagrant reload- 
Go to pma.local.io and login with the same
usernameandpasswordthat you used to create the database. 
- If you followed the phpMyAdmin installation, you already know how to setup a sub-domain. For the tutorial, I will setup a sub-domain named 
xety.local.io - Create a new application on ServerPilot :
Name=>xetyDomain=>xety.local.ioServer=>local.io
 - Add 
192.168.56.101 xety.local.ioto yourhostsfile. - Uncomment and adapt (regarding to your path) the following line in the Vagranfile :
 
config.vm.synced_folder '/var/www/Sites/xety', '/srv/users/serverpilot/apps/xety/public', owner: "serverpilot", group: "serverpilot"- Execute the following command to reload the VM with the modified Vagranfile :
 
$ vagrant reload- Go to xety.local.io and enjoy ! Yes, it's very simple to do.
 
Yes, you can connect to the server using the SFTP method !
- Use your prefered software. I will use 
FileZilla. - Login in FileZilla with the following credentials :
Host=>192.168.56.101User=>serverpilotPassword=>The SFTP password that you provided at the beginning of this tutorialPort=>22
 - You can also login with the 
vagrantuser :Host=>192.168.56.101User=>vagrantPassword=>vagrantPort=>22
 - But i recommend you to use the 
serverpilotuser and not thevagrant, else you will probably have some permissions issues (i.e : https://serverpilot.io/community/articles/how-to-fix-file-permissions.html) 
- Create an account there : https://vagrantcloud.com/account/new
 - It's easy with 1 command, follow the 
HTTPmethod there : https://vagrantcloud.com/help/vagrant/shares/create - Possible issue :
Why the share doesn't show the good application ?=> Because ServerPilot define the default application by alphabetically order. More information : https://serverpilot.io/community/articles/how-to-set-the-default-app.html
 

