either serve it through a web-server (apache, nginx, ...) on the machine
or export the directory through /etc/exports and share it through NFS -- then mount it remotely on the other machines (see: man nfs man exports )
you could use ssh / scp to copy the contents (better choice than ftp).
you could use rsync to actively sync the directory every once in a while, e.g. triggered by a cron-tab entry.
Option 2. is probably the best choice, because you can also restrict who can mount the directory, and you can share it either read-only or writable by others.
And an NFS-mounted directory is available on the client-machine just like any other directory, which makes it really easy to access the data.
Rsync is typically used when having to sync contents of directory trees between two machines. If you want to share the directory across the whole network and want to have the contents readily available, then NFS is the best choice.
HTTP and FTP are probably not such good choices for this, because they need you to actively pull the contents, to sync things up in case something changed.
NFS sharing is probably the best solution in your case, and you can mount it cross-platform:
http://sagehacks.wordpress.com/2009/01/21/howto-mount-nfs-shares-under-windows-7/
http://support.microsoft.com/kb/324055