4

I am having issues with Apache. I just installed Centos and waant to create a webserver of my own. I am following the directions of "the perfect server for centos 7.2" and came upon this error on my machine

[root@server01 /]# sudo systemctl start httpd
Job for httpd.service failed because the control process exited with error code. See "systemctl status httpd.service" and "journalctl -xe" for details.

[root@server01 /]# systemctl status httpd.service
● httpd.service - The Apache HTTP Server
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)
   Active: failed (Result: exit-code) since Wed 2016-11-02 14:04:03 PDT; 14s ago
     Docs: man:httpd(8)
           man:apachectl(8)
  Process: 30113 ExecStop=/bin/kill -WINCH ${MAINPID} (code=exited, status=1/FAILURE)
  Process: 30065 ExecStart=/usr/sbin/httpd $OPTIONS -DFOREGROUND (code=exited, status=1/FAILURE)
 Main PID: 30065 (code=exited, status=1/FAILURE)

Nov 02 14:04:01 server01.tcforwarding.com systemd[1]: Starting The Apache HTTP Server...
Nov 02 14:04:02 server01.tcforwarding.com httpd[30065]: [Wed Nov 02 14:04:02.346089 2016] [alias:warn] [pid 30065] AH00671: The Scri...Alias.
Nov 02 14:04:02 server01.tcforwarding.com httpd[30065]: AH00548: NameVirtualHost has no effect and will be removed in the next relea...nf:356
Nov 02 14:04:02 server01.tcforwarding.com httpd: (98)Address already in use: AH00072: make_sock: could not bind to address [::]:80
Nov 02 14:04:02 server01.tcforwarding.com systemd: httpd.service: main process exited, code=exited, status=1/FAILURE
Nov 02 14:04:02 server01.tcforwarding.com kill: kill: cannot find process ""
Nov 02 14:04:03 server01.tcforwarding.com systemd httpd.service: control process exited, code=exited status=1
Nov 02 14:04:03 server01.tcforwarding.com systemd: Failed to start The Apache HTTP Server.
Nov 02 14:04:03 server01.tcforwarding.com systemd: Unit httpd.service entered failed state.
Nov 02 14:04:03 server01.tcforwarding.com systemd: httpd.service failed.

This is a sample of my vhost file enter image description here

Can someone please help me figure this out?

running sudo netstat -nap | grep :80 returns

[root@server01 /]# sudo netstat -nap | grep :80
tcp        0      0 192.168.0.22:56616      104.16.13.8:80          TIME_WAIT   -                   
tcp        0      0 192.168.0.22:43882      151.101.193.69:80       ESTABLISHED 6833/firefox        
tcp        0      0 192.168.0.22:37556      151.101.129.69:80       ESTABLISHED 6833/firefox        
tcp        0      0 192.168.0.22:37722      151.101.65.69:80        ESTABLISHED 6833/firefox        
tcp        0      0 192.168.0.22:47506      151.101.1.69:80         ESTABLISHED 6833/firefox        
tcp        0      0 192.168.0.22:55722      54.225.161.140:80       ESTABLISHED 6833/firefox        
tcp        0      0 192.168.0.22:40710      107.14.33.34:80         ESTABLISHED 6833/firefox        
tcp        0      0 192.168.0.22:43884      151.101.193.69:80       ESTABLISHED 6833/firefox        
tcp        0      0 192.168.0.22:39374      50.16.185.14:80         ESTABLISHED 6833/firefox        
tcp        0      0 192.168.0.22:57408      104.16.12.8:80          ESTABLISHED 6833/firefox        
tcp6       0      0 2605:e000:9290:cf:57260 2607:f8b0:4007:80c::443 ESTABLISHED 6833/firefox        
tcp6       0      0 2605:e000:9290:cf:42280 2607:f8b0:4007:801:::80 ESTABLISHED 6833/firefox        
tcp6       0      0 2605:e000:9290:cf:35994 2607:f8b0:4007:80c::443 ESTABLISHED 6833/firefox        
tcp6       0      0 2605:e000:9290:cf:42210 2607:f8b0:4007:80b:::80 ESTABLISHED 6833/firefox

