Instalo apache2 en ubuntu 18.04. Esta es una instalación nueva con toda la configuración predeterminada.
Intenté iniciar apache2 pero fallé. Y esto es lo que veo.
# systemctl status apache2.service ● apache2.service - The Apache HTTP Server Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled) Drop-In: /lib/systemd/system/apache2.service.d └─apache2-systemd.conf Active: failed (Result: exit-code) since Wed 2020-03-11 23:17:35 WIB; 13s ago Process: 9151 ExecStart=/usr/sbin/apachectl start (code=exited, status=139) Mar 11 23:17:35 xdn.id systemd[1]: Starting The Apache HTTP Server... Mar 11 23:17:35 xdn.id apachectl[9151]: Segmentation fault Mar 11 23:17:35 xdn.id apachectl[9151]: Action 'start' failed. Mar 11 23:17:35 xdn.id apachectl[9151]: The Apache error log may have more information. Mar 11 23:17:35 xdn.id systemd[1]: apache2.service: Control process exited, code=exited status=139 Mar 11 23:17:35 xdn.id systemd[1]: apache2.service: Failed with result 'exit-code'. Mar 11 23:17:35 xdn.id systemd[1]: Failed to start The Apache HTTP Server.Cuando reviso /var/log/apache2/error.log, está vacío.
¿Qué tiene de malo este error?
El error "status=139" debe tener algo que ver con tener varias versiones conflictivas de PHP habilitadas.
Estoy ejecutando 18.04 y un sitio PHP antiguo que ejecuto solo localmente dejó de funcionar. Supongo que aptitude instaló y habilitó php7.2, posiblemente cuando instalé kubuntu-desktop hace unas semanas.
Independientemente, tenía dos versiones de PHP habilitadas:
$ cd /etc/apache2/ $ l mods-*/php* -rw-r--r-- 1 root root 867 Jun 9 2017 mods-available/php5.6.conf -rw-r--r-- 1 root root 102 Jun 9 2017 mods-available/php5.6.load -rw-r--r-- 1 root root 867 Mar 2 2017 mods-available/php7.0.conf -rw-r--r-- 1 root root 102 Oct 1 2018 mods-available/php7.0.load -rw-r--r-- 1 root root 855 Jul 7 2017 mods-available/php7.1.conf -rw-r--r-- 1 root root 102 Jul 7 2017 mods-available/php7.1.load -rw-r--r-- 1 root root 855 Feb 8 2019 mods-available/php7.2.conf -rw-r--r-- 1 root root 102 Feb 8 2019 mods-available/php7.2.load lrwxrwxrwx 1 root root 29 Jul 1 2017 mods-enabled/php5.6.conf -> ../mods-available/php5.6.conf lrwxrwxrwx 1 root root 29 Jul 1 2017 mods-enabled/php5.6.load -> ../mods-available/php5.6.load lrwxrwxrwx 1 root root 29 May 28 06:05 mods-enabled/php7.2.conf -> ../mods-available/php7.2.conf lrwxrwxrwx 1 root root 29 May 28 06:05 mods-enabled/php7.2.load -> ../mods-available/php7.2.loadEn mi caso, estoy bien con el uso de php5.6, porque el sitio no está en línea y es solo para mi uso local. Así que deshabilitar 7.2 funcionó:
sudo a2dismod php7.2Ahora mis mods habilitados para php son menos confusos para apache3:
$ l mods-*/php* -rw-r--r-- 1 root root 867 Jun 9 2017 mods-available/php5.6.conf -rw-r--r-- 1 root root 102 Jun 9 2017 mods-available/php5.6.load -rw-r--r-- 1 root root 867 Mar 2 2017 mods-available/php7.0.conf -rw-r--r-- 1 root root 102 Oct 1 2018 mods-available/php7.0.load -rw-r--r-- 1 root root 855 Jul 7 2017 mods-available/php7.1.conf -rw-r--r-- 1 root root 102 Jul 7 2017 mods-available/php7.1.load -rw-r--r-- 1 root root 855 Feb 8 2019 mods-available/php7.2.conf -rw-r--r-- 1 root root 102 Feb 8 2019 mods-available/php7.2.load lrwxrwxrwx 1 root root 29 Jul 1 2017 mods-enabled/php5.6.conf -> ../mods-available/php5.6.conf lrwxrwxrwx 1 root root 29 Jul 1 2017 mods-enabled/php5.6.load -> ../mods-available/php5.6.loadNaturalmente , para un sitio en vivo, uno querría deshabilitar php-5.6 y dejar habilitado php7.2 , porque debería ejecutar la versión más nueva en la vida real.
sudo a2dismod php5.6 sudo a2enmod php7.2Entonces los mods de php deberían verse así:
$ l mods-*/php* -rw-r--r-- 1 root root 867 Jun 9 2017 mods-available/php5.6.conf -rw-r--r-- 1 root root 102 Jun 9 2017 mods-available/php5.6.load -rw-r--r-- 1 root root 867 Mar 2 2017 mods-available/php7.0.conf -rw-r--r-- 1 root root 102 Oct 1 2018 mods-available/php7.0.load -rw-r--r-- 1 root root 855 Jul 7 2017 mods-available/php7.1.conf -rw-r--r-- 1 root root 102 Jul 7 2017 mods-available/php7.1.load -rw-r--r-- 1 root root 855 Feb 8 2019 mods-available/php7.2.conf -rw-r--r-- 1 root root 102 Feb 8 2019 mods-available/php7.2.load lrwxrwxrwx 1 root root 29 May 29 17:43 mods-enabled/php7.2.conf -> ../mods-available/php7.2.conf lrwxrwxrwx 1 root root 29 May 29 17:43 mods-enabled/php7.2.load -> ../mods-available/php7.2.load¡No olvide reiniciar el servidor!
systemctl restart apache2¡Gracias al comentario de Pavel por inspirar esta línea de investigación!
Recibí este error y lo solucioné habilitando PHP versión 8.0 (estable actual) y deshabilitando PHP versión 7.4 (antiguo) en mi ubuntu 20.04 con estos comandos:
sudo a2dismod php7.4 sudo a2enmod php8.0 sudo service apache2 restartDespués de hacer esto, verifique el estado de su apache:
sudo systemctl status apache2.service Tiene que ser green y debe mostrarte active (running) .
NOTA: Puede hacer esto con cualquier versión de PHP que tenga y desee cambiar.