既に80番ポートが使われている環境でウェブサーバを立ち上げるとなると80番から違う番号に変更しないといけません。
ウェブサイトをいろいろ調べると、httpd.confの中のPort:80(apache1.3)、Listen:80(apache2)をそれぞれ所望の番号に変更すればよいとあります。
しかし、それをやっても、bindできないとかいって怒られるのです。
/var/log/messagesを見ると
avc: denied { name_bind } for pid=
とあります。コレを元にさらに調べていきます。
するとLinuxが元々持っているセキュリティ機能がこれを阻害していることがわかりました。具体的には、
/etc/selinux/configの「SELINUX=enforcing」を「SELINUX=permissive」もしくは「SELINUX=disabled」にしてから、リブートすると警告または無視をしてapacheが起動します。
nmap -sT localhostとしてローカルであいているポートを調べると出てきませんが、外部からアクセスするとちゃんと見れていました。
もちろん、/etc/servicesの80はhttpとしているところも、変更後のポート番号に変換したり、ルータのポートもちゃんと空けないといけません。