now running the same command after shutting firefox down

[root@server01 /]# sudo netstat -nap | grep :80
tcp        0      0 192.168.0.22:39514      151.101.129.69:80       TIME_WAIT   -                   
tcp        0      0 192.168.0.22:39516      151.101.129.69:80       TIME_WAIT   -                   
tcp        0      0 192.168.0.22:57042      54.243.224.230:80       TIME_WAIT   -                   
tcp        0      0 192.168.0.22:59396      104.16.12.8:80          TIME_WAIT   -                   
tcp        0      0 192.168.0.22:39734      151.101.65.69:80        TIME_WAIT   -                   
tcp        0      0 192.168.0.22:58596      104.16.13.8:80          TIME_WAIT   -                   
tcp        0      0 192.168.0.22:39510      151.101.129.69:80       TIME_WAIT   -                   
tcp        0      0 192.168.0.22:37124      96.6.122.178:80         TIME_WAIT   -                   
tcp        0      0 192.168.0.22:39696      151.101.65.69:80        TIME_WAIT   -                   
tcp        0      0 192.168.0.22:57710      54.225.161.140:80       TIME_WAIT   -                   
tcp        0      0 192.168.0.22:47790      64.95.32.61:80          TIME_WAIT   -                   
tcp6       0      0 2605:e000:9290:cf:33722 2607:f8b0:4007:80b::443 TIME_WAIT   -                   
tcp6       0      0 2605:e000:9290:cf:53536 2607:f8b0:4007:801::443 TIME_WAIT   -                   
tcp6       0      0 2605:e000:9290:cf:58196 2607:f8b0:4007:806:::80 TIME_WAIT   -                   
tcp6       0      0 2605:e000:9290:cf:51876 2607:f8b0:4007:800::443 TIME_WAIT   -                   

now running this command again systemctl status httpd.service I still encounter the same error

[root@server01 /]# systemctl status httpd.service
● httpd.service - The Apache HTTP Server
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)
   Active: failed (Result: exit-code) since Wed 2016-11-02 20:34:28 PDT; 9s ago
     Docs: man:httpd(8)
       man:apachectl(8)
  Process: 17357 ExecStop=/bin/kill -WINCH ${MAINPID} (code=exited, status=1/FAILURE)
  Process: 17343 ExecStart=/usr/sbin/httpd $OPTIONS -DFOREGROUND (code=exited, status=1/FAILURE)
 Main PID: 17343 (code=exited, status=1/FAILURE)

Nov 02 20:34:27 server01.tcforwarding.com systemd[1]: Starting The Apache HTTP Server...
Nov 02 20:34:28 server01.tcforwarding.com httpd[17343]: [Wed Nov 02 20:34:28.202720 2016] [alias:warn] [pid 17343] AH00671: The Scr...Alias.
Nov 02 20:34:28 server01.tcforwarding.com httpd[17343]: AH00548: NameVirtualHost has no effect and will be removed in the next rele...nf:356
Nov 02 20:34:28 server01.tcforwarding.com httpd[17343]: (98)Address already in use: AH00072: make_sock: could not bind to address [::]:80
Nov 02 20:34:28 server01.tcforwarding.com systemd[1]: httpd.service: main process exited, code=exited, status=1/FAILURE
Nov 02 20:34:28 server01.tcforwarding.com kill[17357]: kill: cannot find process ""
Nov 02 20:34:28 server01.tcforwarding.com systemd[1]: httpd.service: control process exited, code=exited status=1
Nov 02 20:34:28 server01.tcforwarding.com systemd[1]: Failed to start The Apache HTTP Server.
Nov 02 20:34:28 server01.tcforwarding.com systemd[1]: Unit httpd.service entered failed state.
Nov 02 20:34:28 server01.tcforwarding.com systemd[1]: httpd.service failed.
Hint: Some lines were ellipsized, use -l to show in full.

The problem is still stopping me from start up

Running command nmap 192.168.0.1 returns

