I have a part of the answer.
mediawiki was redirecting the call to the public url to the private url.
The hostname of the linux server is the private url "smallpc.home" The public url is something like "smallpc.dyndns.org"
When the browser calls smallpc.dyndns.org/wiki, somehow mediawiki tells the browser (through apache) to redirect (status 301) the call to the private url smallpc.home/wiki
If I change the hostname of the linux server to the public url and install it again, then it works fine, either from a private or either from a public ip adress.