Het is eigenlijk redelijk complex.
Eerst zou ik een dynamic dns opzetten. Probleem is namelijk dat een ip-adres moeilijk te onthouden is en regelmatig veranderd bij de meeste providers. Zou dus een beetje lastig zijn wanneer dit juist dan gebeurt
In veel gevallen kan een router dit ook en is het gemakkelijker daar in te stellen.
https://help.ubuntu.com/community/DynamicDNSBijv de dienst noip.
Er staat waarschijnlijk een router voor je server. Indien ja, dien de poorten vanuit de router te forwarden naar het interne ip adres van de server. Voor http is dit poort 80 en voor https is dit 443.
Let op sommige providers blokkeren deze poorten dan is het aangeraden om een poortnummer te gebruiken ergens boven de 1000.
Bovendien als je zoals hierboven beschreven de diensten open zet naar het internet dien je er zeker van te zijn dat de security goed is ingesteld en snel de update worden toegepast.
Als het enkel voor test en ontwikkelingsdoeleinden is, waarom zet je de server niet gewoon op virtueel op je laptop?