¿Apache no se vincula al puerto 80?

¿Apache no se vincula al puerto 80?

Tengo problemas con Apache. Acabo de instalar Centos y quiero crear mi propio servidor web. Estoy siguiendo las instrucciones de "el servidor perfecto para centos 7.2" y encontré este error en mi máquina

[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.

Esta es una muestra de mi archivo vhost. ingrese la descripción de la imagen aquí

¿Alguien puede ayudarme a resolver esto?

corriendo sudo netstat -nap | grep :80regresa

[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

ahora ejecutando el mismo comando después de apagar Firefox

[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   -                   

Ahora al ejecutar este comando nuevamente systemctl status httpd.servicesigo encontrando el mismo 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.

El problema todavía me impide iniciar

El comando en ejecución nmap 192.168.0.1regresa

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

¿Por qué no aparece el puerto 80 o el puerto 443?

Respuesta1

Ya estás ejecutando algo en el puerto 80. Este comando lo identificará por ti.

sudo netstat -nap | grep ':80 .*LISTEN'

Respuesta2

Yo diría que use nmap para ver qué servicios se están ejecutando y en qué puerto. Un resultado de nmap se parece a esto...

$ 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

Si algo que no sea http usa el puerto 80, puede cambiar la configuración de Apache y apuntarla a un puerto diferente o cambiar el servicio que usa el puerto 80 a un puerto diferente.Aquí hay una guía para instalar nmap.

Respuesta3

Primero debes usar el comando: netstat -natup |grep 80 debes informarnos qué servicio se está ejecutando, si otro servicio usa el puerto 80, debes eliminarlo.

Si de esta manera no se puede solucionar el problema, puede verificar el permiso de httpd.conf, debe verificar si tiene el comando: listen [::]:80

porque podemos saber el error en su syslog (98)Address already in use: AH00072: make_sock: could not bind to address [::]:80

En algún momento, este problema es causado por ipv6, por lo que debes agregar el comando en tu configuración. listen [::]:80 ipv6only=off default_server;

entonces puedes reiniciar el servicio httpd

información relacionada