After you launch your VM instances, the Horizon dashboard might be inaccessible and the 404 Not Found error message is displayed. The log for the Apache services would contain the following entry:
Oct 13 16:13:53 Executing start method (" /lib/svc/method/http-apache24 start"). ]
Apache version is 2.4
(125) Address already in use: AH000/2: make_sock: could not bind to address [::]:80
Oct 13 16:13:55 Method "start" exited with status 0. ]
The log indicates that the address cannot bind to port 80 because the port is busy.
Beginning with the Juno version, OpenStack uses Apache 2.4 instead of Apache 2.2 of previous OpenStack versions. Ensure that the correct Apache version is enabled and listening on that port.
To free the port, do the following steps:
Obtain the process ID that is currently listening in on the port.
# netstat -uan -f inet | grep "*.80"
This procedure assumes that the setup is using IPv4 addresses and the processes holding port 80 is listening on all those addresses. If the process is listening for IPv6 traffic, the command might not provide any result.
Based on the process ID, identify the actual process or service. You can use one of the following commands:
# svcs -p | egrep "online|pid http" | ggrep -B1 pid
or
# ps -lf -p pid
If the wrong Apache version is using the port, disable the service.
Enable the correct Apache version for the Juno version.
If the correct Apache version is in maintenance mode, clear the service first before enabling it.
The following example illustrates how to release port 80 and switch to the correct Apache version.
# netstat -uan -f inet | grep "*.80"
*.80 *.* root 5560 httpd 0 0 128000 0 LISTEN
*.8080 *.* webservd 1124 java 0 0 128000 0 LISTEN
*.8009 *.* webservd 1124 java 0 0 128000 0 LISTEN
# svcs -p | egrep "online|5560 http" | ggrep -B1 5560
online Aug_31 svc:/network/http:apache22
Sep_09 5560 httpd
# svcadm disable apache22
# svcadm clear apache24
# svcadm enable apache24