Starting Nmap 6.40 ( http://nmap.org ) at 2016-11-06 15:52 PST
Nmap scan report for server01.tcforwarding.com (192.168.0.1)
Host is up (0.000016s latency).
Not shown: 992 closed ports
PORT     STATE SERVICE
21/tcp   open  ftp
25/tcp   open  smtp
53/tcp   open  domain
110/tcp  open  pop3
143/tcp  open  imap
993/tcp  open  imaps
995/tcp  open  pop3s
3306/tcp open  mysql

Nmap done: 1 IP address (1 host up) scanned in 0.15 seconds

Why does port 80 or port 443 not show up at all?

Bryan Lopez
  • 51
  • 1
  • 5
  • 1
    A daemon already uses port 80: "Nov 02 14:04:02 server01.tcforwarding.com httpd: (98)Address already in use: AH00072: make_sock: could not bind to address [::]:80" – Ipor Sircer Nov 02 '16 at 21:33
  • @IporSircer thanks, I know that's the error but the daemon seems to be firefox. but why is this stopping `httpd` from starting up? – Bryan Lopez Nov 03 '16 at 03:24

3 Answers3

3

You're already running something on port 80. This command will identify it for you

sudo netstat -nap | grep ':80 .*LISTEN'
roaima
  • 107,089
  • 14
  • 139
  • 261
  • @roiama I ran the command and what I got were ip addresses and they appear like this [root@server01 /]# sudo netstat -nap | grep :80 tcp 0 0 192.168.0.22:56616 104.16.13.8:80 TIME_WAIT - tcp 0 0 192.168.0.22:43882 151.101.193.69:80 ESTABLISHED 6833/firefox tcp 0 0 192.168.0.22:37556 151.101.129.69:80 ESTABLISHED 6833/firefox tcp 0 0 192.168.0.22:37722 151.101.65.69:80 ESTABLISHED 6833/firefox As you can see, most of them say firefox – Bryan Lopez Nov 03 '16 at 00:30
  • @BryanLopez, do you mean that `httpd` is already running? Then you can't start another instance of it on the same port. Stop the current instance and then you can start your own (new) instance. – roaima Nov 03 '16 at 00:33
  • @roiama 'httpd' is not running. I was following the procedures from here [https://www.howtoforge.com/tutorial/perfect-server-centos-7-2-apache-mysql-php-pureftpd-postfix-dovecot-and-ispconfig/2/#-installing-apache-with-modphp-modfcgiphp-phpfpm] while restarting 'httpd' service I obtained error on command 'systemctl restart httpd.service'. now anytimw I try to restart it spits out the same error I mentioned at first. – Bryan Lopez Nov 03 '16 at 00:38
  • @roiama Here's my edited question – Bryan Lopez Nov 03 '16 at 00:50
  • At this point there's nothing listening on port 80 so you should be good to go. – roaima Nov 03 '16 at 00:52
0

I would say use nmap to see what services are running and on which port. An nmap result looks something like this...

$ nmap 192.168.50.25
...
PORT     STATE SERVICE
22/tcp   open  ssh
25/tcp   open  smtp
80/tcp   open  http   <~ make sure service is http
443/tcp  open  https

If something other than http is using port 80, you can either change the apache config and point it to a different port or change the service that is using port 80 to a different port. Here's a guide to install nmap

0

first you shuold use the command: netstat -natup |grep 80 you should let us konw which service is running,if the port 80 is used by other service ,you must kill it.

if this way can not deal with the problem ,you can check the permission of the httpd.conf,you should check if there has the command: listen [::]:80

because we can know the error in your syslog (98)Address already in use: AH00072: make_sock: could not bind to address [::]:80

sometime this problem is caued by the ipv6,so you should add the command in your conf listen [::]:80 ipv6only=off default_server;

then you can restart the service httpd

  • I ran your instructions and edited `httpd.conf` and added the listen command `Listen [::]:80` as it was originally `Listen 80` and restarted the service httpd. I still recieve the same frustrating error as above. – Bryan Lopez Nov 07 '16 at 00:17