On a Solaris machine, I modified $SLUNK_HOME/etc/system/local/web.conf to use httpport = 80
The below error was then presented when trying to start splunk-web:
Checking http port : already bound
ERROR: The http port  is already bound. Splunk needs to use this port.
Would you like to change ports? [y/n]: n
The following did not reveal any other port 80 uses
> netstat -an | grep 80
> telnet 127.0.0.1 80
telnet: connect to address 127.0.0.1: Connection refused
telnet: Unable to connect to remote host
I was also unable to telnet to port 80 from another machine TO this machine. Port 80 was not in use. What else might have caused Splunk to report port 80 was already bound?
Splunk was not installed by or being started by root.
Splunk was being started by splunkuser.
splunkuser could not start any service on a privileged port (port < 1024)
> usermod -K defaultpriv=basic,net_privaddr splunkuser
This updated the file /etc/user_attr and allowed splunkuser to start a splunk-web instance on port 80.
What if you can't do this due to governance? Check out these alternatives
Additionally, "loopback" was being resolved by DNS to another host which was listening on port 80. This was remedied by mapping 127.0.0.1 to loopback in /etc/hosts as well as confirming that the hosts file took precedence over DNS queries in /etc/nsswitch.conf
This is rather OS-specific. What particular operating system are these instructions valid for?
Yes it is. I started the question with "On a Solaris machine" but should have peppered that in a few more places for clarity.