You have several options. You need a way to check that a user has the credentials necessary to access the server or pages on the server. How you want to check those credentials is up to you:
VPN
As 50-3 suggested, a VPN would remove the need to expose your site to the internet. While TeamViewer would work, another alternative is Hamachi. You can create a VPN that connects all the members together as if they were on the same network. You can revoke access to anyone at any time. The software must be installed on your server machine, and on the PCs of the users.
CMS Plugin
If you are running a CMS like Wordpress or Joomla, simply get a plugin that can protect the pages with usernames and passwords.
Certificate
You can generate a self-signed certificate for Apache that will only allow your protected areas to be accessed if the cert is present.
IP Address Whitelisting
Using an .htaccess file, you can restrict access from certain IPs to directories or files using the Order allow,deny
function and the Allow from
function.
Example:
RewriteEngine on
#The # character denotes a comment.
Order allow,deny
#Main Office
Allow from 12.34.56.789
#Toronto
Allow from 987.654.321.100
#Chicago
Allow from 100.100.100.222
.htaccess Password
You can use .htaccess and .htpsswd file to protect pages or directories. You can add multiple users to this file. This site is lovely and builds these files for you. I notice you described yourself as unfamiliar with all of this so this might be the best option for you. They generate the files for you to download and give you steps on how to get it working.
1Why not just use something like teamviewer to establish a VPN? – 50-3 – 2013-10-09T19:51:06.197
How would I go about doing this? I'm a complete noob at this – C.O.D.E – 2013-10-09T20:07:13.203
It's all point and click in the teamviewer GUI, I can guide my mother through it without dramas. They also have the process documented in there user guide – 50-3 – 2013-10-09T20:16:13.063