Q:

Unable to access internal website from internet

I am running on my raspberry (Debian wheezy) the services DHCP, Apache2, MySQL and Bind9. All work fine within the internal network. However, when I try to access the website from internet, it can't be loaded. 
I am aware that registrars usually request 2 dns, mine accepted the entry of only one dns. For my purpose I don't want to set up a second one if it is not really absolutely necessary.
The hostname is "rpi-server" has a static IP 192.168.1.5 and all services are hosted on the same machine.The modem/router/gateway has IP 192.168.1.1.The public IP is 83.78.107.216.
These are the bind settings:
File /etc/bind/named.conf.local
zone "famwagner.ch" {
        type master;
        file "/etc/bind/db.famwagner.ch";
};

zone "1.168.192.in-addr.arpa" {
        type master;
        file "/etc/bind/db.famwagner.ch.inv";
};

File /etc/bind/named.conf.options
options {
    directory "/var/cache/bind";

    dnssec-validation auto;

    auth-nxdomain no;    # conform to RFC1035
    listen-on-v6 { any; };
};

File /etc/bind/db.famwagner.ch
$TTL    3600
@   IN  SOA rpi-server.famwagner.ch root.famwagner.ch (
            2015030305  ; Serial
            3600        ; Refresh
            120     ; Retry
            600     ; Expire
            86400)  ; Negative Cache TTL

; Name servers
@       IN  NS  rpi-server.famwagner.ch.
@       IN  MX  10 rpi-server.famwagner.ch.

; A records for name servers
internal-rpi-server IN  A   192.168.1.5
rpi-server      IN      A   83.78.107.216

; Other A records
internetbox     IN      A   192.168.1.1
nas             IN      A   192.168.1.10
raspberry       IN      A   192.168.1.130

; CNAME records
router          IN      CNAME   internetbox
www             IN      CNAME   rpi-server
phpmyadmin      IN      CNAME   rpi-server

File /etc/bind/db.famwagner.ch.inv
@       IN  SOA     rpi-server.famwagner.ch. root.famwagner.ch. (
            2015022401
            3600
            600
            86400
            600 )

; define the authoritative name servers
        IN  NS      rpi-server.famwagner.ch.

; our hosts, in numeric order
1       IN  PTR     internetbox.famwagner.ch.
5       IN  PTR     rpi-server.famwagner.ch.
10      IN  PTR     nas.famwagner.ch.
130     IN  PTR     raspberry.famwagner.ch.

File /etc/hosts
127.0.0.1   localhost
::1     localhost ip6-localhost ip6-loopback
fe00::0     ip6-localnet
ff00::0     ip6-mcastprefix
ff02::1     ip6-allnodes
ff02::2     ip6-allrouters

192.168.1.5 rpi-server.famwagner.ch rpi-server

Can anyone advise if I'm having a wrong bind config causing the issue that I can't access the websites from the web?
Any help is appreciated.
Thanks+

A:

If you put rpi-server.mydomain.com in the address of a web browsers that is not on your loacl network the browser will be told by your DNS to contact 192.168.1.5 
dig rpi-server.famwagner.ch | grep -v \; | grep ..
rpi-server.famwagner.ch. 604775 IN  A   192.168.1.5

192.168.1.5 is a private IP and is not reachable. Adding the WAN IP of your NAT to your DNS and port forwarding will correct this.
internal-rpi-server  IN  A   192.168.1.5
rpi-server  IN  A   83.78.107.216

DNS can take 72h to propagate if you don't apply other tricks so wait to be sure.
Additionally your NS is setup wrong:
dig rpi-server.famwagner.ch NS | grep -v \; | grep ..
famwagner.ch.       3547    IN  SOA rpi-server.famwagner.ch.famwagner.ch. root.famwagner.ch.famwagner.ch. 2015030306 3600 120 600 86400

so your updates won't propagate. (rpi-server.famwagner.ch.famwagner.ch should be rpi-server.famwagner.ch)
putting a $ORIGIN . before your SOA will let you use the full name without suffixing it, use $ORIGIN famwagner.ch. to restore the default suffix.
Some ISPs offer IPv6 which would be another way around NAT.
If you are asking a different question please clarify.

