You have to configure port forwarding on your router to redirect port 80 from the internet to the apache-port in your virtualbox. It seems that your virtualbox network is configured to do network address translation. For the router configuration it would be better if you configure the virtualbox network to bridged mode and assign a IP-Address of your local network, i. e. 192.168.123.17 so you can configure port forwarding as follow in ddwrt:
80 TCP 192.168.123.17 80
Bridged mode in virtualbox means that a new virtual network interface is added to your local network and a new IP-Address from that network is assigned, i. e. your local computer has
192.168.123.16 assigned from the routers DHCP-Server so the DHCP-Client in the virtual machine makes a DHCP-Request to the router and the interface gets the IP-Address
But for clarification:
if you don't have any good reason for this I would not recommend publishing a webserver from your local internet access. Maybe you want to try a free Amazon AWS instance for this.
Having your ddwrt webinterface publicly open is also a bad idea because there are several versions of ddwrt with bugs in the software which enable hackers or other bad people to completely take over your network. And I think maybe the above solution wont work so, because port 80, on which the webinterface of ddwrt runs is occupied. You can disable this by changing the ddwrt in the "Administration" tab and then there are multiple "Remote Access" radio button configuration fields (Web GUI Management, SSH, Telnet). I would recommend to disable them all. If you want to configure your ddwrt via remote access I recommend you to configure a VPN.
Maybe this image can give you an overview or you can also google for "nat port forwarding".