That's a big question. The easiest way is to register a domain and open an account at a host.
Another possibility (for free but mainly useful only for testing an Elgg installation) is to register at a service like http://www.dyndns.com. You can then point a domain name to a dynamic IP address (the IP address your router gets assigned from you ISP). On your local computer you would need to configure a virtual host using that domain name and install Elgg using that domain name. But this solution will have its limitation (mainly the bandwidth of your internet connection will be the bottleneck).
I have my development server routed through dyndns, I can confirm that it works well for this purpose.
Also keep in mind with that setup that if you have multiple computers on the router you'll have to forward the ports (at least port 80 for http) to the machine you are hosting elgg on.
info@elgg.org
Security issues should be reported to security@elgg.org!
©2014 the Elgg Foundation
Elgg is a registered trademark of Thematic Networks.
Cover image by Raül Utrera is used under Creative Commons license.
Icons by Flaticon and FontAwesome.