At the risk of stating the obvious, you machine needs to be accessible from the outside world. In particular it needs to have a *real* IP address. Ideally your DNS provider should give you (if you don't have one already) a DNS name for your machine (a name that is mapped to your IP address, for example, moodle.org maps to 22.214.171.124). All you then need to do is to change $CFG->wwwroot in config.php.
BUT... the bit that matters is the first bit.. is your machine actually connected to the Internet - one for your system administrator really.
Paul, do you have a proxy somewhere accessible from your Moodle Server? If it is the case you could map your internal intranet IP (such as 192.168.1.yy) to respond to request made on certain port (i.e. 80) to the proxy's internet IP address.
Of course you need a working internet address. Take care of security.
Your DNS needs set up so, that *internaly* it resolves moodle.atmysite.edu to the internal IP address and *externaly* to the external IP address - that way it works for everybody. This type of internal/external DNS (you need two DNS servers - at least) is quite common as it is often done for security reasons.
I'm trying to think if there are any other options here, but I'm afraid I'm struggling. Really this is down to a badly configured network - you should really be able to access your external NIC from the inside without a huge speed penalty - this comes down to how gateways and routing are setup on this machine in particular and the whole network in general and I can't advise you on that without knowing the big picture.
Nope, false..... There is a possibility to set-up bind to use views. With that kind of configuration (it's working over here) another host file is used for internal use as for external use.
And it works great!
Hope this helps you..
Ultimately Paul, you need to talk to your network administrators to investigate what they will allow. Ours have our network so tight and the mere mention an "open source application" sends them running in all directions to hide! Good luck
I tried a different approach to those suggested. I set up a new directory, copied config.php into it, but made symbolic links to the sub-directories in the 'original' Moodle directory. I edited config.php so that it would use the external address.
When I tried to access Moodle from outside the LAN (using the 'new' Moodle directory)it seemed to work initially. Some graphics elements were looked for using the LAN address but eventually the home page appeared. I then got the login screen but when I tried to log in everything came to a halt - it tried to use the LAN address again!
Typing in the correct external URL to get back to the home page showed I was actually logged in.....
I guess the config.php settings aren't always referenced - or maybe I've got the wrong end of the stick (assuming its the right stick!)
I'm going to investigate the suggestions given in earlier replies.