These are easy items to look up, I just had to look them up too many times

So it feels like a good idea to put them all in one place

1. Create Virtual Host so I don't have to sudo vim every file I change

Apache path: 

 \etc\apache2\sites-available

Create new config file, or create a copy of an existing file

cp existingconfig.config new.config

The fields will appear something like this

<VirtualHost *:80>
	ServerName
	ServerAdmin
	DocumentRoot "/your/path/here"
	<Directory "/your/path/here">
	</Directory>
</VirtualHost>

Use following options under Directory

Order Allow, Deny
Allow from all
Options Indexes FollowSymLinks
AllowOverride All
Require all granted

Allow from all is needed if .htaccess files are used

FollowSymLinks are used with .htaccess files

Require all granted - Important for apache2

Stackoverflow post as proof

 

2. a2ensite to enable virtual host

3. Enable mod_rewrite to allow friendly URL mode in php

sudo a2enmod rewrite

4. Reload and Restart

sudo service apache2 reload
sudo service apache2 restart