Apache Error – (13)Permission Denied: Make_sock

By | February 13, 2015

ApacheI ran into an error two years ago and I’m finally getting around to sharing the error and solution.  Another system administrator had installed an Apache web server on one of my AIX boxes and I wanted to fire it up and begin development.  Here is what happened:

$ ./apachectl start

(13)Permission denied: make_sock: could not bind to address [::]:80

(13)Permission denied: make_sock: could not bind to address 0.0.0.0:80

no listening sockets available, shutting down

Unable to open logs

 A Bing search (trying to wean myself off of Google) quickly uncovered the issue. In Unix / Linux, only privileged users (primarily root) are allow to bind the ports between 1 to 1024.  My Apache web server was configured to run on the default http port of 80, so my user ID did not have permission to start the web server. I do have sudo privileges however, so it was easy enough to resolve this issue:

$ sudo ./apachectl start

Now I’m up and running!  But there is another way around this. I can edit the httpd.conf configuration file and edit the Listen attribute to specify a port above 1024:

# Listen: Allows you to bind the web server to specific IP addresses
# and/or ports, in addition to the default. See also the <VirtualHost>
# directive.
#
# Change this to Listen on specific IP addresses as shown below to
# prevent the web server from accepting connections on all interfaces
# (0.0.0.0)
#
# Change this to "Listen 0.0.0.0:port" to restrict the server to
# IPv4.
#
#Listen 12.34.56.78:80
Listen 80

If I were to change the configuration, I would probably assign 8080 because it typically is not used by any other processes and it is easy to remember like the default http port number.

Leave a Reply

Your email address will not be published. Required fields are marked *